NORFLASH和NANDFLASH启动

发布者:trendsetter9最新更新时间:2022-07-19 来源: csdn关键字:NORFLASH  NANDFLASH  启动 手机看文章 扫描二维码
随时随地手机看文章

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

nand flash:适合大容量数据存储,类似硬盘;
nor flash:适合小容量的程序或数据存储,类似小硬盘;
sdram:主要用于程序执行时的程序存储、执行或计算,类似内存。


Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,
在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。 Nand flash是IO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot。


NANDFlash启动

NANDFlash控制器自动把nandflash存储器的前4K载到Steppingstone(内部SRAM缓冲器),并把0x00000000S设置为内部SRAM的起始地址,cpu从内部SRAM的0x00000000开始启动,这个过程不需要程序干涉。


(cpu会自动从NAND flash中读取前4KB的数据放置在片内SRAM里(s3c2440是soc),同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000)。cpu是从0x00000000开始执行,也就是NAND flash里的前4KB内容。因为NAND FLASH连地址线都没有,不能直接把NAND映射到0x00000000,只好使用片内SRAM做一个载体。通过这个载体把nandflash中大代码复制到RAM(一般是SDRAM)中去执行)。


程序员要完成的工作是把最核心的代码放在nandflash的前4K中。4K代码要完成S3C2440的核心配置以及启动代码(U-boot)的剩余部分拷贝到SDRAM中。


这4K的启动代码需要将NANDFlash中的内容复制到SDRAM中执行。NANDFlash的前4K空间放启动代码,SDRAM速度较快,用来执行主程序的代码。ARM一般从ROM或Flash启动完成初始化,然后将应用程序拷贝到RAM,然后跳到RAM执行。


NORflash启动

支持XIP即代码直接在NOR Flash上执行,无需复制到内存中。这是由于NORFlash的接口与RAM完全相同,可随机访问任意地址数据。NORflash速度快,数据不易失,可作为存储并执行起到代码和应用程序的存储器,norflash可像内存一样读操作,但擦初和写操作效率很低,远不及内存,一般先在代码的开始部分使用汇编指令初始化外接的的内存部件(外存SDRAM),最后跳到外存中继续执行。对于小程序一般把它烧到NANDflash中,借助cpu内部RAM(SRAM)直接云行。


nor flash被映射到0x00000000地址(就是nGCS0,这里就不需要片内SRAM来辅助了,所以片内SRAM的起始地址还是0x40000000). 然后cpu从0x00000000开始执行(也就是在Norfalsh中执行)。


NORflash速度快,数据不易失,可作为存储并执行起到代码和应用程序的存储器,norflash可像内存一样读操作,但擦初和写操作效率很低,价格很昂贵。SDRAM和nandflash的价格比较适中。根据这些特点,一些人产生了这样一种想法:外部nandflash中执行启动代码,SDRAM中执行主程序。NANDFlash控制器自动把nandflash存储器的前4K载到Steppingstone(内部SRAM缓冲器),并把0x00000000S设置为内部SRAM的起始地址,cpu从内部SRAM的0x00000000开始启动,这个过程不需要程序干涉。这4K的启动代码需要将NANDFlash中的内容复制到SDRAM中执行。NANDFlash的前4K空间放启动代码,SDRAM速度较快,用来执行主程序的代码。ARM一般从ROM或Flash启动完成初始化,然后将应用程序拷贝到RAM,然后跳到RAM执行。


关键字:NORFLASH  NANDFLASH  启动 引用地址:NORFLASH和NANDFLASH启动

上一篇:【总结】2440烧写方式
下一篇:【记录】NAND FLASH控制器

推荐阅读最新更新时间:2024-11-20 16:19

[linux kernel]内核启动阶段控制IO口时序输出
系统版本:Ubuntu18.04-64 编译器版本:gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1) uboot版本:2018.07 -linux4sam_6.0 板子型号:at91sama5d3x-xplained MCU型号:sama5d36 在一些特殊应用场景,在板子上电启动阶段就需要优先给IO进行上电,甚至是按照时序输出 ;比如:以前去广东电科院送检,有个检测项是4G模块在上电阶段,就要有RST信号出现1S低脉冲,然后ON/OFF信号200ms低脉冲,为了让4G模块和系统同步进入运行状态;就这么一个不起眼的操作,用单片机系统的厂家很快就解决了,
[单片机]
[linux kernel]内核<font color='red'>启动</font>阶段控制IO口时序输出
单相电机双电容怎么区分启动电容和运行电容
单相电机多为双电容器,也就是启动电和运行电容,以2.2KW电机为例,启动电容的容量较大,一般为100uF一150uF,运行电容容量较小,一般约为50uF左右。 单相电机双电容 启动电容和运行电容的一端同时接在启动绕组上,运行电容的另一端接电源,而启动电容器的另一端接在离心开关上,开关的另一端接电源。 当单相电机启动转速达到80%以上时,启动电容器被离心开关自动甩开,完成其启动使命,故称作启动电容器。 启动电容器被甩开后,运行电容接在启动绕组上继续通电运行,故称作运行电容。 还有部分单相电相由于设计不同只有启动电容器而没有运行电容器,故而称作单电容单相电机。 单向电机双电容分别启动电容和运行电容的方法: 1、220V单相双电容电
[嵌入式]
单相电机双电容怎么区分<font color='red'>启动</font>电容和运行电容
广东4K超高清电视试验播启动
23日,在广东 电视 中心演播厅,随着极具现代感的光影变幻和声响特效,广东广播电视台4K超 高清电视 试验播出启动,在全国拔得头筹,首个试开播。这标志着广东率先迎来4K超高清时代。画面更逼真、特效更震撼、场景更丰富、表演更细腻……4K超高清影视让“视界”耳目一新,成为现场观众最直接的感受。   实施4K影视网络应用与产业发展战略,是我省贯彻落实党的十九大精神,深化广电媒体供给侧结构性改革、抢占未来产业发展制高点、推动我省经济高质量发展的重要举措。4K超高清影视的推广,不仅让观众获得更优视听体验,也在信息产业领域开启了一场消费升级和产业转型。    先行先试打造“试验田”和“示范区”   在国家有关部门和省委省政府高度重视和支持
[家用电子]
STM32再学习——启动流程分析
我们写嵌入式程序,基本上采用C语言来编写,以main()作为程序的入口。但实际上,mian()并不是最先要执行的,在这之前需要做一些基本的工作,如堆、栈的定义;main函数的复位连接等,这些工作就需要一个专门的启动程序来完成,由于需要做的工作内容不多,并且需要更直接的管理内存,一般采用汇编编写。 本文引用地址:http://www.eepw.com.cn/article/236700.htm 无论是STM32、ARM系列的单片机,还是简单的如51,PIC等,都以为上述原因,需要启动程序,只不过51,PIC等单片机的启动程序已经在相应的IDE编译、链接的时候隐含的编译了,故在写单片机程序的时候无需考虑。而STM32的启动有相
[单片机]
keil提供的启动代码解析(STARTUP.A51)
1. 由Keil C生成的启动代码 程序清单1.1 AT89C51启动代码 $NOMOD51 //不使用51默认的特殊功能寄存器 ; ; This file is part of the C51 Compiler package ; Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. ; ; STARTUP.A51: This code is executed after processor reset. ; 说的很清楚,该代码会在处理器上电复位后首先执行 ; ; To translate this file use A
[单片机]
STM32三种启动模式
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM区,就是内存啦。 3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表: BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。 BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂
[单片机]
率先启动“绿色行动计划”中移动积极推广低碳业务
3月20日消息,为响应国家节能减排号召,中国移动率先启动“绿色行动计划”,积极推广绿色低碳业务。并同时引入风能、太阳能、燃料电池等新能源。 2007年,中国移动作为国资委节能减排“关注类”中央企业,积极响应国家节能减排号召,全面启动以节能减排为核心的“绿色行动计划”。 历经四年时间,中国移动“绿色行动计划”取得显著效果。据介绍,中国移动单位电信业务总量综合能耗2011年较2009年下降12%,每载频基站耗电2011年较2009年下降29%,单位业务量耗电2011年较2009年下降34%。 与此同时,中国移动还首创通信设备“绿色包装”,减少传统包装方式对木材的消耗;积极承担国家试点任务,探索节材代木推广经验。中
[网络通信]
10.NandFlash的驱动_写操作
上一节,学习了NandFlash的按页读的操作,下面是实现NandFlash的按页写。首先还是查看NandFlash芯片K9F2G08U0A的时序图 根据I/O pin角的信号信息,知道要实现NandFlash的写操作需要的步骤如下: 最后实现按页写的函数: int NF_WritePage(unsigned long addr, unsigned char* buff) { int ret; int i; //选中flash芯片 select_chip(); //清除RnB clear_RnB(); //发送命令0x80 send_cmd(0x80); //发送
[单片机]
10.<font color='red'>NandFlash</font>的驱动_写操作
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved