开机流程是这样能看到开机会先在sram里面跑bootrom又是神马东西
一般说来bootrom会进行以下工作:
1.会让主cpu执行开机流程,让其他处理器进入WFI
2.初始化软件堆栈,初始化储存设备及通信端口
3.将bootloader第一部分代码加载到sram中
4.bootrom会跳转到bootloader第一部分代码入口并执行,这部分代码会初始化dram加载后续的boot程序
那么再来谈谈bootrom有哪几类这是挺早的资料了不知道是否更新,但是可以作为了解:
bootrom有三种类型:ROM_RESIDENT、UMCOMPRESS和COMPRESS。
第一种是一直运行在rom中的映象,只把data段拷贝到ram里面;
第二种是非压缩方式的映象,data段和text段都要拷贝到ram里面,并在ram里面运行;
第三种是压缩方式的映象,生成的时候编译器会把除掉romInit.s和bootInit.c之外的目标文件压缩并“汇编”成一个bootrom.Z.s,最后和romInit.o,bootInit.o,version.o进行链接,生成bootrom映象。所以它也是要全部拷贝到ram中,且必须要进行压缩的工作。而这些工作基本上都是在bootInit.c中进行的。
DragonCat liked
回复引用
Working