ARM启动代码的设计分析

时间:2012-07-12来源:网络

系统重新映射当你为了提高运行速度而把ROM的Image拷贝到RAM后,中断向量表就不是在零地址处,因此要重新映射存储单元,把RAM的地址重新设定为零地址。映射就是把启动代码从ROM(EEPROM或者Flash)拷贝到SDRAM运行,同时再拷贝完毕以后进行内存的重新映射,把SDRAM映射到原来的ROM地址(0x0000)中,这样就可以用SDRAM中的代码写Flash,使得程序代码得以更新。但是需要注意的是,如果程序进行了映射,这样就对在线调试带来了困难,使得在线调试不可以在RAM中进行(如果写入EEPROM的代码是映射了的,则在调试器启动的时候必然也会对程序进行映射,使得程序在调试器中不可以定位到原来的地方,使得调试失败)。一个折中的方法是,不进行映射,就是说在调试的代码中不可以使用下载,这样就可以像普通的代码一样进行调试了。

  结 语

  做完这些初始化后,让CPU切换到用户模式下,并把堆栈指针SP指定到用户堆栈区,就可以进入到C代码区运行。在C代码中继续对时钟、RS232端口进行初始化,然后打开系统中断允许位,进入到应用代码中执行。此程序加载到处理器S3C4510B中经过调试,CPU可以正常启动,能够对中断请求做出及时的响应,上层应用的主代码可以加载到Flash中,移植实时操作系统RTXC后对多任务的调度控制正常。

1 2

关键词: 分析 设计 代码 启动 ARM

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

或用微信扫描左侧二维码

相关文章

查看电脑版