历史上的今天
返回首页

历史上的今天

今天是:2025年04月21日(星期一)

正在发生

2021年04月21日 | mini2440的nor flash与nand flash启动过程区别

2021-04-21 来源:eefocus

简介:一、调试经验;二、问答;三、ARM的nor flash与nand flash启动过程区别。

--------------------------------------------------------


目标:祥读mini2440说明书


--------------------------------------------------------


一、调试经验


1.一位老电脑科学家的提示:当你遇到怪问题时,重启是一种最简单的解决办法之一。因为操作系统本身有不完善之处,不管是微软视窗还是苹果电脑。


2.USB转口线出现乱码问题:说明串口线的功能和性能不稳定。可购买性能好的代替之。


二、问答


1.什么是nand,什么是nor?nand启动与nor启动的区别及联系。(收集整理)


答:1)在NOR FLASH里面可以直接执行代码,而在NAND FLASH里面不可以,在2410里面,如果选择NAND启动方式的话,NAND里的代码是被拷贝到RAM里面去执行的。


2)NAND FLASH每次取数据前要写入好像是0X55,0XAA才行,而NOR FLASH直接取到数据。


3)NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。


2.如何开机进入BIOS模式?


答:将S2跳转开关打至nor flash端即可。


3.使用supervivi作为bootloader.而有些开发板使用uboot


4.SEC s3c241x什么意思?


三、ARM的nor flash与nand flash启动过程区别


s3c2440启动过程详解


1:地址空间的分配


2:开发板上一般都用SDRAM做内存flash(nor、nand)来当做ROM。其中nand flash没有地址线,一次至少要读一页(512B).其他两个有地址线


3:nandflash不用来运行代码,只用来存储代码,NORflash,SDRAM可以直接运行代码)


4:s3c2440总共有8个内存banks


6个内存bank可以当作ROM或者SRAM来使用


留下的2个bank除了当作ROM 或者SRAM,还可以用SDRAM(各种内存的读写方式不一样)


7个bank的起始地址是固定的


还有一个灵活的bank的内存地址,并且bank大小也可以改变


5:s3c2440支持两种启动模式:NAND和非NAND(这里是nor flash)。


具体采用的方式取决于OM0、OM1两个引脚


OM[1:0]所决定的启动方式


OM[1:0]=00时,处理器从NAND Flash启动


OM[1:0]=01时,处理器从16位宽度的ROM启动


OM[1:0]=10时,处理器从32位宽度的ROM启动。


OM[1:0]=11时,处理器从Test Mode启动。


6.开发板出厂时已经在nand flash,nor flash烧入了相同的BIOS。


当从NAND启动时


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


当从非NAND flash启动时


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


推荐阅读

史海拾趣

问答坊 | AI 解惑

AVR单片机在线编程下载线电路图,PCB图及HEX文件

AVR单片机在线编程下载线电路图,PCB图及HEX文件…

查看全部问答>

wince 5 沙漏(Hourglass)显示问题:点击屏幕,沙漏才有漏沙效果.

刚刚发现的问题,wince 5中用EVC 写应用程序自己调用显示沙漏, 第一种情况:如下,在初始化时显示沙漏持续5s钟,实际效果是,我双击打开应用程序,什么也看不到,如果我点击下屏幕,就会显示出沙漏,如不笔离开屏幕,沙漏也立刻消失.好像只有在点击屏幕是才 ...…

查看全部问答>

切换LCD分辨率时,调色板创建错误,大家来探讨一下!

MINI2440开发板下为了支持动态修改分辨率,在S3C2440DISP:S3C2440DISP()中生成了一个2个元素的数组GPEModeEx  m_ModeInfoEx[2],保存了2个显示模式的分辨率,NumModes()改为返回2,此外其他修改的源代码如下: SCODE S3C2440DISP::GetM ...…

查看全部问答>

WINCE中调用connect函数出错

char *sIp=\"192.168.11.105\";         int nPort = 3000;         int rc;         WSADATA  wsaData;         //SOCKET nConnect;   &nb ...…

查看全部问答>

CH2输入捕获问题

我用TIME2的CH2做输入捕获,数据不对,请大家帮我看一下初始化对不!谢谢! int main(void) { #ifdef DEBUG   debug(); #endif   /* System Clocks Configuration */   RCC_Configuration();  &nb ...…

查看全部问答>

SAMSUNG6410 死机

本帖最后由 jameswangsynnex 于 2015-3-3 20:02 编辑 用6410做了个平台,放着过一段时间,就死机了,不知道什么原因,我HOST USB没有,但没接15K,下拉,不知道,有没有关系 …

查看全部问答>

2812搜查令+2812学习课件

资料为学习DSP2812活动的课件,一二讲为基础介绍没有收录,从第三讲到第九讲,基本涵盖了DSP设计的所有方面,知识讲解比较透彻,从实际出发,容易接受。目录如下: 3、CCS常用操作 4、2812的片内资源、存储器映射以及CMD文件的编写 5、中断系统的理 ...…

查看全部问答>

9针串口母座在AD9的哪个库里?

我想请问9针串口母座在AD9的哪个库里?…

查看全部问答>