这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » ==ARM启动难点问题==问题已解决!

共19条 2/2 1 2 跳转至
菜鸟
2006-10-09 23:52:00     打赏
11楼

是说remap改变了pc的值吗?重映射能在启动boot前进行吗?

还是不太清楚,能针对我说LPC2000启动说说吗?

多谢!!!

[align=right][color=#000066][此贴子已经被作者于2006-10-9 15:54:18编辑过][/color][/align]

菜鸟
2006-10-10 00:44:00     打赏
12楼
LPC2xxx我不熟,但一般来说remap不会改变pc值。能改变pc值的只有跳转指令,或者调试工具(例如你提到的AXD会把pc改为0x40000000)。至于remap,应该在reset时有缺省的模式,然而程序应该也可以修改。

菜鸟
2006-10-10 01:17:00     打赏
13楼

多谢版主的,让我对remap加深了认识。不过下面这篇文章说map是相当于预处理,但remap是程序修改。版主的意思是remap缺省是也算预处理。我也觉得这样更能解释cpu如何去执行非0地址的boot。

http://bbs.21ic.com/club/bbs/bbsView.asp?boardid=39


菜鸟
2006-10-10 01:32:00     打赏
14楼
我是否可以这样理解,arm核复位肯定从0地址运行,pc指针也是0。但具体cpu在内核复位后做了地址的映射、重映射(必须在第一条指令运行前,应为0地址此时没有任何程序)。之后pc虽为0开始,但执行的相当于高地址的boot。

菜鸟
2006-10-10 01:47:00     打赏
15楼

差不多罢。LPC210x手册里的原文:

The interrupt vectors residing in the boot sector of the on-chip flash memory also become active after reset, i.e. the bottom 64 bytes of the boot sector are also visible in the memory region starting from the address 0x0000 0000. The reset vector contains a jump instruction to the entry point of the flash boot loader software.


菜鸟
2006-10-10 02:18:00     打赏
16楼

我想手册上说的visible也就是复位时做了重映射,把boot扇区的低64字节映射到了0地址。之后pc虽为0也相当于执行高地址的boot。

终于解决了大疑惑。这个论坛人气真不错。

还有一个小问题呢,固化的boot和uboot等有什么不同,是前者引导后者、后者再引导os吗?


菜鸟
2006-10-23 21:42:00     打赏
17楼

问题已咨询过周立功的工程师,的确是在复位前硬件就已经使重映射启效。


菜鸟
2006-11-27 06:10:00     打赏
18楼
一窍不通!

菜鸟
2006-11-27 17:28:00     打赏
19楼
ryansheng很热心的说

共19条 2/2 1 2 跳转至

回复

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