关于NAND、NOR启动程序的具体走向

来源:互联网 发布:网络销售药品许可证 编辑:程序博客网 时间:2024/05/16 16:57

    看完《TQ2440学习之硬件篇》,相信大家应该清楚NAND FLASH和NOR FLASH还有SDRAM的地址空间分配了吧。这里我还是贴上图片,方便后面对启动过程进行分析:

TQ2440中内存分配及各存储器特性:

NOR FLASH:0x0000 0000 开始的 2Mb空间,NOR FLASH可以存储程序也可以运行程序,介质很稳定,所以造价昂贵;

NAND FLASH:没有地址线,大小256Mb,NAND FLASH可以存储程序不能运行程序,所以造价便宜;

SDRAM:0x3000 0000开始的128Mb,SDRAM掉电数据丢失,用来运行程序。


图1 S3C2440启动方式说明

由上图可知,S3C2440支持两种启动模式:NAND和非NAND(这里是Nor Flash),具体采用的方式取决于OM0、OM1两个引脚的状态。

OM[1:0所决定的启动方式

OM[1:0]=00时,处理器从NAND Flash启动            (NAND FLASH启动)

OM[1:0]=01时,处理器从16位宽度的ROM启动

OM[1:0]=10时,处理器从32位宽度的ROM启动。(NOR FLASH启动)

OM[1:0]=11时,处理器从Test Mode启动。


NOR FLASH启动流程:

    上电,程序从NOR FLASH的0x0000 0000开始运行,由于NOR FLASH空间只有2MB,通常只能装下bootloader,操作系统内核代码和文件系统装在NAND FLASH;bootloader在NOR FLASH里面运行,其中有一段代码完成NAND FLASH内容搬移到SDRAM上,然后通过跳转到一个标号完成程序从NOR FLASH到SDRAM的操作。


NAND FLASH启动流程:

    上电,程序从cpu自带的4KB SRAM(CPU专门用于配合NAND FLASH启动方式的存储器)的0x0000 0000开始运行,由于SRAM空间只有4kB,通常只能装下bootloader或者一部分bootloader,操作系统内核代码和文件系统装在NAND FLASH;bootloader在SRAM FLASH里面运行,在前4kb代码完成NAND FLASH内容搬移到SDRAM上,然后通过跳转到一个标号完成程序从SRAM 到SDRAM的操作。虽然叫做NAND启动,但是程序至始至终没有在NAND flash上面运行。

   要想了解启动之后bootloader、系统内核、文件系统具体存放位置,可以仔细阅读bootloader的代码(可以查看内存分配文件)。



0 0
原创粉丝点击