天嵌 ARM开发社区

 找回密码
 注册
查看: 1581|回复: 0

有关ARM跳转指令的问题

[复制链接]
北上清云 发表于 2011-4-10 13:12:44 | 显示全部楼层 |阅读模式
把程序烧写到NAND中 且RO base的地址是0x30000000,复位后毋庸置疑是处理器是从0地址处开始取指令的,且程序中的没有用到PC的跳转指令,
那么我想问的是既然这样那么是不是只要程序中没有ldr pc, =label之类的跳转指令,即使地址为0x30000000,且我没把程序复制到SDRAM中,程序也能正常执行,对吗?
还有为什么像这样的跳转指令ldr pc, =label,就能够跳转到0X30000000开始的某个地址处呢,就是为什么标号就是在链接地址  中的呢?而用b bl指令就不会呢?
还有链接地址是编译时的地址,就是程序执行的虚拟地址,那么在烧写完,复位后程序都是从0地址处开始执行的吧,不管你的连接地址是什么,只要 没有跳转指令跳转到链接地址处,处理器都是在0地址后的地址中取指令的吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-19 15:15 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表