[ZLG-ARM] 关于boot code

[复制链接]
 楼主| philoso05 发表于 2008-10-31 17:12 | 显示全部楼层 |阅读模式
LPC2468的Datasheet中关于地址MAP的一章说到,the&nbsp;entire&nbsp;Boot&nbsp;ROM&nbsp;is&nbsp;mapped&nbsp;to&nbsp;the&nbsp;top&nbsp;of&nbsp;the&nbsp;on-chip&nbsp;memory&nbsp;space。而datasheet中6.2的Memory&nbsp;mapping&nbsp;control&nbsp;usage&nbsp;notes的图中显示&nbsp;8kB&nbsp;boot&nbsp;rom&nbsp;的位置在0x7FFF&nbsp;E008—0x7FFF&nbsp;FFFF这8KB的空间里。(也就是前面说的MAP到内部存储空间的顶部去了)。问题是此图中还有一个区域是Boot&nbsp;Flash,位置是0x7FFE&nbsp;E000—0x7FFE&nbsp;FFFF这8KB的空间。图中说RE-MAPPED&nbsp;FROM&nbsp;TOP&nbsp;OF&nbsp;FLASH&nbsp;MEMORY)那么二者是不是对应同一空间去了(内部flash的顶部)??如果不是,二者有什么区别??到底这个“entire&nbsp;Boot&nbsp;ROM”是不是在内部flash的顶部??还是在其他地方??还有,望解答,谢谢<br /><br />另:对于2470这种无内部flash的器件,DATASHEET上说内部有一个on_chip&nbsp;ROM存放&nbsp;boot&nbsp;loader,但datasheet似乎没有告之位置。(如果是在on-chip&nbsp;memory的顶部,0x7FFF&nbsp;FFFF-0x7FFF&nbsp;E000,那么为什么要需要re-map呢
ZLG_Dengz 发表于 2008-11-1 10:27 | 显示全部楼层

RE

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOT&nbsp;ROM存在于片内Flash的结尾处,具体位置根据Flash的具体大小而定(导致真实的IAP函数地址会因内部Flash大小的不同而变化,降低了可移植性).<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而你看到的&quot;存在&quot;于内部空间顶部的BOOT&nbsp;ROM,实际上只是对片内Flash末尾处BOOT&nbsp;ROM的一个重映射.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样做的目的是为了让固化的IAP函数有个固定的地址,以供调用,提高代码可移植性.
 楼主| philoso05 发表于 2008-11-1 12:18 | 显示全部楼层

再问

这个我知道,我想知道的是为什么还需要一个boot&nbsp;flash(不是boot&nbsp;rom),而且也是映射到内部flash的顶部?<br />同样,对于无flash的器件,自然也就不存在什么内部flash的顶部,那么boot&nbsp;rom映射的又是哪个空间呢??
zlg_lly 发表于 2008-11-3 19:43 | 显示全部楼层

RE:philoso05

您好!<br />根据您的描述,提问中提到的boot&nbsp;flash与boot&nbsp;rom应该是同一个概念,在没有内部flash的芯片(只是没有用户可控制Flash)仍然存在这样一个boot&nbsp;flash(boot&nbsp;rom),这一部分空间对用户是不可见的。<br />这些概念对于应用来说并不重要,在我们出的书上也只是简单描述。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

12

帖子

0

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

6

主题

12

帖子

0

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