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。这个问题郁闷了好长时间了,看了很多帖子,没有召见涉及这个问题。
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 | |
【分享开发笔记,赚取电动螺丝刀】几个单片机I2S外设的BLCK时钟对比被打赏20分 | |
【功率监测与控制系统DIY活动成果贴】DIY功率计与LabVIEW数据采集被打赏100分 |