u-boot执行过程问题 20

(1)定义入口。由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在ROM(Flash)的0x0地址,因此,必须通知编译器以使其知道这个入... (1) 定义入口。由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入

口放在ROM(Flash)的0x0地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改连接器

脚本来完成。
(2) 设置异常向量(Exception Vector)。
(3) 设置CPU的速度、时钟频率及终端控制寄存器。
上面是U-BOOT的顺序要执行的

.globl _start //u-boot启动入口
_start: b reset //复位向量并且跳转到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 //中断向量
b sleep_setting //跳转到sleep_setting
系统上电或reset后,cpu的PC一般都指向0x0地址,在0x0地址上的指令是
reset: //复位启动子程序
/******** 设置CPU为SVC32模式***********/
mrs r0,cpsr //将CPSR状态寄存器读取
我就有点不懂了,在程序.globl _start 应该是(1) 定义入口
然后他就接下来的命令是_start: b reset 进入入口后就马上执行了b reset命令,而标签为

reset处事用来设置CPU模式,好进行CPU的设置的,那不就是跳过了(2) 设置异常向量

(Exception Vector)。而从(1) 定义入口直接进入了(3) 设置CPU的速度、时钟频率及终端控制寄

存器。???请问我的理解对吗
展开
 我来答
手机用户16194
2011-04-07 · TA获得超过376个赞
知道答主
回答量:500
采纳率:0%
帮助的人:328万
展开全部
中通过代码往内存搬运,还是直接移植到内存中进行模迹执行。如果是直接往内存移植,猛码哗需要一个init.bin文件烧写到nandflash的前4k进行内存初始化,才可以在内存中执行,从你的截图看不像是烧写到nandflash中的,如果需要帮助我可枝行以给你QQ,我们私聊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
您可能需要的服务
百度律临官方认证律师咨询
平均3分钟响应 | 问题解决率99% | 24小时在线
立即免费咨询律师
12965人正在获得一对一解答
天津金色童年5分钟前提交了问题
南昌湖上倒影2分钟前提交了问题
南昌湖上倒影2分钟前提交了问题
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消
还有疑问? 马上咨询34280位在线律师,3分钟快速解答
立即免费咨询律师

辅 助

模 式