今天在玩 STM32F3 Discovery 的時候, 燒寫程序後,
FreeRTOS 運行一會就會跳轉到 startup_stm32f30x.s 內的系統服務調用處理這段程序的"B ."處, 如下.
SVC_Handler PROC
EXPORT SVC_Handler [WEAK]
B .
ENDP
查閱了一下 keil-MDK 的幫助文檔, 在 Built-in variables and constants 節找到了解釋, 也就是跳轉到當前行呀.
2333333. 如下圖:
好吧. 順便解釋一下 [WEAK] 的意義吧. 先看官方解釋 :)
先上一句別處的零散話:
WEAK
symbol is only imported into other sources if no other source exports an alternative symbol.
If [WEAK] is used without symbol, all exported symbols are weak.
意思就是告訴 鏈接器:
"我略弱但我很紳士, 如果你在別處看到和我一樣的符號實例.你就用它吧. 表管我, 求忽視! "
寫完發現我是標題黨. 2333333333