1. 存储资源
SDRAM: SDRAM地址空间:0x30000000 ~ 0x34000000
NORFLASH:
NANDFLASH
SRAM:
mini2440里有一个内置的SRAM,叫做stepping stone(垫脚石,很形象…),系统启动加电后,会把nand flash上的起始4KB的内容拷贝到SRAM里执行,这样就实现了从nand flash启动。如果bootloader小于4KB的话(像vboot),在SRAM里就能boot,大于4KB的话(u-boot,vivi),在SRAM里做一些基本初始化后,再把bootloader的剩余部分拷贝到SDRAM里(>0x30000000)。
==========================================================================
2. 嵌入式 Linux 软件结构与分布一般情况下嵌入式Linux系统中的软件主要分为以下几部分:
1) 引导加载程序:其中包括内部ROM 中的固化启动代码和BootLoader 两部分。
内部固化ROM是厂家在芯片生产时候固化的,作用基本上是引导BootLoader。
有的芯片比较复杂,比如Omap3在flash 中没有代码的时候有许多启动方式:
USB、UART或以太网等等。而S3C24x0 则很简单,只有Norboot 和
Nandboot。
2) Linux kernel和drivers。
3) 文件系统。包括根文件系统和建立于Flash内存设备之上的文件系统(EXT4、
UBI、CRAMFS等等)。它是提供管理系统的各种配置文件以及系统执行用户应
用程序的良好运行环境及载体。
4) 应用程序。用户自定义的应用程序,存放于文件系统之中。
在Flash 存储器中,他们的分布一般如下:
但是以上只是大部分情况下的分布,也有一些可能根文件系统是initramfs,被一起压缩到了内核映像里,或者没有Bootloader参数区,等等。
==========================================================================
3. 地址空间分配和片选信号定义S3C2440支持两种启动模式:一种是从Nand Flash启动(MINI2440即是此种);一种
是从Nor Flash启动。在此两种启动模式下,各个片选的存储空间分配是不同的,如下图:
上图中,
左边是nGCS0 片选的Nor Flash启动模式下的存储分配图;
右边是Nand Flash 启动模式下的存储分配图;
说明:SFR Area为特殊寄存器地址控制
下面是器件地址空间分配和其片选定义
在进行器件地址说明之前,有一点需要注意,nGCS0片选的空间在不同的启动模式下,映射的器件是不一样的。由上图可以知道:
在NAND Flash 启动模式下,内部的4K Bytes BootSram被映射到nGCS0 片选的空间;
在Nor Flash 启动模式下(非Nand Flash启动模式),与nGCS0相连的外部存储器Nor Flash 就被映射到nGCS0 片选的空间
SDRAM 地址空间:0x30000000 ~ 0x34000000
==========================================================================
4. 内核中 NAND Flash 的分区在移植好的内核中,/arch/arm/match-s3c2440/match-mini2440.c中可以看到:
点击(此处)折叠或打开
==========================================================================
5 这些地址是如何联系起来的呢?在《 mini2440 之 U-boot 移植详细手册 -20100419 》4.3 下载与烧写
使用U-boot 将映像文件烧写到板上的Flash,一般步骤是:
(1)通过网络、串口、U 盘、SD 卡等方式将文件传输到SDRAM;
(2)使用Nand Flash 或Nor Flash 相关的读写命令将SDRAM 中的数据烧入Flash。
下面是烧写范例:
如果使用 SD 卡和U 盘形式更新U-boot,那么首先SD 卡和U 盘中必须有FAT32 文件系统,并在里面存放了u-boot.bin 文件。
4.3.1 通过 SD 卡烧入Nand Flash:
点击(此处)折叠或打开
==========================================================================
参考:
[1] mini2440之U-boot移植详细手册-20100419
[2] mini2440用户手册 -20100925
[3]uboot移植之命令烧写uboot,zImage.img,root .
[4]uboot与系统内核中 MTD分区的关系
[5] mini2440的Nor Flash启动与Nand Flash启动