内存清除/复制的启动代码在哪里?

了解更多常见问题教程

4个职位/0个新职位
最后一篇文章
大山东彦
离线
最后一次见到:7个月2天前
已加入:2016-09-27 03:29
内存清除/复制的启动代码在哪里?

嗨,我正在检查SDK6.0.2中的启动顺序。
我认为Reset\u Handler in boot\u vectors.s是启动代码。
但是Reset\u处理程序没有内存清除/复制例程(比如gcc的.bss.dat节)。
在哪里做?

设备:
Qinjiny\u对话框
离线
最后一次见到:1个月1天前
工作人员
已加入:2016-11-01 05:47
嗨,大山,

嗨,大山,

启动代码被烧录在ROM中,您无法从SDK的任何地方看到它。您可以参考数据表中的第4.3.3章来获取DA14585引导序列的工作流程。

大山东彦
离线
最后一次见到:7个月2天前
已加入:2016-09-27 03:29
嗨,秦吉妮

嗨,秦吉妮

谢谢你的快速回复。

我想你指的是数据表中的“4.4.3引导序列”。
在BootROM序列的末尾写入Remap SysRAM到addr 0x00和SW reset(图12:BootROM序列)。

你的意思是启动内存清除/复制是在软件复位前由烧坏的ROM完成的吗?
我认为C启动程序通常在复位后工作。

大山东彦
离线
最后一次见到:7个月2天前
已加入:2016-09-27 03:29
我发现下面的

我在地图文件中找到了以下内容。

__分散加载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)

我想这些能清除记忆。
而这些都没有提供在源代码中,如秦吉尼说。
但根据散点文件,这些操作可能是正确的。

现在我明白我不需要关心它。
非常感谢。