3490|8

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于bootloader在flash中存储地址的问题! [复制链接]

最近在看u-boot,有个问题一直不是很确定:
在cpu目录下面arm920t下的是start.S里面开始,下面的语句:
.globl _start
_start:        b       reset
        ldr        pc, _undefined_instruction
        ldr        pc, _software_interrupt
        ldr        pc, _prefetch_abort
        ldr        pc, _data_abort
        ldr        pc, _not_used
        ldr        pc, _irq
        ldr        pc, _fiq
想问的是:
硬件复位后,cpu直接从0x0地址读取指令,那么b  reset这条指令对应的32位机器指令就存放在0x0的地址,这条机器指令里面包含了跳到reset:代码在flash中相应的存储的位置,而ldr pc, _undefined_instruction这条指令就放在存储器的0x04地址,其实并没有执行?
请问我的理解是对的吗?
我的硬件平台是s3c2410处理器,nand flash方式启动!
谢谢!

最新回复

hdm
对  详情 回复 发表于 2008-8-21 14:07
点赞 关注

回复
举报

83

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
你理解的很对,ldr所指向的中断的跳转地址
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢你的回答!
那这些指令是在什么情况下执行呢?
是不是比如遇到了指令异常,cpu的硬件会直接自己跳转到0x04的地址,然后执行_undefined_instruction 的相关代码?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
yes,cpu会根据中断向量号自动跳转到对应的地址执行
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
UP
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 
谢谢了!
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

7
 
ARM的中断向量表, 发生什么样的中断就执行哪一段, 开机就是reset中断了。。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 
是的这是ARM的中断向量表,每个中段CPU就会跳到一个地址,然后执行对应的中段处理函数。undefined_instruction就是执行到ARm不认识的指令时发生的中段。。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 7 楼 ShowMan 的回复:
是的这是ARM的中断向量表,每个中段CPU就会跳到一个地址,然后执行对应的中段处理函数。undefined_instruction就是执行到ARm不认识的指令时发生的中段。。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表