mini2440的Nor Flash启动与Nand Flash启动

mini2440的Nor Flash启动与Nand Flash启动

Mini2440的硬件资源:

 CPU 处理器
- Samsung S3C2440A,主频400MHz,最高533Mhz
  SDRAM 内存
- 在板64M SDRAM
- 32bit 数据总线
- SDRAM 时钟频率高达100MHz
 FLASH 存储
- 在板 128M Nand Flash, 掉电非易失
- 在板 2M Nor Flash,掉电非易失,已经安装BIOS
 Mini2440的启动时读取的第一条指令是在0x00上,分为成nand flash和nor flash上启动。
 Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。mini2440就是直接把vivi直接烧录在nor flash上。
 Nand flash是IO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot。
Mini2440把Bootloader烧到nand flash上启动,因为在mini2440里有一个内置的SRAM,叫做stepping stone(垫脚石,很形象…),系统启动加电后,会把nand flash上的起始4KB的内容拷贝到SRAM里执行,这样就实现了从nand flash启动。如果bootloader小于4KB的话(像vboot),在SRAM里就能boot,大于4KB的话(u-boot,vivi),在SRAM里做一些基本初始化后,再把bootloader的剩余部分拷贝到SDRAM里(>0x30000000)。
 我们使用mini2440的时候,经常通过nor flash启动,进入vivi的菜单(mini2440的Nor flash已经烧录好了vivi),之后通过vivi的usb下载功能,把其他的bootloader下在到nand flash里,下载完成后,再通过nand flash启动,测试我们的bootloader。
 NOR flash适合做代码存储并EIP的,NAND适合用来作大量数据存储的。


哈佛结构还是冯氏结构跟统一编址还是独立编址没有必定关系,而是跟芯片的设计有关系,数据和程序是走不同的总线则是哈佛结构。如果如共用总线,取指取数据在一条总线上,那就是冯氏结构
arm7是统一编址但是是冯氏结构
Cortex-M3是统一编址却是哈佛结构
这是因为取指和取数据的总线不同

统一编址和独立编址不同是在指令上表现出来的
统一编址对不同的地址操作是有地址不同区分的
独立编址是通过不同的指令区分是对那个部分进行操作,否则地址相同没有办法区分了
所以51单片机有mov movx

转载至http://hi.baidu.com/shaobozuo/item/d10aefc9892a74c696445281

你可能感兴趣的:(c,IO,测试,Flash,存储)