关于三星S5PV210重定位代码到IRAM的问题
blog.chinaunix.net/uid-26009923-id-3188307.html供参考! 你可以先了解下编译地址和运行地址,右边的链接脚本指定代码的编译地址,起始地址是0xD0024000,也可以从符号表里面查到_start的地址;
但是代码的实际加载地址(0xd0020010?)有可能和编译地址不同:
adr r0, _start: 取得_start运行地址;
ldr r1, _start: 取得_start编译地址;
cmp r0, r1: 计算运行地址和编译地址的偏移量;
beq clean_bss: 地址一样,清除bss段,bss是未初始化数据段,使用前需要清零;地址不一样则需要重定位代码段和数据段,然后清除bss段;
页:
[1]