arm地址空间分配与启动时地址的映射

arm地址空间分配与启动时地址的映射

ID:37321845

大小:125.50 KB

页数:29页

时间:2019-05-21

arm地址空间分配与启动时地址的映射_第1页
arm地址空间分配与启动时地址的映射_第2页
arm地址空间分配与启动时地址的映射_第3页
arm地址空间分配与启动时地址的映射_第4页
arm地址空间分配与启动时地址的映射_第5页
资源描述:

《arm地址空间分配与启动时地址的映射》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、s3c2440地址空间的分配s3c2440启动过程详解一:地址空间的分配1:s3c2440是32位的,所以可以寻址4GB空间,内存(SDRAM)和端口(特殊寄存器),还有ROM都映射到同一个4G空间里.2:开发板上一般都用SDRAM做内存flash(nor、nand)来当做ROM。其中nandflash没有地址线,一次至少要读一页(512B).其他两个有地址线3:norflash不用来运行代码,只用来存储代码,NORflash,SDRAM可以直接运行代码)4:s3c2440总共有8个内存banks6个内存ban

2、k可以当作ROM或者SRAM来使用留下的2个bank除了当作ROM 或者SRAM,还可以用SDRAM(各种内存的读写方式不一样)7个bank的起始地址是固定的还有一个灵活的bank的内存地址,并且bank大小也可以改变5:s3c2440支持两种启动模式:NAND和非NAND(这里是norflash)。具体采用的方式取决于OM0、OM1两个引脚OM[1:0所决定的启动方式 OM[1:0]=00时,处理器从NANDFlash启动OM[1:0]=01时,处理器从16位宽度的ROM启动OM[1:0]=10时,处理器从3

3、2位宽度的ROM启动。OM[1:0]=11时,处理器从TestMode启动。 当从NAND启动时cpu会自动从NANDflash中读取前4KB的数据放置在片内SRAM里(s3c2440是soc),同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000)。cpu是从0x00000000开始执行,也就是NANDflash里的前4KB内容。因为NANDFLASH连地址线都没有,不能直接把NAND映射到0x00000000,只好使用片内SRAM做一个载体。通过这个载体把nandflash中大代码复制到

4、RAM(一般是SDRAM)中去执行当从非NANDflash启动时norflash被映射到0x00000000地址(就是nGCS0,这里就不需要片内SRAM来辅助了,所以片内SRAM的起始地址还是0x40000000). 然后cpu从0x00000000开始执行(也就是在Norfalsh中执行)。  总结:Arm的启动都是从0地址开始,所不同的是地址的映射不一样。在arm开电的时候,要想让arm知道以某种方式(地址映射方式)运行,不可能通过你写的某段程序控制,因为这时候你的程序还没启动,这时候arm会通过引脚的电

5、平来判断。1当引脚OM0跟OM1有一个是高电平时,这时地址0会映射到外部nGCS0片选的空间,也就是Norflash,程序就会从Norflash中启动,arm直接取Norflash中的指令运行。2当OM0跟OM1都为低电平,则0地址内部bootbuf(一段4k的SRAM)开始。系统上电,arm会自动把NANDflash中的前4K内容考到bootbuf(也就是0地址),然后从0地址运行。这时NANDFlash中的前4K就是启动代码(他的功能就是初始化硬件然后在把NANDFlash中的代码复制到RAM中,再把相应的

6、指针指向该运行的地方)    为什么会有这两种启动方式,关键还是两种flash的不同特点造成,NOR FLASH容量小,速度快,稳定性好,输入地址,然后给出读写信号即可从数据口得到数据,适合做程序存储器。NAND FLASH 总容量大,但是读写都需要复杂的时序,更适合做数据存储器。这种不同就造成了NORflash可以直接连接到arm的总线并且可以运行程序,而NANDflash必须搬移到内存(SDRAM)中运行。   在实际的开发中,一般可以把bootloader烧入到Norflash,程序运行可以通过串口交互,

7、进行一定的操作,比如下载,调试。这样就很可以很方便的调试你的一些代码。Norflash中的Bootloader还可以烧录内核到Norflash等等功能。转:sdram,nandflash,norflash,地址分配前三篇文章里,我分析了S3C2440与SDRAM,NORFLASH,NANDFLASH的连线。在S3C2440开发板这个系统中,这三种存储芯片的地址是如何分配的呢?首先看下图:这是S3C2440的存储器地址分配图,SDARM只能接在BANK6或BANK7.从分析SDRAM接线的文章里的SDRAM接线图

8、可以看到,SDRAM接的是ngcs6,也就是接在BANK6,因为选择的SDRAM是2片32Mbyte,总容量是64Mbyte,所以SDRAM的地址范围是0x30000000---0x33ffffff。 S3C2440的OM0,OM1脚决定系统启动模式:TQ2440开发板的NORFLASH是16bit数据位宽,选择从NORFLASH启动,所以OM0接VDD,OM1接VSS,从分析NORF

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。