嵌入式linux学习笔记--20200224--JZ2440V3-S3C2440的Nor Flash启动流程分析以及参数修改测试
NOR Flash 是一种常见的存储设备。它可以向内存一样的读,但是不可以像内存一样写。 因为它的这一特性很多的嵌入式linux 设备都会有一块NOR flash 作为启动的芯片。在系统一上电之后就可以直接开始运行程序,执行初始化操作。但是由于价格的原因,NOR flash 一般都不会很大大多都是用作启动的芯片的(我觉得用来放boot loader 也是非常棒的 用来实现ISP 会简单很多) 我们先来分析开发板的主控芯片 S3C2440 ,很老很老的一款芯片了,也就比我小几岁。 这是S3C2440 不同的启动模式对应的内存图。 主要是两大类,一类是 NAND启动,一类是非NAND。 当进行nand启动的时候 CPU 会自动云心内部的程序把 NANDFlash 上面的前 4K的数据拷贝到片内仅有的 4K内存上 这时候这一段内存对应的地址就是0~ 4095 (程序上电是从 0地址开始运行的 ) 当启动模式是非 NAND 启动的时候(NOR启动) 程序是直接从0地址开始运行的 片内的4K ram 的地址变成 0x4000 0000以及之后的4K 空间 接下来我们分析一下时序部分 根据时序图 我们可以知道 读取的 时序的逻辑是 先发送地址线(A24:A0) 然后发送指定的片选线 nGCSx 和nOE(输出使能) 这是 JZ2440 开发板的 NOR flash 芯片我的 读取时序 NOR