linker_smp.lf 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. # Linker fragment file for SMP FreeRTOS (i.e., CONFIG_FREERTOS_SMP=y)
  2. [mapping:freertos]
  3. archive: libfreertos.a
  4. entries:
  5. # Default all FreeRTOS functions to IRAM
  6. * (noflash_text)
  7. # Todo: Check if flash placements are missing or can be further optimized IDF-5259
  8. if FREERTOS_PLACE_FUNCTIONS_INTO_FLASH = y:
  9. # event_groups.c
  10. event_groups: xEventGroupCreateStatic (default)
  11. event_groups: xEventGroupCreate (default)
  12. event_groups: xEventGroupSync (default)
  13. event_groups: xEventGroupWaitBits (default)
  14. event_groups: xEventGroupClearBits (default)
  15. event_groups: xEventGroupSetBits (default)
  16. event_groups: vEventGroupDelete (default)
  17. event_groups: vEventGroupSetBitsCallback (default)
  18. event_groups: vEventGroupClearBitsCallback (default)
  19. event_groups: prvTestWaitCondition (default)
  20. if FREERTOS_USE_TRACE_FACILITY = y:
  21. event_groups: uxEventGroupGetNumber (default)
  22. event_groups: vEventGroupSetNumber (default)
  23. # list.c
  24. # queue.c
  25. queue: xQueueGenericReset (default)
  26. queue: xQueueGenericCreateStatic (default)
  27. queue: xQueueGenericCreate (default)
  28. queue: prvInitialiseNewQueue (default)
  29. queue: prvInitialiseMutex (default)
  30. queue: xQueueCreateMutex (default)
  31. queue: xQueueCreateMutexStatic (default)
  32. queue: xQueueGetMutexHolder (default)
  33. queue: xQueueGiveMutexRecursive (default)
  34. queue: xQueueTakeMutexRecursive (default)
  35. queue: xQueueCreateCountingSemaphoreStatic (default)
  36. queue: xQueueCreateCountingSemaphore (default)
  37. queue: xQueueGenericSend (default)
  38. queue: xQueueReceive (default)
  39. queue: xQueueSemaphoreTake (default)
  40. queue: xQueuePeek (default)
  41. queue: uxQueueMessagesWaiting (default)
  42. queue: uxQueueSpacesAvailable (default)
  43. queue: vQueueDelete (default)
  44. if FREERTOS_USE_TRACE_FACILITY = y:
  45. queue: uxQueueGetQueueNumber (default)
  46. queue: vQueueSetQueueNumber (default)
  47. queue: ucQueueGetQueueType (default)
  48. queue: prvGetDisinheritPriorityAfterTimeout (default)
  49. queue: prvUnlockQueue (default)
  50. queue: prvIsQueueEmpty (default)
  51. queue: prvIsQueueFull (default)
  52. if FREERTOS_QUEUE_REGISTRY_SIZE > 0:
  53. queue: vQueueAddToRegistry (default)
  54. queue: pcQueueGetName (default)
  55. queue: vQueueUnregisterQueue (default)
  56. queue: vQueueWaitForMessageRestricted (default)
  57. queue: xQueueCreateSet (default)
  58. queue: xQueueAddToSet (default)
  59. queue: xQueueRemoveFromSet (default)
  60. queue: xQueueSelectFromSet (default)
  61. # stream_buffer.c
  62. # tasks.c: Vanilla
  63. tasks: xTaskCreateStatic (default)
  64. tasks: xTaskCreate (default)
  65. if FREERTOS_UNICORE = n:
  66. tasks: xTaskCreateStaticAffinitySet (default)
  67. tasks: xTaskCreateAffinitySet (default)
  68. tasks: vTaskCoreAffinitySet (default)
  69. tasks: vTaskCoreAffinityGet (default)
  70. tasks: prvMinimalIdleTask (default)
  71. tasks: prvInitialiseNewTask (default)
  72. tasks: prvAddNewTaskToReadyList (default)
  73. tasks: vTaskDelete (default)
  74. tasks: xTaskDelayUntil (default)
  75. tasks: vTaskDelay (default)
  76. tasks: eTaskGetState (default)
  77. tasks: uxTaskPriorityGet (default)
  78. tasks: vTaskPrioritySet (default)
  79. tasks: vTaskSuspend (default)
  80. tasks: vTaskResume (default)
  81. tasks: prvCreateIdleTasks (default)
  82. tasks: vTaskStartScheduler (default)
  83. tasks: vTaskEndScheduler (default)
  84. tasks: vTaskSuspendAll (default)
  85. #Todo: prvGetExpectedIdleTime
  86. tasks: xTaskResumeAll (default)
  87. tasks: uxTaskGetNumberOfTasks (default)
  88. tasks: pcTaskGetName (default)
  89. tasks: prvSearchForNameWithinSingleList (default)
  90. tasks: xTaskGetHandle (default)
  91. if FREERTOS_USE_TRACE_FACILITY = y:
  92. tasks: uxTaskGetSystemState (default)
  93. tasks: uxTaskGetTaskNumber (default)
  94. tasks: vTaskSetTaskNumber (default)
  95. tasks: vTaskGetInfo (default)
  96. tasks: prvListTasksWithinSingleList (default)
  97. tasks: prvTaskCheckFreeStackSpace (default)
  98. tasks: xTaskGetIdleTaskHandle (default)
  99. tasks: xTaskAbortDelay (default)
  100. tasks: vTaskPlaceOnEventList (default)
  101. tasks: vTaskRemoveFromUnorderedEventList (default)
  102. tasks: vTaskPlaceOnEventListRestricted (default)
  103. tasks: vTaskSetTimeOutState (default)
  104. tasks: vTaskInternalSetTimeOutState (default)
  105. tasks: xTaskCheckForTimeOut (default)
  106. tasks: vTaskMissedYield (default)
  107. tasks: prvIdleTask (default)
  108. if FREERTOS_THREAD_LOCAL_STORAGE_POINTERS > 0:
  109. tasks: vTaskSetThreadLocalStoragePointer (default)
  110. tasks: pvTaskGetThreadLocalStoragePointer (default)
  111. tasks: prvInitialiseTaskLists (default)
  112. tasks: prvCheckTasksWaitingTermination (default)
  113. tasks: uxTaskGetStackHighWaterMark (default)
  114. tasks: prvDeleteTCB (default)
  115. if FREERTOS_USE_STATS_FORMATTING_FUNCTIONS = y:
  116. tasks: prvWriteNameToBuffer (default)
  117. tasks: vTaskList (default)
  118. if FREERTOS_GENERATE_RUN_TIME_STATS = y:
  119. tasks: vTaskGetRunTimeStats (default)
  120. tasks: ulTaskGetIdleRunTimeCounter (default)
  121. tasks: uxTaskResetEventItemValue (default)
  122. tasks: pvTaskIncrementMutexHeldCount (default)
  123. tasks: ulTaskGenericNotifyTake (default)
  124. tasks: xTaskGenericNotifyWait (default)
  125. tasks: xTaskGenericNotify (default)
  126. tasks: xTaskGenericNotifyStateClear (default)
  127. tasks: ulTaskGenericNotifyValueClear (default)
  128. # tasks.c: Additions
  129. if FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH = y:
  130. tasks: non_ready_task_lists (default)
  131. tasks: pxGetNextTaskList (default)
  132. tasks: pxTaskGetNext (default)
  133. tasks: vTaskGetSnapshot (default)
  134. tasks: uxTaskGetSnapshotAll (default)
  135. tasks: xTaskCreatePinnedToCore (default)
  136. tasks: xTaskCreateStaticPinnedToCore (default)
  137. tasks: xTaskGetCurrentTaskHandleForCPU (default)
  138. tasks: xTaskGetIdleTaskHandleForCPU (default)
  139. tasks: xTaskGetAffinity (default)
  140. if FREERTOS_TLSP_DELETION_CALLBACKS = y:
  141. tasks: vTaskSetThreadLocalStoragePointerAndDelCallback (default)
  142. # port
  143. port: pxPortInitialiseStack (default)
  144. port: xPortStartScheduler (default)
  145. port: main_task (default)
  146. port: esp_startup_start_app (default)
  147. if ESP_SYSTEM_SINGLE_CORE_MODE = n:
  148. port:esp_startup_start_app_other_cores (default)
  149. # timers.c
  150. timers: xTimerCreateTimerTask (default)
  151. timers: xTimerCreate (default)
  152. timers: xTimerCreateStatic (default)
  153. timers: prvInitialiseNewTimer (default)
  154. timers: xTimerGenericCommandFromTask (default)
  155. timers: xTimerGetTimerDaemonTaskHandle (default)
  156. timers: xTimerGetPeriod (default)
  157. timers: vTimerSetReloadMode (default)
  158. timers: uxTimerGetReloadMode (default)
  159. timers: xTimerGetExpiryTime (default)
  160. timers: pcTimerGetName (default)
  161. timers: prvProcessExpiredTimer (default)
  162. timers: prvTimerTask (default)
  163. timers: prvProcessTimerOrBlockTask (default)
  164. timers: prvGetNextExpireTime (default)
  165. timers: prvSampleTimeNow (default)
  166. timers: prvInsertTimerInActiveList (default)
  167. timers: prvProcessReceivedCommands (default)
  168. timers: prvSwitchTimerLists (default)
  169. timers: prvCheckForValidListAndQueue (default)
  170. timers: xTimerIsTimerActive (default)
  171. timers: pvTimerGetTimerID (default)
  172. timers: vTimerSetTimerID (default)
  173. timers: xTimerPendFunctionCall (default)
  174. if FREERTOS_USE_TRACE_FACILITY = y:
  175. timers: uxTimerGetTimerNumber (default)
  176. timers: vTimerSetTimerNumber (default)