# Linker fragment file for common FreeRTOS files (i.e., both "port_common.c" and "esp_additions/..." # Flash function placements are listed per source file, in the order that they appear in the source file. [mapping:freertos_common] archive: libfreertos.a entries: # ------------------------------------------------------------------------------------------------------------------ # esp_additions/private_include/freertos_tasks_c_additions.h # Placement Rules (FreeRTOS API Additions): # - Default: Place all functions in internal RAM. # - CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH: Place functions in flash if they are never called from an ISR # context (directly or indirectly). # Placement Rules (Task Snapshot): # - Default: Place all functions in internal RAM. # - CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH: Place functions in flash # - 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 # ------------------------------------------------------------------------------------------------------------------ if FREERTOS_PLACE_FUNCTIONS_INTO_FLASH = y: # Kernel Control if FREERTOS_SMP = n && FREERTOS_UNICORE = n: tasks:prvTakeKernelLock (default) tasks:prvReleaseKernelLock (default) # Task Creation tasks:xTaskCreatePinnedToCore (default) tasks:xTaskCreateStaticPinnedToCore (default) # Task Utilities tasks:xTaskGetCoreID (default) tasks:xTaskGetIdleTaskHandleForCore (default) tasks:xTaskGetCurrentTaskHandleForCore (default) if FREERTOS_SMP = n && FREERTOS_GENERATE_RUN_TIME_STATS = y: tasks:ulTaskGetIdleRunTimeCounterForCore (default) tasks:ulTaskGetIdleRunTimePercentForCore (default) tasks:pxTaskGetStackStart (default) tasks:prvTaskPriorityRaise (default) tasks:prvTaskPriorityRestore (default) # TLSP Deletion Callbacks if FREERTOS_TLSP_DELETION_CALLBACKS = y: tasks:vTaskSetThreadLocalStoragePointerAndDelCallback (default) # Task Snapshot if FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH = y: tasks:pxGetNextTaskList (default) tasks:pxTaskGetNext (default) tasks:uxTaskGetSnapshotAll (default) # ------------------------------------------------------------------------------------------------------------------ # freertos_compatibility.c # Placement Rules: Functions always in flash as they are never called from an ISR # ------------------------------------------------------------------------------------------------------------------ freertos_compatibility (default) # ------------------------------------------------------------------------------------------------------------------ # idf_additions.c # Placement Rules: Functions always in flash as they are never called from an ISR # ------------------------------------------------------------------------------------------------------------------ idf_additions (default) # ------------------------------------------------------------------------------------------------------------------ # app_startup.c # Placement Rules: Functions always in flash as they are never called from an ISR # ------------------------------------------------------------------------------------------------------------------ app_startup (default) # Place functions (but not Data and BSS) to flash # ------------------------------------------------------------------------------------------------------------------ # heap_idf.c # Placement Rules: # - Default: Place all functions in internal RAM. # - CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH: Place functions in flash if they are never called from an ISR # context (directly or indirectly). # ------------------------------------------------------------------------------------------------------------------ heap_idf (noflash_text) # Default all functions to internal RAM if FREERTOS_PLACE_FUNCTIONS_INTO_FLASH = y: heap_idf:pvPortMalloc (default) heap_idf:vPortFree (default) heap_idf:xPortGetFreeHeapSize (default) heap_idf:xPortGetMinimumEverFreeHeapSize (default) if FREERTOS_SMP = n: heap_idf:xPortCheckValidTCBMem (default) heap_idf:xPortcheckValidStackMem (default) # ------------------------------------------------------------------------------------------------------------------ # port_common.c # Placement Rules: # - Default: Place all functions in internal RAM. # - CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH: Place functions in flash if they are never called from an ISR # context (directly or indirectly). # ------------------------------------------------------------------------------------------------------------------ port_common (noflash_text) # Default all functions to internal RAM if FREERTOS_PLACE_FUNCTIONS_INTO_FLASH = y: port_common:vApplicationGetIdleTaskMemory (default) port_common:vApplicationGetTimerTaskMemory (default) # ------------------------------------------------------------------------------------------------------------------ # port_systick.c # - Default: Place all functions in internal RAM. # - CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH: Place functions in flash if they are never called from an ISR # context (directly or indirectly). # ------------------------------------------------------------------------------------------------------------------ port_systick(noflash_text) if FREERTOS_PLACE_FUNCTIONS_INTO_FLASH = y: if FREERTOS_SYSTICK_USES_SYSTIMER = y: port_systick:vSystimerSetup (default) port_systick:vPortSetupTimer (default)