‘configMAX_SYSCALL_INTERRUPT_PRIORITY’ undeclared (first use in this function) portmacro.h

Hello; My portmacro.h file include this function ~~~ Description Resource Path Location Type ‘configMAXSYSCALLINTERRUPT_PRIORITY’ undeclared (first use in this function) portmacro.h /osiloskop/src line 139 C/C++ Problem ~~~ On the other hand my freertosconfig.h does not include this function FreertosConfig.h is include this: ~~~

define configMAXAPICALLINTERRUPTPRIORITY 18

define configCPUCLOCKHZ 100000000UL

define configUSEPORTOPTIMISEDTASKSELECTION 1

define configUSETICKLESSIDLE 0

define configTICKRATEHZ ( ( TickType_t ) 1000 )

define configPERIPHERALCLOCKHZ ( 33333000UL )

define configUSE_PREEMPTION 1

define configUSEIDLEHOOK 1

define configUSETICKHOOK 1

define configMAX_PRIORITIES ( 7 )

define configMINIMALSTACKSIZE ( ( unsigned short ) 200 )

define configTOTALHEAPSIZE ( 80 * 1024 )

define configMAXTASKNAME_LEN ( 10 )

define configUSETRACEFACILITY 1

define configUSE16BIT_TICKS 0

define configIDLESHOULDYIELD 1

define configUSE_MUTEXES 1

define configQUEUEREGISTRYSIZE 8

define configCHECKFORSTACK_OVERFLOW 2

define configUSERECURSIVEMUTEXES 1

define configUSEMALLOCFAILED_HOOK 1

define configUSEAPPLICATIONTASK_TAG 0

define configUSECOUNTINGSEMAPHORES 1

define configUSEQUEUESETS 1

/* Co-routine definitions. */

define configUSECOROUTINES 0

define configMAXCOROUTINE_PRIORITIES ( 2 )

/* Software timer definitions. */

define configUSE_TIMERS 1

define configTIMERTASKPRIORITY ( configMAX_PRIORITIES – 1 )

define configTIMERQUEUELENGTH 5

define configTIMERTASKSTACKDEPTH ( configMINIMALSTACK_SIZE * 2 )

/* Set the following definitions to 1 to include the API function, or zero to exclude the API function. */

define INCLUDE_vTaskPrioritySet 1

define INCLUDE_uxTaskPriorityGet 1

define INCLUDE_vTaskDelete 1

define INCLUDE_vTaskCleanUpResources 1

define INCLUDE_vTaskSuspend 1

define INCLUDE_vTaskDelayUntil 1

define INCLUDE_vTaskDelay 1

define INCLUDE_xTimerPendFunctionCall 1

define INCLUDE_eTaskGetState 1

/* This demo makes use of one or more example stats formatting functions. These format the raw data provided by the uxTaskGetSystemState() function in to human readable ASCII form. See the notes in the implementation of vTaskList() within FreeRTOS/Source/tasks.c for limitations. */

define configUSESTATSFORMATTING_FUNCTIONS 1

/* The private watchdog is used to generate run time stats. */

include “xscuwdt.h”

extern XScuWdt xWatchDogInstance; extern void vInitialiseTimerForRunTimeStats( void );

define configGENERATERUNTIME_STATS 1

define portCONFIGURETIMERFORRUNTIME_STATS() vInitialiseTimerForRunTimeStats()

define portGETRUNTIMECOUNTERVALUE() ( ( 0xffffffffUL – XScuWdtReadReg( xWatchDogInstance.Config.BaseAddr, XSCUWDTCOUNTER_OFFSET ) ) >> 1 )

/* The size of the global output buffer that is available for use when there are multiple command interpreters running at once (for example, one on a UART and one on TCP/IP). This is done to prevent an output buffer being defined by each implementation – which would waste RAM. In this case, there is only one command interpreter running. */

define configCOMMANDINTMAXOUTPUTSIZE 2096

/* Normal assert() semantics without relying on the provision of an assert.h header file. */ void vAssertCalled( const char * pcFile, unsigned long ulLine );

define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled( FILE, LINE );

/* If configTASKRETURNADDRESS is not defined then a task that attempts to return from its implementing function will end up in a “task exit error” function – which contains a call to configASSERT(). However this can give GCC some problems when it tries to unwind the stack, as the exit error function has nothing to return to. To avoid this define configTASKRETURNADDRESS to 0. */

define configTASKRETURNADDRESS NULL

/****** Hardware specific settings. *******************************************/ /* * The application must provide a function that configures a peripheral to * create the FreeRTOS tick interrupt, then define configSETUPTICKINTERRUPT() * in FreeRTOSConfig.h to call the function. This file contains a function * that is suitable for use on the Zynq MPU. FreeRTOSTickHandler() must * be installed as the peripheral’s interrupt handler. */ void vConfigureTickInterrupt( void );

define configSETUPTICKINTERRUPT() vConfigureTickInterrupt()

void vClearTickInterrupt( void );

define configCLEARTICKINTERRUPT() vClearTickInterrupt()

/* The following constant describe the hardware, and are correct for the Zynq MPU. */

define configINTERRUPTCONTROLLERBASEADDRESS ( XPARPS7SCUGIC0DISTBASEADDR )

define configINTERRUPTCONTROLLERCPUINTERFACEOFFSET ( -0xf00 )

define configUNIQUEINTERRUPTPRIORITIES 32

/****** Network configuration settings – only used when the lwIP example is built. See the page that documents this demo on the http://www.FreeRTOS.org website for more information. ***********************************************/ /* The priority for the task that unblocked by the MAC interrupt to process received packets. */

define configMACINPUTTASKPRIORITY ( configMAXPRIORITIES – 1 )

/* The priority of the task that runs the lwIP stack. */

define configLWIPTASKPRIORITY ( configMAX_PRIORITIES – 2 )

/* The priority of the task that uses lwIP sockets to provide a simple command line interface. */

define configCLITASKPRIORITY ( tskIDLE_PRIORITY )

/* MAC address configuration. */

define configMAC_ADDR0 0x00

define configMAC_ADDR1 0x13

define configMAC_ADDR2 0x14

define configMAC_ADDR3 0x15

define configMAC_ADDR4 0x15

define configMAC_ADDR5 0x16

/* IP address configuration. */

define configIP_ADDR0 172

define configIP_ADDR1 25

define configIP_ADDR2 218

define configIP_ADDR3 200

/* Netmask configuration. */

define configNET_MASK0 255

define configNET_MASK1 255

define configNET_MASK2 255

define configNET_MASK3 0

endif /* FREERTOSCONFIGH */

~~~ so I have this error: My file version are same (8.2.1)

‘configMAX_SYSCALL_INTERRUPT_PRIORITY’ undeclared (first use in this function) portmacro.h

It is right then, it is not defined in your FreeRTOSConfig.h. Any macro that is prefixed ‘config’ is a user editable macro that can be placed in the FreeRTOSConfig.h. If a macro is missing from FreeRTOSConfig.h then in many cases it will be defaulted, but not in the case of configMAXSYSCALLINTERRUPT_PRIORITY because it is very much dependent on the chip you are using. Did you try Googling configMAXSYSCALLINTERRUPTPRIORITY? That is normally the first thing to be done. When I try this the first link I get is this: http://www.freertos.org/a00110.html then searching this page for configMAXSYSCALLINTERRUPTPRIORITY I find this information: http://www.freertos.org/a00110.html#kernel_priority