从上表可以看出,软复位主要是为了调试方便,而上电复位最彻底,根据程序流程可以简要区别上电复位(cold)和硬复位(warm) 如下:
表1
单板复位流程示意
1. 其它模块或函数不应当调用romInit.s中的代码,特别是sysLib.o和sysALib.o模块。如果需要一个外部模块,则把这个模块附加到makefile文件里的变量BOOT_EXTR中即可,这样该模块将被链接到系统里。如果同一个模块被其它BSP代码所引用,然而这个模块必须被附加到MACH_EXTRA中。值得注意的是一些C编译器产生带有绝对地址的代码,这样的代码不应该从这个模块中调用。如果绝对地址不可避免,仅仅只是从该模块中产生ROM驻留代码。如果绝对地址没有经过宏ROM_ADRS对其进行处理,则压缩型和未压缩型的bootrom或VxWorks映像将不会工作。