加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

mini2440的Nor Flash启动与Nand Flash启动

发布时间:2020-12-15 18:20:29 所属栏目:百科 来源:网络整理
导读:CPU 处理器 - Samsung S3C2440A,主频400MHz,最高533Mhz ? SDRAM 内存 - 在板64M SDRAM - 32bit 数据总线 - SDRAM 时钟频率高达100MHz ?FLASH 存储 - 在板 128M Nand Flash,掉电非易失 - 在板 2M Nor Flash,掉电非易失,已经安装BIOS ?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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读