主题 : uboot relocate code疑惑 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 87445
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2013-02-15
最后登录: 2013-02-27
楼主  发表于: 2013-02-16 11:25

 uboot relocate code疑惑

最近在看uboot nand的代码,有一些疑惑,望大侠能够解决。以s3c6410为例吧。uboot的stage1放在flash的第一个block里,s3c6410上电后会copy这部分代码到internal ram去跑。此时,internal ram对应的地址也是0x00000000,第一部分的主要作用是copy第二部分代码到sdram去运行,sdram对应地址是0x50000000,问题就出来了,看代码我觉得是stage 1
把整个uboot的整个代码从flash中拷贝到sdram中,然后跳到sdram中去运行。
问题1:如果是把整个uboot拷贝到sdram中,然后跳到sdram中去运行,那stage1那部分代码岂不是又跑了一遍?
问题2:如果是全部重新跑一遍,那arm的中断向量表岂不是又被设置了一遍?
级别: 新手上路
UID: 70668
精华: 0
发帖: 26
金钱: 130 两
威望: 26 点
贡献值: 0 点
综合积分: 52 分
注册时间: 2012-05-23
最后登录: 2021-05-23
1楼  发表于: 2013-04-27 14:05
楼主,我现在也卡在这里了,感觉又是从start.S文件开始执行一遍,不知道你现在有没有弄懂,求解。