嗨,我正在检查SDK6.0.2中的启动顺序。我认为Reset\u Handler in boot\u vectors.s是启动代码。但是Reset\u处理程序没有内存清除/复制例程(比如gcc的.bss.dat节)。在哪里做?
嗨,大山,
启动代码被烧录在ROM中,您无法从SDK的任何地方看到它。您可以参考数据表中的第4.3.3章来获取DA14585引导序列的工作流程。
嗨,秦吉妮
谢谢你的快速回复。
我想你指的是数据表中的“4.4.3引导序列”。在BootROM序列的末尾写入Remap SysRAM到addr 0x00和SW reset(图12:BootROM序列)。
你的意思是启动内存清除/复制是在软件复位前由烧坏的ROM完成的吗?我认为C启动程序通常在复位后工作。
我在地图文件中找到了以下内容。
__分散加载0x07fc828d拇指代码28 init.o(.text)__分散加载\u rt2 0x07fc828d拇指代码0 init.o(.text)__scatterload\u copy 0x07fc82b1 Thumb Code 14 handlers.o(i.\u scatterload\u copy)__scatterload\u null 0x07fc82bf Thumb Code 2 handlers.o(i.\u scatterload\u null)__scatterload\u zeroinit 0x07fc82c1 Thumb代码14 handlers.o(i.\u scatterload\u zeroinit)
我想这些能清除记忆。而这些都没有提供在源代码中,如秦吉尼说。但根据散点文件,这些操作可能是正确的。
现在我明白我不需要关心它。非常感谢。
嗨,大山,
启动代码被烧录在ROM中,您无法从SDK的任何地方看到它。您可以参考数据表中的第4.3.3章来获取DA14585引导序列的工作流程。
嗨,秦吉妮
谢谢你的快速回复。
我想你指的是数据表中的“4.4.3引导序列”。
在BootROM序列的末尾写入Remap SysRAM到addr 0x00和SW reset(图12:BootROM序列)。
你的意思是启动内存清除/复制是在软件复位前由烧坏的ROM完成的吗?
我认为C启动程序通常在复位后工作。
我在地图文件中找到了以下内容。
__分散加载0x07fc828d拇指代码28 init.o(.text)
__分散加载\u rt2 0x07fc828d拇指代码0 init.o(.text)
__scatterload\u copy 0x07fc82b1 Thumb Code 14 handlers.o(i.\u scatterload\u copy)
__scatterload\u null 0x07fc82bf Thumb Code 2 handlers.o(i.\u scatterload\u null)
__scatterload\u zeroinit 0x07fc82c1 Thumb代码14 handlers.o(i.\u scatterload\u zeroinit)
我想这些能清除记忆。
而这些都没有提供在源代码中,如秦吉尼说。
但根据散点文件,这些操作可能是正确的。
现在我明白我不需要关心它。
非常感谢。