韦东山Linux嵌入式课程社区
直播中

陈婧甄

7年用户 201经验值
私信 关注

为什么不是从SDRAM的最开始处0x3000000开始运行?

亲们 我又点想不通
把nand 中的前4K程序拷贝到SDRAM的最开始的地方 然后从这个最初的位置开始运行程序
但是 从韦老师的光盘上给的第一个裸机程序leds_0x31000000的反汇编看 是从31000000开始运行的啊
31000000 <_start>:
31000000: e3a00453  mov r0, #1392508928 ; 0x53000000
31000004: e3a01000  mov r1, #0 ; 0x0
31000008: e5801000  str r1, [r0]
。。。。。。

怎么不是从SDRAM的最开始处 0x3000000开始运行啊
是不是就是通过lds的第一个参数可以指定把nand中的程序拷贝到lds中指定的内存地址出?

回帖(1)

邢待湘

2019-7-17 10:20:02
31000000 不是表示“从31000000开始运行”,在这个文件里,它只是表示“链接地址”,运行时“应该位于的地址”
举报

更多回帖

发帖
×
20
完善资料,
赚取积分