ADS想自己弄一个简单bootloader,主要想练练手,对bootloader以及s3c2410有更深入的了解而目的。
我现在有个地方想不明白:
RO BASE=0x00000000
程序烧写到了Nand Flash 了,
阶段1把所有的Bootloader程序从Nand Flash拷贝到SDRAM里头了。SDRAM的物理地址是0x30000000,然后跳转阶段2(ldr pc, GotoMain)。
RO BASE设置成了0x00000000那么程序转移到SDRAM后物理地址是0x30000000,能保证程序正常运行吗?万一代码是位置有关的怎么办?会不会出现问题。
这个问题一般用什么办法解决?
我看了板子自带bootlaoder的代码,但是没有发现怎么弄得?反正运行正常。ro base 也是0x00000000,不是SDRAM的起始地址 0x30000000。这个问题郁闷了好长时间了,看了很多帖子,没有召见涉及这个问题。
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |