(嵌入式 实时操作系统 rtos nuttx 7.1 stm32 源代码分析)
在《 NuttX 启动流程》一文中提到, __start 是处理器执行的第一条指令。那么,为什么在 NuttX 中 __start 是处理器执行的第一条指令?为什么我要把 __start 称为“处理器执行的第一条指令”,而不是称为“程序入口点”?
nuttx/configs/shenzhou/scripts/ld.script:
nuttx/arch/arm/src/Makefile:
为什么 __start 是处理器执行的第一条指令?
转载请注明出处: http://blog.csdn.net/zhumaill/article/details/23426605在《 NuttX 启动流程》一文中提到, __start 是处理器执行的第一条指令。那么,为什么在 NuttX 中 __start 是处理器执行的第一条指令?为什么我要把 __start 称为“处理器执行的第一条指令”,而不是称为“程序入口点”?
nuttx/configs/shenzhou/scripts/ld.script:
......
OUTPUT_ARCH(arm)
ENTRY(_stext)
SECTIONS
......
这里的 ENTRY(_stext) 定义的程序入口点是 _stext。
nuttx/arch/arm/src/Makefile:
......
nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT)
$(Q) echo "LD: nuttx"
$(Q) $(LD) --entry=__start $(LD