[NXP ARM] ARM存储器映射~暂不理解地址空间的朋友,看了有帮助!

[复制链接]
7307|6
 楼主| 火箭球迷 发表于 2009-11-19 18:29 | 显示全部楼层 |阅读模式
不是ARM9 S3C2440的,但是有相似之处!

存储器映射
0-1G(0x0000,0000 - 0x3fff,ffff): 片内Flash.
1-2G(0x4000,0000 - 0x7fff,ffff):
片内RAM.
2-3.5G(0x8000,0000 - 0xbfff,ffff - 0xdfff,ffff):
片外存储器。
3.5G - 3.75G(0xe000,0000 - 0xefff,ffff): VPB外设。
3.75G - 4G(0xf000,0000 - 0xffff,ffff): AHB外设。
虽然ARM7的寻址空间为4G,但是LPC2200系列只提供A0~A23总共16M的地址。片选信号CS0 - CS3A24A25的译码输出,将片外存储区0x8000,0000 - 0x83ff,ffff划分为bank0 - bank3,16M*4=64M. 4bank可以被分别配置为8/16/32位总线宽度。复位时,bank0的总线宽度由Boot1:0引脚决定, bank132位,bank216位,bank38位。
字节定位信号(BLS0 - BLS3)协调总线宽度和外存芯片数据线宽度。
Memory字节宽度器件(如62256)或者未按照字节区分的多字节器件组成时,应将RBLE设置为"0"。此时,读访问时EMCBLS0~BLS3拉高。
Memory含有字节选择输入的16位或32位器件组成时,应将RBLE设置为"1"。此时,读访问时EMCBLS0~BLS3拉低。
所以,当
Memory62256组成时,由于不需要片内字节选择输入,故令RBLE = '0',则BLS0~BLS3只会与nWR同步,可以代替nWR使用。
但是,当
MemoryIS61LV25616AL组成时,由于该芯片有"nLB""nUB"控制低/8位的输入,故令RBLE = '1',则BLS0~BLS3nRDnWR都会同步,此时,不可以使用BLS0~BLS3代替nWR信号。
地址数据总线:D0 - D31, A0 - A23, OE, WE, CS0 - CS3, BLS0 - BLS3
启动后由P2.7/P2.6控制引导方式,然后由程序设置MEMMAP决定中断向量的映射。
BCFG0 - BCFG3控制读写延时和总线宽度。注意复位后的默认值。
PINSEL2控制引脚功能。
Boot Block
LPC2114/2214
BootBlock被固化在最高的Flash块中,运行时被映射到0x7FFF,E000 - 0x7FFFF,FFFF的区域。而LPC2210没有片内Flash,但它有8K片内ROM存储了BootBlock,也被映射到0x7FFF,E000处。
hsbjb 发表于 2009-11-19 21:30 | 显示全部楼层
看的不是很懂
xsgy123 发表于 2009-11-20 08:13 | 显示全部楼层
都是关于映射的,平时对这方面关注也比较少,没仔细研究过
pkat 发表于 2009-11-21 08:28 | 显示全部楼层
看不懂啊
司徒老鹰 发表于 2009-11-21 10:12 | 显示全部楼层
映射方面对我这个菜鸟来说太难了
秋天落叶 发表于 2009-11-22 09:30 | 显示全部楼层
原理性的东西是挺难得
zwll 发表于 2009-12-8 21:54 | 显示全部楼层
哎,慢慢看吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:姚明的铁杆球迷

150

主题

3470

帖子

3

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