mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
09690906e7
This commit refactors the OS startup functions as follows: - Moved the OS/app startup functions listed below to "app_startup.c". Their implementations are now common to all ports (RISC-V and Xtensa) of all FreeRTOS implementations (IDF and Amazon SMP). - esp_startup_start_app() - esp_startup_start_app_other_cores() - Removed esp_startup_start_app_common() as app startup functions are now already common to all ports. - Added extra logs to "main_task" to help with user debugging Note: Increased startup delay on "unity_task". The "unity_run_menu()" is non blocking, thus if the main task or other startup tasks have not been freed by the time "unity_run_menu()" is run, those tasks will be freed the next time "unity_task" blocks. This could cause some tests to have a memory leak, thus the "unity_task" startup delay has increased.
142 lines
6.5 KiB
Plaintext
142 lines
6.5 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: vPortReleaseTaskMPUSettings (default)
|
|
tasks: xTaskCreateRestricted (default)
|
|
port: vPortStoreTaskMPUSettings (default)
|
|
tasks: vTaskAllocateMPURegions (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)
|