nand&nor flash启动判断

判断当前程序是从nor flash 启动还是nand flash启动,nor启动,0地址就是nor flash 的

0地址,nor flash 可以向内存一样读,取值执行,不能像内存一样写,因此对于nor flash

中的数据段,需要读入内存,或者片内内存中执行。

Nand flash启动,开启后,nand中前4k代码被读入到片内内存中执行,因此nand启动,

开机指向的就是片内的4k内存,片内内存可读写,Nor只可读,不可写。

因此向0地址中写值结果作为判断nand ,nor启动的依据。

Nor flash启动:

执行简单的拷贝动作,将0地址开始的一段长度内容拷贝放置于sdram的基地址(0x3000 0000)处

Nand flash:

Nand初始化,

Nand将源地址拷贝到内存中。

链接文件:

主要是指定了初始地址,代码段,数据段,bss(初始值为0的全局变量)的地址

nand&nor flash启动判断

时间: 2024-11-09 06:11:48

nand&nor flash启动判断的相关文章

u-boot-2014.10移植第26天----nand flash启动(四)

硬件平台:tq2440 开发环境:Ubuntu-3.11 u-boot版本:2014.10 本文允许转载,请注明出处:http://blog.csdn.net/fulinus u-boot-2014不管你是从Nor flash还是Nand flash启动,它都会根据SDRAM的空间计算u-boot被重定向的位置,由于Nor flash可以像SDRAM那样操作.代码可以直接在Nor flash中运行,所以对于它而言重定向容易实现.但是Nand flash不能直接像SDRAM那样操作,那么,要实现从

u-boot-2014.10移植第25天----nand flash启动(三)

硬件平台:tq2440 开发环境:Ubuntu-3.11 u-boot版本:2014.10 本文允许转载,请注明出处:http://blog.csdn.net/fulinus 在实现u-boot从nand flash启动之前,我们将前面asm_led程序放在nand flash第一个块的前4Kbit之中,因为asm_led没有系统初始化功能,所以还需要将bootstrap程序,放在nand flash的0地址处.bootstrap初始化完2440后,跳转到asm_led程序去执行.这对于掌握从n

u-boot-2014.10移植第24天----nand flash启动(二)

硬件平台:tq2440 开发环境:Ubuntu-3.11 u-boot版本:2014.10 本文允许转载,请注明出处:http://blog.csdn.net/fulinus nand flash启动 比较新的u-boot版本包括u-boot-2014版本的都是用重定向的机制,而且用到了代码位置无关的技术,在u-boot连接时使用了-pie选项: -pie : Produce a position independent executable on targets which support i

DM365视频处理流程/DM368 NAND Flash启动揭秘

DM365的视频处理涉及到三个相关处理器,分别是视频采集芯片.ARM处理器和视频图像协处理器(VICP),整个处理流程由ARM核协调.视频处理主要涉及三个处理流程,分别是视频采集.视频编码和对编码后的视频的处理,为了提高性能,通常为每个处理流程提供一个处理线程.视频采集  TVP5146将采集到的视频数据转化为数字信号,并将这些数据送入DM365的BT656接口,然后通过Resize得到所需要的分辨率,然后将这些数据写入到指定的内存中,这些内存空间由cmem模块分配.cmem模块用于分配连续的存

[转]s3c2440 NAND与NOR启动方式详解

一:地址空间的分配1:s3c2440是32位的,所以可以寻址4GB空间,内存(SDRAM)和端口(特殊寄存器),还有ROM都映射到同一个4G空间里. 2:开发板上一般都用SDRAM做内存flash(nor.nand)来当做ROM.其中nand flash没有地址线,一次至少要读一页(512B).其他两个有地址线 3:nandflash不用来运行代码,只用来存储代码,NORflash,SDRAM可以直接运行代码) 4:s3c2440总共有8个内存banks6个内存bank可以当作ROM或者SRAM

DSP2812学习笔记-内部Flash启动过程

2812从内部flash启动的详细流程说明: a) 程序硬件复位或者软件复位 b) 判断mp/mc是否为0,为0则从boot rom启动,否则从外部启动(见附录1) c) 到boot rom的0x3FFFC0处取出复位向量,跳到boot函数 d) 采集IO管脚状态,根据IO状态选择boot方式(见附录2) e) 如果是flash,程序退出boot函数,跳转到0x3F7FF6 f) 取出跳转指令,跳转到自己的指定地址或者C初始化的入口_C_INT00处 g)  在C初始化的入口_C_INT00对一

NOR型flash与NAND型flash的区别

转自http://jinren1010.spaces.eepw.com.cn/articles/article/item/15556 (1)闪存芯片读写的基本单位不同应用程序对NOR芯片操作以“字”为基本单位.为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区.读写时需要同时指定逻辑块号和块内偏移.应用程序对NAND芯片操作是以“块”为基本单位.NAND闪存的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字节.要修改N

关于NAND、NOR启动程序的具体走向

看完<TQ2440学习之硬件篇>,相信大家应该清楚NAND FLASH和NOR FLASH还有SDRAM的地址空间分配了吧.这里我还是贴上图片,方便后面对启动过程进行分析: TQ2440中内存分配及各存储器特性: NOR FLASH:0x0000 0000 开始的 2Mb空间,NOR FLASH可以存储程序也可以运行程序,介质很稳定,所以造价昂贵: NAND FLASH:没有地址线,大小256Mb,NAND FLASH可以存储程序不能运行程序,所以造价便宜: SDRAM:0x3000 0000

FPGA设计——SPI Flash启动之MC8051设计

1. 概述 本设计采用FPGA技术,在FPGA中实现8051单片机的软核,将外部SPI Flash中的代码数据加载到FPGA内部ram,然后复位MC8051,实现外部flash启动MC8051. 2. 系统框图 8051采用Oregano Systems公司开源的MC8051软核.SPI Flash采用W25Q16芯片存储8051的代码程序.系统框图如下: 3. MC8051简介 Oregano Systems的8051单片机采用VHDL语言开发,具有如下特点: 采用完全同步设计 指令集和标准