打印
[ZLG-ARM]

关于LPC中的BOOT BLOCK、BOOT LOADER、REMAP

[复制链接]
3890|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ahyjj|  楼主 | 2007-2-12 15:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
菜鸟最近总算开始摆弄传说中的ARM了,选用的平台是EASYARM2131。一切都很顺利,但是对ARM中的 BOOT BLOCK、BOOT LOADER、REMAP 这3个概念还是似懂非懂。 手头有两本书《深入浅出ARM7(上) 》(EASYARM原配) 《ARM微控制器基础与实战》书中关于这几个概念只是一笔代过,请哪位老鸟能够深入浅出的讲解一下。不胜感激!

相关帖子

沙发
zlgARM| | 2007-2-26 14:55 | 只看该作者

re

BOOT BLOCK:顾名思义,是引导代码,芯片一复位就首先运行它。它被固化在微控制器内部,不能被用户修改和擦除。

REMAP:重新建立对应关系。
比如:
x对应y;
我现在重新修改对应关系:
让x对应z而不是y。

关于BootLoader您可以看:
http://cache.baidu.com/c?word=boot%2Cloader&url=http%3A//baike%2Ebaidu%2Ecom/view/661955%2Ehtm&p=c67cc64ad5d511a05bebc6685743&user=baidu





使用特权

评论回复
板凳
ahyjj|  楼主 | 2007-3-5 14:21 | 只看该作者

RE

那么 BOOT LOADER 和启动代码又有何区别呢?

使用特权

评论回复
地板
zlgARM| | 2007-3-5 14:40 | 只看该作者

RE

启动代码?例如我们公司模板里的startup.s。

使用特权

评论回复
5
ahyjj|  楼主 | 2007-3-5 16:33 | 只看该作者

RE

 BOOT  BLOCK 似乎又是指存储器中的一块位于2.0G-8K~2.0G的空间( 见《深入浅出ARM7-LPC213X/LPC214X 上册》P65“ ARM7处理器上的中断向量位置如表3.3所列。BOOT BLOCK和SRAM空间的一小部分需要重新映射,........”)

    这些概念确实有点糊涂,希望周家班多多指点!!

使用特权

评论回复
6
zlgARM| | 2007-3-5 17:04 | 只看该作者

RE

您引用的那部分是用来阐述存储器映射的。理解这些概念不需要去看您引用的部分。

BOOT BLOCK是厂家固化在芯片内部的一段代码,用来完成ISP,IAP等功能,相当于PC里的BIOS。


启动代码则是买了芯片的用户自己写的初始化代码,用来初始化芯片内部的外设和各种参数,相当于PC里BIOS执行完毕后,WINDOWS XP进入图形界面前执行的代码。

BIOS和WINDOWS XP的启动代码是一回事吗?不是的。

使用特权

评论回复
7
ahyjj|  楼主 | 2007-3-5 17:17 | 只看该作者

RE

 明白了很多,继续请教一下,对于没有片内FLASH的ARM芯片那么BOOT BLOCK放在什么地方呢? 

使用特权

评论回复
8
zlgARM| | 2007-3-5 17:43 | 只看该作者

RE

BOOTLOADER占用的FLASH空间有两种情况。
一种是完全独立,和芯片自身的地址空间没有任何关系,您的芯片有128KB内部FLASH,还有放BOOTLOADER的FLASH,芯片的BOOTLOADER不占用您芯片的128KBFLASH;

另一种就是BOOTLOADER占用了一部分用户内部flash了。所以,打个比方,您的芯片虽然说有128KBflash,但你实际上只能用125KB。

有BOOTLOADER就可以进行ISP。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

44

帖子

0

粉丝