S3C2440的Nand Flash控制器有一个特殊的功能,在S3C2440上电后,Nand Flash控制器会自动的把Nand Flash上的前4K数据搬移到4K内部SRAM中,系统会从起始地址是0x0000 0000的内部SRAM启动。程序员需要完成的工作,是把最核心的启动程序放在Nand Flash的前4K中,也就是说,你需要编写一个长度小于4K的引导程序,作用是将主程序拷贝到SDRAM中运行。
1.核心板架构
注意的是:此处的RAM和ROM都是外置的
硬件框架 S3C2440+ SDRAM + NAND Flash + NOR Flash 也就是 CPU + RAM + ROM
2.S3C2440芯片
知识点001:16/32位ARM920T的RISC处理器。ARM920T实现MMU、AMBABUS和Harvard高速缓冲体系结构。
知识点002:具有独立16KB指令Cache和16KB数据Cache。每一个8字长的行组成。
知识点003:存在外部存储控制器SDRAM控制器。
知识点004:存在LCD控制器,
知识点005:存在4通道DMA,
知识点006:存在3通道UART,
知识点007:存在2通道SPI,
知识点008:存在1通道IIC-BUS接口,
知识点009:存在1通道IIS-BUS接口,音频编码/解码接口。
知识点010:存在AC97解码器
知识点011:支持SD卡主接口协议1.0版和MMC卡协议2.11版
知识点012:存在2端口USB主机和1端口USB设备
知识点013:存在4通道PWM定时器
知识点014:存在1通道内部定时器
知识点015:存在8通道10位ADC,
知识点016:存在RTC功能
知识点017:具有相机接口
知识点018:130个GPIO端口和24通道外部中断
知识点019:
3.SDRAM
知识点1:大小64MB
知识点2:宽度32bit
知识点3:频率100MHz
4.Flash Memory
知识点1:Nand Flash 256MHz
知识点2:Nor Flash 2MHz
知识点3:Nor Flash 要比 Nand Flash性能更好
5.地址空间分配和片选信号定义
地址空间分为三部分:主存储区、动态存储区、外设寄存器区。
主存储:包括静态存储区(存放img),又分成很多bank,片选+总线地址的方式 128MB*8=1GB
动态存储区:就是我们通常说的运行代码的内存
1. 核内地址
包含ARM核内寄存器,访问需要汇编语言,由31个通用寄存器+6个程序状态寄存器
2. 核外地址 0x0000 0000 ~ 0xFFFF FFFF 理论上可达4GB
0x0000 0000 ~ 0x4000 0000 外部存储器地址
0x4000 0000 ~ 0xFFFF FFFF 内部设备寄存器 和 BSP
最上图黄色部分为功能部件寄存器(也叫特殊功能寄存器),0x4000 0000~0xFFFF FFFF、大小3GB;包括存储器控制寄存器、NAND Flash控制器(挂NAND Flash)、中断控制器、IIS控制器、AC97音频编解码接口、IIC控制器、NAND Flash控制器、LCD控制器等等。存在于S3C2440A内部,即在这些寄存器上写入一些数据,则可控制相应功能部件的行为。