嵌入式系统快速重启的研究

工控自动化 时间:2010-12-21来源:网络


在将代码复制完之后将地址为0x0000_0000处的复位中断跳转矢量改为跳转到0x3000_0000,如图2中3所示。


然后程序跳转到SDRAM中,地址为相对于0x3000_0000的一个偏移量,这个偏移量为当前地址距0x0000_0000的偏移量,如图2中4所示。

在图2中5中,如果用户使用了Reset按键,重新启动系统,我们就可以从地址为0x0000_00000处直接跳转到0x3000_0000这个位置,开始进行硬件初始化等工作,这次就不会有代码拷贝的过程了。

快速重启软件流程

下面是系统自开机开始, 程序修改复位跳转指令的流程图,在修改0x0000_0000处的跳转指令可用如下数据替代:

使用LDR PC, =0x3000_0000指令,反汇编后得到的32位指令数据是0xE3A0_F5C0,将其放到0x0000_0000处即可。

而修改0x0000_0000处的数据,可用如下指令:

程序经过以上配置,就可以实现系统的快速重启。

结论

系统的快速重启,应用将非常广泛。即使是嵌入式系统慢慢的也将变得很复杂,系统所占的空间也在慢慢的变大,这样一个复制过程将严重影响很多设备的使用,最简单的就是数码相机了。

1 2 3

关键词: 嵌入式系统 快速重启

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版