全部博文(67)
分类: 嵌入式
2012-06-13 21:18:14
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