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。这个问题郁闷了好长时间了,看了很多帖子,没有召见涉及这个问题。
打赏帖 | |
---|---|
C语言函数宏的三种封装方式被打赏50分 | |
【STM32F769】记一次由于开启D-Cache之后DMA数据传输出错的问题查找与解决被打赏35分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 | |
我想要一部加热台+LED背光驱动芯片RT9293知识被打赏18分 |