Chinaunix首页 | 论坛 | 博客
  • 博客访问: 562003
  • 博文数量: 192
  • 博客积分: 3780
  • 博客等级: 中校
  • 技术积分: 1487
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 10:11
文章存档

2012年(6)

2011年(160)

2010年(26)

分类: 嵌入式

2011-05-19 20:48:38

 
 
mini2440的Nor Flash启动与Nand Flash启动
2011-01-24 23:16

Mini2440的硬件资源:

 

􀁺 CPU 处理器

- Samsung S3C2440A,主频400MHz,最高533Mhz

􀁺 SDRAM 内存

在板64M SDRAM

- 32bit 数据总线

- SDRAM 时钟频率高达100MHz

􀁺 FLASH 存储

在板 128M Nand Flash, 掉电非易失

在板 2M Nor Flash,掉电非易失,已经安装BIOS

 Mini2440的启动时读取的第一条指令是在0x00上,分为成nand flashnor flash上启动。

 Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。mini2440就是直接把vivi直接烧录在nor flash上。

 Nand flashIO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot

Mini2440Bootloader烧到nand flash上启动,因为在mini2440里有一个内置的SRAM,叫做stepping stone(垫脚石,很形象…),系统启动加电后,会把nand flash上的起始4KB的内容拷贝到SRAM里执行,这样就实现了从nand flash启动。如果bootloader小于4KB的话(像vboot),在SRAM里就能boot,大于4KB的话(u-bootvivi),在SRAM里做一些基本初始化后,再把bootloader的剩余部分拷贝到SDRAM里(>0x30000000)。

 我们使用mini2440的时候,经常通过nor flash启动,进入vivi的菜单(mini2440Nor flash已经烧录好了vivi),之后通过viviusb下载功能,把其他的bootloader下在到nand flash里,下载完成后,再通过nand flash启动,测试我们的bootloader

 NOR flash适合做代码存储并EIP的,NAND适合用来作大量数据存储的。

 

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

arm7是统一编址但是是冯氏结构
Cortex-M3是统一编址却是哈佛结构
这是因为取指和取数据的总线不同

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

所以51单片机有mov movx

阅读(964) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~