mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
c318c89453
This commit removes the dependency on portUSING_MPU_WRAPPERS on the Xtensa port of IDF FreeRTOS. This dependency was added due to a hack implemented in the upstream port that required the usage of the "xMPUSettings" member of the TCB. The "xMPUSettings" would be used as a pointer to the task's coprocessor save area on the stack, even though FreeRTOS MPU support was not available. The hack has now been removed, and the CPSA pointer is now calculated using a combination of constant offsets values and the pxEndOfStack member of the TCB. Note: This impelemtation was copied from the Xtensa port of Amazon SMP FreeRTOS.
139 lines
6.3 KiB
Plaintext
139 lines
6.3 KiB
Plaintext
# Linker fragment file for IDF FreeRTOS (i.e., CONFIG_FREERTOS_SMP=n)
|
|
[mapping:freertos]
|
|
archive: libfreertos.a
|
|
entries:
|
|
* (noflash_text)
|
|
if FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH = y:
|
|
# vTaskGetSnapshot is omitted on purpose: as it is used to by the Task Watchdog (TWDT) interrupt
|
|
# handler, we want to always keep it in IRAM
|
|
tasks: pxTaskGetNext (default)
|
|
tasks: uxTaskGetSnapshotAll (default)
|
|
tasks: pxGetNextTaskList (default)
|
|
if FREERTOS_PLACE_FUNCTIONS_INTO_FLASH = y:
|
|
port: pxPortInitialiseStack (default)
|
|
port: xPortStartScheduler (default)
|
|
if IDF_TARGET_ESP32 = y || IDF_TARGET_ESP32S3 = y :
|
|
port: vPortCleanUpCoprocArea (default)
|
|
tasks: prvTaskCheckFreeStackSpace (default)
|
|
tasks: prvInitialiseNewTask (default)
|
|
tasks: prvInitialiseTaskLists (default)
|
|
tasks: prvDeleteTCB (default)
|
|
tasks: prvCheckTasksWaitingTermination (default)
|
|
tasks: prvIdleTask (default)
|
|
tasks: prvAddNewTaskToReadyList (default)
|
|
tasks: xTaskCreatePinnedToCore (default)
|
|
tasks: xTaskCreateStaticPinnedToCore (default)
|
|
tasks: vTaskResume (default)
|
|
tasks: vTaskStartScheduler (default)
|
|
tasks: vTaskSuspendAll (default)
|
|
tasks: uxTaskGetNumberOfTasks (default)
|
|
tasks: xTaskGetIdleTaskHandle (default)
|
|
tasks: vTaskRemoveFromUnorderedEventList (default)
|
|
tasks: uxTaskPriorityGet (default)
|
|
tasks: vTaskPrioritySet (default)
|
|
tasks: prvTaskPriorityRaise (default)
|
|
tasks: prvTaskPriorityRestore (default)
|
|
tasks: vTaskSetThreadLocalStoragePointerAndDelCallback (default)
|
|
tasks: pvTaskGetThreadLocalStoragePointer (default)
|
|
tasks: xTaskGetCurrentTaskHandleForCPU (default)
|
|
tasks: vTaskDelete (default)
|
|
tasks: vTaskDelayUntil (default)
|
|
tasks: xTaskDelayUntil (default)
|
|
tasks: vTaskDelay (default)
|
|
tasks: vTaskSuspend (default)
|
|
tasks: xTaskResumeAll (default)
|
|
tasks: uxTaskResetEventItemValue (default)
|
|
tasks: ulTaskNotifyTake (default)
|
|
tasks: ulTaskGenericNotifyTake (default)
|
|
tasks: xTaskNotifyWait (default)
|
|
tasks: xTaskGenericNotifyWait (default)
|
|
tasks: xTaskGenericNotify (default)
|
|
tasks: eTaskGetState (default)
|
|
tasks: pxTaskGetStackStart (default)
|
|
tasks: uxTaskGetStackHighWaterMark (default)
|
|
tasks: vTaskEndScheduler (default)
|
|
tasks: vTaskMissedYield (default)
|
|
tasks: vTaskSetThreadLocalStoragePointer (default)
|
|
tasks: xTaskGetAffinity (default)
|
|
tasks: xTaskGetIdleTaskHandleForCPU (default)
|
|
if FREERTOS_USE_TRACE_FACILITY = y:
|
|
tasks: uxTaskGetSystemState (default)
|
|
tasks: uxTaskGetTaskNumber (default)
|
|
tasks: vTaskSetTaskNumber (default)
|
|
if FREERTOS_USE_STATS_FORMATTING_FUNCTIONS = y:
|
|
tasks: vTaskList (default)
|
|
if FREERTOS_GENERATE_RUN_TIME_STATS = y:
|
|
tasks: vTaskGetRunTimeStats (default)
|
|
timers: prvInsertTimerInActiveList (default)
|
|
timers: prvCheckForValidListAndQueue (default)
|
|
timers: prvInitialiseNewTimer (default)
|
|
timers: prvTimerTask (default)
|
|
timers: prvSwitchTimerLists (default)
|
|
timers: prvSampleTimeNow (default)
|
|
timers: prvProcessExpiredTimer (default)
|
|
timers: prvProcessTimerOrBlockTask (default)
|
|
timers: prvProcessReceivedCommands (default)
|
|
timers: xTimerCreateTimerTask (default)
|
|
timers: xTimerCreate (default)
|
|
timers: xTimerCreateStatic (default)
|
|
timers: xTimerGenericCommand (default)
|
|
timers: xTimerGetPeriod (default)
|
|
timers: xTimerGetExpiryTime (default)
|
|
timers: xTimerIsTimerActive (default)
|
|
timers: pvTimerGetTimerID (default)
|
|
timers: vTimerSetTimerID (default)
|
|
timers: prvGetNextExpireTime (default)
|
|
if FREERTOS_USE_TRACE_FACILITY = y:
|
|
timers: uxTimerGetTimerNumber (default)
|
|
timers: vTimerSetTimerNumber (default)
|
|
event_groups: prvTestWaitCondition (default)
|
|
event_groups: xEventGroupCreate (default)
|
|
event_groups: xEventGroupCreateStatic (default)
|
|
event_groups: xEventGroupWaitBits (default)
|
|
event_groups: xEventGroupClearBits (default)
|
|
event_groups: xEventGroupSetBits (default)
|
|
event_groups: xEventGroupSync (default)
|
|
event_groups: vEventGroupDelete (default)
|
|
if FREERTOS_UNICORE = y:
|
|
queue: prvUnlockQueue (default)
|
|
queue: prvIsQueueEmpty (default)
|
|
queue: prvIsQueueFull (default)
|
|
queue: prvInitialiseNewQueue (default)
|
|
queue: prvInitialiseMutex (default)
|
|
queue: uxQueueSpacesAvailable (default)
|
|
queue: xQueueGenericReset (default)
|
|
queue: xQueueGenericCreate (default)
|
|
queue: xQueueGetMutexHolder (default)
|
|
queue: xQueueCreateCountingSemaphore (default)
|
|
queue: xQueueGenericSend (default)
|
|
queue: xQueueCreateMutex (default)
|
|
queue: xQueueGiveMutexRecursive (default)
|
|
queue: xQueueTakeMutexRecursive (default)
|
|
queue: uxQueueMessagesWaiting (default)
|
|
queue: vQueueDelete (default)
|
|
queue: vQueueWaitForMessageRestricted (default)
|
|
queue: xQueueCreateSet (default)
|
|
queue: xQueueAddToSet (default)
|
|
queue: xQueueRemoveFromSet (default)
|
|
queue: xQueueSelectFromSet (default)
|
|
queue: xQueueGenericCreateStatic (default)
|
|
queue: xQueueCreateMutexStatic (default)
|
|
queue: xQueueCreateCountingSemaphoreStatic (default)
|
|
if FREERTOS_QUEUE_REGISTRY_SIZE > 0:
|
|
queue: pcQueueGetName (default)
|
|
queue: vQueueAddToRegistry (default)
|
|
queue: vQueueUnregisterQueue (default)
|
|
if FREERTOS_USE_TRACE_FACILITY = y:
|
|
queue: uxQueueGetQueueNumber (default)
|
|
queue: vQueueSetQueueNumber (default)
|
|
queue: ucQueueGetQueueType (default)
|
|
# app_startup.c
|
|
app_startup: esp_startup_start_app (default)
|
|
if CONFIG_FREERTOS_UNICORE = n:
|
|
app_startup: esp_startup_start_app_other_cores (default)
|
|
app_startup: other_cpu_startup_idle_hook_cb (default)
|
|
app_startup: main_task (default)
|
|
# port_common.c Functions
|
|
port_common:vApplicationGetIdleTaskMemory (default)
|
|
port_common:vApplicationGetTimerTaskMemory (default)
|