==ARM启动难点问题==问题已解决!
2、芯片内固化的BOOT和我们常说的BootLoader(Uboot等)有何不同,是使固化的BOOT引导Uboot,然后Uboot引导操作系统吗?
3、中断向量是绝对地址还是相对地址?
4、复位后PC指针是否一定为0,为什么我用AXD载入镜像后观察到PC为0x40000000(工程中设置了Image entry point为0x40000000);如果不是,如何执行不位于0地址的引导程序?例如芯片LPC2212等。
想听听权威的答案! [align=right][color=#000066][此贴子已经被作者于2006-10-23 13:37:22编辑过][/color][/align]
关键词: 启动 难点 问题 解决
多谢版主热心帮忙!!
1、芯片内固化BOOT不普遍但也有,芯片内固化的BOOT和我们常说的BootLoader(Uboot等)有何不同,是使固化的BOOT引导Uboot,然后Uboot引导操作系统吗?
2、ARM启动是否从一定从0地址开始运行。LPC2000系列好像不是,内核如何让它从非0地址运行的。
3、这样说复位后pc不一定是0了?
[align=right][color=#000066][此贴子已经被作者于2006-10-8 10:21:37编辑过][/color][/align]其实我问的是纯理论问题,对于你(lwx666)的情况应该有个寄存器位控制中断向量映射到不同的地址空间,比如LPC2000里的MAP1:0位:复位时为00就执行0x7fffe000的固化boot,启动后修改为11就执行外部存储器空间的程序0x80000000。
我是想知道没运行任何指令前cpu如何工作运行非0地址的程序。
我的问题归纳为四条
1、芯片内固化的BOOT和我们常说的BootLoader(Uboot等)有何不同,是使固化的BOOT引导Uboot,然后Uboot引导操作系统吗?
2、ARM启动是否从一定从0地址开始运行。如果不是,怎么工作的?
3、复位后pc不一定是0?
4、存储器映射是不是在内核执行第一条指令前进行的?(这和第二条是相联系的)
[align=right][color=#000066][此贴子已经被作者于2006-10-9 8:56:28编辑过][/color][/align]一、上电复位瞬间,1、存储器映射:将CPU所拥有的地址编码资源向系统内各个物理存储器块分配;2、存储器重映射:将位于片内Flash存储器顶端的Boot Block(0x0001e000)映射到片内存储器顶端(0x7fffe000)。[问题:此时PC指针是什么?重映射能执行吗?]
二、启动片内固化的BOOT(0x7fffe000)[此时PC指针肯定是0了],判断是否执行ISP,根据map1:0的值执行不同地址空间的用户代码。[这个“用户代码”含有Uboot等吗?]
如果上面说法正确,ARM复位肯定不是“一定从0地址开始运行”了;复位后pc也不一定是0。cpu没有执行任何指令前如何跳到了非0地址呢?它是怎么工作的? [align=right][color=#000066][此贴子已经被作者于2006-10-9 12:14:01编辑过][/color][/align]
是说remap改变了pc的值吗?重映射能在启动boot前进行吗?
还是不太清楚,能针对我说LPC2000启动说说吗?
多谢!!!
[align=right][color=#000066][此贴子已经被作者于2006-10-9 15:54:18编辑过][/color][/align]多谢版主的,让我对remap加深了认识。不过下面这篇文章说map是相当于预处理,但remap是程序修改。版主的意思是remap缺省是也算预处理。我也觉得这样更能解释cpu如何去执行非0地址的boot。
我想手册上说的visible也就是复位时做了重映射,把boot扇区的低64字节映射到了0地址。之后pc虽为0也相当于执行高地址的boot。
终于解决了大疑惑。这个论坛人气真不错。
还有一个小问题呢,固化的boot和uboot等有什么不同,是前者引导后者、后者再引导os吗?
回复
有奖活动 | |
---|---|
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? | |
抽奖了,抽奖了,金升阳医疗电源 |
打赏帖 | |
---|---|
【换取手持数字示波器】+与同事对定时器输出相位可调PWM移相全桥控制分享被打赏50分 | |
【换取手持数字示波器】+LP-MSPM0L1306开发板试用体验+串口被打赏40分 | |
CC-RL编译器相关问题求助被打赏10分 | |
【换取手持数字示波器】+与同事对ESP-12开发调试经验分享被打赏50分 | |
【换取手持数字示波器】+同事tek示波器调试spi解析被打赏50分 | |
【换取手持数字示波器】+2.6寸墨水屏调试经验被打赏50分 | |
换取手持数字示波器+个人开关电源的设计经验被打赏50分 | |
【换取手持数字示波器】+【APT32F173测评】+URAT被打赏20分 | |
【换取手持数字示波器】CH32X035的定时器以及外部中断体验被打赏50分 | |
【换取手持数字示波器】CH32X035搭建开发环境(RISC-V)被打赏50分 |