今天在玩 STM32F3 Discovery 的时分, 烧写程序后,
FreeRTOS 运转一会就会跳转到 startup_stm32f30x.s 内的体系服务调用处理这段程序的“B 。”处, 如下。
SVC_HandlerPROC
EXPORTSVC_Handler[WEAK]
B.
ENDP
查阅了一下 keil-MDK 的协助文档, 在Built-in variables and constants 节找到了解说, 也便是跳转到当时行呀。
2333333. 如下图:
好吧。 趁便解说一下 [WEAK] 的含义吧。 先看官方解说 :)
先上一句别处的零星话:
WEAK
symbolisonlyimportedintoothersourcesifnoothersourceexportsanalternaTIvesymbol.
If[WEAK]isusedwithoutsymbol,allexportedsymbolsareweak.
意思便是告知链接器:
“我略弱但我很绅士, 假如你在别处看到和我相同的符号实例。你就用它吧。 表管我, 求忽视! ”