[ZLG-ARM] 关于LPC中的BOOT BLOCK、BOOT LOADER、REMAP

[复制链接]
 楼主| ahyjj 发表于 2007-2-12 15:33 | 显示全部楼层 |阅读模式
菜鸟最近总算开始摆弄传说中的ARM了,选用的平台是EASYARM2131。一切都很顺利,但是对ARM中的&nbsp;BOOT&nbsp;BLOCK、BOOT&nbsp;LOADER、REMAP&nbsp;这3个概念还是似懂非懂。&nbsp;手头有两本书《深入浅出ARM7(上)&nbsp;》(EASYARM原配)&nbsp;《ARM微控制器基础与实战》书中关于这几个概念只是一笔代过,请哪位老鸟能够深入浅出的讲解一下。不胜感激!<br />
zlgARM 发表于 2007-2-26 14:55 | 显示全部楼层

re

BOOT&nbsp;BLOCK:顾名思义,是引导代码,芯片一复位就首先运行它。它被固化在微控制器内部,不能被用户修改和擦除。<br /><br />REMAP:重新建立对应关系。<br />比如:<br />x对应y;<br />我现在重新修改对应关系:<br />让x对应z而不是y。<br /><br />关于BootLoader您可以看:<br />http://cache.baidu.com/c?word=boot%2Cloader&url=http%3A//baike%2Ebaidu%2Ecom/view/661955%2Ehtm&p=c67cc64ad5d511a05bebc6685743&user=baidu<br /><br /><br /><br /><br /><br />
 楼主| ahyjj 发表于 2007-3-5 14:21 | 显示全部楼层

RE

那么&nbsp;BOOT&nbsp;LOADER&nbsp;和启动代码又有何区别呢?
zlgARM 发表于 2007-3-5 14:40 | 显示全部楼层

RE

启动代码?例如我们公司模板里的startup.s。<br /><br />
 楼主| ahyjj 发表于 2007-3-5 16:33 | 显示全部楼层

RE

&nbsp;BOOT&nbsp;&nbsp;BLOCK&nbsp;似乎又是指存储器中的一块位于2.0G-8K~2.0G的空间(&nbsp;见《深入浅出ARM7-LPC213X/LPC214X&nbsp;上册》P65“&nbsp;ARM7处理器上的中断向量位置如表3.3所列。BOOT&nbsp;BLOCK和SRAM空间的一小部分需要重新映射,........”)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;这些概念确实有点糊涂,希望周家班多多指点!!
zlgARM 发表于 2007-3-5 17:04 | 显示全部楼层

RE

您引用的那部分是用来阐述存储器映射的。理解这些概念不需要去看您引用的部分。<br /><br />BOOT&nbsp;BLOCK是厂家固化在芯片内部的一段代码,用来完成ISP,IAP等功能,相当于PC里的BIOS。<br /><br /><br />启动代码则是买了芯片的用户自己写的初始化代码,用来初始化芯片内部的外设和各种参数,相当于PC里BIOS执行完毕后,WINDOWS&nbsp;XP进入图形界面前执行的代码。<br /><br />BIOS和WINDOWS&nbsp;XP的启动代码是一回事吗?不是的。
 楼主| ahyjj 发表于 2007-3-5 17:17 | 显示全部楼层

RE

&nbsp;明白了很多,继续请教一下,对于没有片内FLASH的ARM芯片那么BOOT&nbsp;BLOCK放在什么地方呢?&nbsp;
zlgARM 发表于 2007-3-5 17:43 | 显示全部楼层

RE

BOOTLOADER占用的FLASH空间有两种情况。<br />一种是完全独立,和芯片自身的地址空间没有任何关系,您的芯片有128KB内部FLASH,还有放BOOTLOADER的FLASH,芯片的BOOTLOADER不占用您芯片的128KBFLASH;<br /><br />另一种就是BOOTLOADER占用了一部分用户内部flash了。所以,打个比方,您的芯片虽然说有128KBflash,但你实际上只能用125KB。<br /><br />有BOOTLOADER就可以进行ISP。<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部