这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » u-boot 中start.s问题请教!!

共5条 1/1 1 跳转至

u-boot 中start.s问题请教!!

菜鸟
2005-09-21 07:09:22     打赏
start.S中的
bl cpu_init_crit
bl memsetup
在relocate之前,这时候代码还在flash中,cpu_init_crit和memsetup的地址都是内存中的地址,怎么去执行flash中的这两段代码??

谢谢!!



关键词: u-boot     start.s     问题     请教    

菜鸟
2005-09-21 17:57:00     打赏
2楼
为什么那么肯定cpu_init_crit和memsetup的地址都是ram中的地址?

菜鸟
2005-09-21 20:52:00     打赏
3楼
看反汇编的代码,是bl c700170 <cpu_init_crit>

我刚开始看ARM对指令理解不是很准确,请问这条跳转指令最终是实现的什么操作,是在PC增加标号与当前指令地址的相对地址吗??


菜鸟
2005-09-22 02:22:00     打赏
4楼
那链接脚本中给start.s这段代码分配的地址是多少?

菜鸟
2005-09-22 05:06:00     打赏
5楼

链接脚本中TEXT段的LMA是0,不过链接参数中用-TTEXT TEXT_BASE指定了特定开发板config.mk文件中定义的TEXT_BASE作地址,我用的这个板子定义的就是0XC700000,bank6的最后1M存u-boot。

ARM指令的文档里写了段内标号在汇编时就确定了,B 指令使用的标号属于相对PC标号,应该是汇编时,汇编器就可以计算出段内当前指令与标号指令之间的差值,然后在执行的机器码就是在PC加一个相对量。

因为没有自己写过代码,很多指令都不是很清楚用法。


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]