比如反汇编中的文件出现:
B/BL 0x300 00000 只是起方便查看,并不是真的跳到这个地址。
具体跳到;哪里,由当前的PC值加上偏移地址offset。
比如当前地址为0, B/BL 0x300 00478,那么具体地址就是
0x000 00478
BL 代表相对跳转,mian 函数中BL 0x300 00478本意是想跳到SDRAM的300 00478地址,但实际上只能跳到ox000 00478位置,所以如果想去SDRAM中,就必须使用绝对跳转指令如下才能实现。
ldr PC, =main
重定位之前不能使用绝对地址,重定位之后可以使用。
比如不能访问全局变量或者静态变量,又比如不能访问有初始值的数组