kopia lustrzana https://github.com/espressif/esp-idf
106 wiersze
6.0 KiB
Plaintext
106 wiersze
6.0 KiB
Plaintext
# 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:pxGetTaskListByIndex (default)
|
|
tasks:xTaskGetNext (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)
|
|
if FREERTOS_SMP = y && FREERTOS_UNICORE = n:
|
|
port_common:vApplicationGetPassiveIdleTaskMemory (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)
|