mini2440的Nor Flash启动与Nand Flash启动

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值