你好,我正在检查SDK6.0.2中的启动序列。我想是boot_vectors中的Reset_Handler。S为启动代码。但是Reset_Handler没有一个清除/复制内存的例程(比如gcc的.bss .dat部分)。在哪里做?
你好高手,
启动代码被刻录在ROM中,你无法从SDK的任何地方看到它。您可以参考数据表中的4.3.3章来获得DA14585引导顺序的工作流。
嗨,Qinjiny
谢谢你的快速回复。
我想你指的是数据表中的“4.4.3 BootROM Sequence”。它被写入Remap SysRAM到addr 0x00,并在BootROM Sequence结束时复位SW(图12:BootROM Sequence)。
你的意思是在软件重置之前,通过刻录ROM清除/复制启动内存吗?我认为C启动程序一般复位后都可以工作。
我在地图文件中发现了以下内容。
__scatterload 0x07fc828d拇指代码28 init.o(.text)__scatterload_rt2 0x07fc828d拇指代码0 init.o(.text)__scatterload_copy 0x07fc82b1 Thumb Code 14 handlers.o(i.__scatterload_copy)__scatterload_null 0x07fc82bf Thumb Code 2 handlers.o(i.__scatterload_null)__scatterload_zeroinit 0x07fc82c1 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
我猜这些处理内存清除/复制。正如秦津尼所说,这些并没有在源代码中提供。但可能,这些工作正确根据分散文件。
现在我明白了,我不需要在乎。谢谢你!
你好高手,
启动代码被刻录在ROM中,你无法从SDK的任何地方看到它。您可以参考数据表中的4.3.3章来获得DA14585引导顺序的工作流。
嗨,Qinjiny
谢谢你的快速回复。
我想你指的是数据表中的“4.4.3 BootROM Sequence”。
它被写入Remap SysRAM到addr 0x00,并在BootROM Sequence结束时复位SW(图12:BootROM Sequence)。
你的意思是在软件重置之前,通过刻录ROM清除/复制启动内存吗?
我认为C启动程序一般复位后都可以工作。
我在地图文件中发现了以下内容。
__scatterload 0x07fc828d拇指代码28 init.o(.text)
__scatterload_rt2 0x07fc828d拇指代码0 init.o(.text)
__scatterload_copy 0x07fc82b1 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x07fc82bf Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x07fc82c1 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
我猜这些处理内存清除/复制。
正如秦津尼所说,这些并没有在源代码中提供。
但可能,这些工作正确根据分散文件。
现在我明白了,我不需要在乎。
谢谢你!