文章目录
写bootloader前的准备
一,了解芯片
从这个图可以看出该芯片有两颗cpu,pro_cpu从名字猜就是默认的启动cpu,也就是说启动阶段只有
pro_cpu工作,相当于单核模式。
该芯片具有mmu结构,但是从图中看只对拓展的片外存储器有效,也就是说片内存储的地址映射是确定的。
片外的部分对bootloader的编写不太重要,不用关心。
bootloader的镜像文件是要下载到EmbeddedMemory的非易失性存储器中。
接下来看看这部分的结构。
这是整颗芯片的地址空间和设施分布。这幅图显示芯片的内部ram有两部分:
0x3FFA_E000–>0x3FFF_FFFF和0x4007_0000–>0x400B_FFFF
这就是芯片启动后内置bootloader第一阶段程序要加载的第二阶段程序的 运行地址 同时也是我们所写的bootloader在链接阶段应该给第一条指令(即程序入口)指定的地址。
这部分程序被芯片内置程序加载到ram中,他不是一开始就存在于ram中。而是存在于rom中。
从图上看片内rom也有两部分:
0x3FF9_0000</