7570|19

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

nor flash nand flash问题大家指教。 [复制链接]

现在马上要做一个东西,就是以前的板子上是nor+nand flash的方式,现在只用nand flash做uboot、kernel 文件系统。


请问我要怎样做,才能把uboot、kernel、文件系统都烧到只有nand flash的板子上并让他运行,并没问题。



请问我要怎么入手做这个东西,要了解些什么,其中会遇到什么问题,怎么解决。



小弟以前没弄过这个,哪位做过或知道怎么做的高人给指点指点,引引路。


谢谢了,不胜感激。

最新回复

先顶一个再说~  详情 回复 发表于 2009-3-31 17:23
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

这个与板子具体相关,如果是ARM,可参考
http://www.2@1ic.com/news/html/73/show17529.htm

 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
首先感谢您给的链接。应该会有帮助。

我想问的是:

是否可以给出个思路,就是我都要改写什么,做些什么,给出个整体的路子。看那种东西感觉还是理解不上去。



谢谢大家了。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
如果你的处理器支持NAND 启动,如S3C2410,AT91RM9200,你可以采用这种方法,.

具体的思路是,用防真器灌一段程序,在sdram中运行,这段程序初始话好串口.然后用这段程序写nand 启动的boot,写好后,跳到nand启动的地址开始运行就ok了.kernel 文件系统可以通过usb或者网卡的方法下载,前提是boot中已经加载上这些驱动.

除了这些方法,就是可以用编程器烧录了,前提是你的芯片活动性比较强,容易取下....支持nand 比较好的编程器有西尔特,data-io等.
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
不懂,是否可以具体说一下。我只是想把以前的nor+nand的方式改成只用nand的方式。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(中级)

6
 
你既然想改NAND,那么是否了解NOR boot和NAND boot的差别?你用的CPU平台是否支持NAND boot呢?

如果你确定知道两者差别,并且你的CPU支持NAND Boot,那么你需要了解:

CPU一般会将NAND的前一个或几个BLOCK内的程序(数据),复制到CPU内部的一个RAM中,这个RAM的映射地址一般在0x0000(针对ARM体系,如果是别的体系,那么就应该在系统复位后,执行第一条指令的地址),然后系统就会执行这个RAM中的程序了。

这个引导程序会初始化系统,一般包括串口、SDRAM、NAND,然后将指定位置(因为这个引导程序也是程序员写的,所以这个位置也是可改的)的boot程序读到SDRAM中,然后跳转到SDRAM中的boot程序的main。后续的程序运行,都在SDRAM中,而且从现在开始,系统的运行方式和用NOR实现BOOT的系统运行方式就一样了。

所以,NAND和NOR最大的差别,就是BOOT的方式。一旦从NAND能实现BOOT后,下面的事就好办多了。

将符合CPU的NAND BOOT规定大小的程序烧录到NAND的开始几个BLOCK。
将uboot烧录到后续的block。这个烧录位置是由引导程序来确定的,引导程序中写了是哪里,这个uboot就得烧到哪里。
烧录好后,就可以启动了。启动了uboot后,再烧录OS镜像,就和NOR BOOT下没什么差别了。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢,我再继续了解一下。不过您讲的很明白了。


十分感谢。


谢谢了!!!!!!!!!

 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
还想问一下:

                 cpu支持nand、nor flash是什么意思?是cpu不能到那去寻址还是电路板设计时布线的问题。为什么cpu支持不支持呢,不都是去那个地址读程序吗?这个和cpu的结构和硬件上有什么联系吗?


谢谢了。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

9
 
指的是支持NAND 和 NOR flash启动,nor flash 是直接映射,CPU直接在 nor flash取指令执行,nand flash启动是指CPU启动时会把nand flash的前几页拷贝到SRAM中再执行。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 7 楼 unbutun 的回复:
还想问一下:

                cpu支持nand、nor flash是什么意思?是cpu不能到那去寻址还是电路板设计时布线的问题。为什么cpu支持不支持呢,不都是去那个地址读程序吗?这个和cpu的结构和硬件上有什么联系吗?


谢谢了。


    CPU支持NOR,一般是指CPU是否可以引出地址线/数据线,从而允许使用(地址线+数据线)类型的外设(NOR就是典型的一种)。一旦支持,就可以实现连续空间寻址,可以实现在NOR上的“片内运行”(eXecute In Place,简称XIP)。如果你用过51/AVR/PIC之类的单片机,或者常见的ARM7之类的芯片,应该就能明白程序在FLASH内运行是什么意思。

    CPU支持NAND有两种含义:一是支持NAND读写操作,一是支持NAND BOOT。当然,现在一般能支持NAND接口的,都会支持NAND BOOT,不然就没意义了。NAND只有8根数据线,所以无法支持连续空间寻址,只能地址/数据复用,也就是在这8根数据线上会传输地址、数据、命令。

    NOR和SRAM都是可以连续空间寻址的,但是对于地址线的要求就多了,比如1MB的地址空间,需要20根地址线(2^20=1048576=1MB)。而NAND的外部接口是统一的,只要内部升级就行。最小单位的性价比,NAND比NOR好太多了。不过由于NAND不支持连续空间寻址,无法直接实现片内程序运行,所以要实现NAND BOOT,需要CPU端做一些特殊处理,一般都是将一定大小的程序从NAND读到CPU内部的SRAM里,从SRAM实现BOOT。

    NAND和NOR的各自原理,互相的差异以及如何选择,这里想说清楚比较麻烦,建议去google一下,很多相关的介绍。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

11
 
好的,我先了解下再说。谢谢了。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

12
 
大侠,是否可以解释下地址线数据线的问题。对这个有点晕。


o(∩_∩)o...,谢谢了!!!!!
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

13
 
哪个地址数据线的问题?NOR的?NAND的?这些是总线操作呀,没接触过吗?
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(高级)

14
 
lz最好先补补计算机原理,数字电路等等这些基础课,然后花点时间仔细读读CPU和NOR,NAND的数据手册,这样会再提问效果就会好些,要不然连地址线数据线的问题都没搞懂,还想搞嵌入式开发?
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

15
 
有冇朋友EDA编程叻噶??帮帮手啊·~~   
    用VHDL设计一个倒计时计数器,预置一个四位十进制数,每个时钟脉冲到来减1,减到0即停止,发出时间到的报警信号。报警时,用50hz驱动蜂鸣器,发出报警声音。只提供一个1khz信号的时钟信号。(即要求设计分频器分别得到计时用的1hz和报警用的50hz)
要求:必须给出源程序,和必要的原理说明和仿真图(对仿真图也要做必要的说明)。所有程序必须是编译通过的源程序。
会的朋友请CQ好吗??或者有人的朋友编程厉害的,帮忙传一下好吗???感激不尽~~~
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 13 楼 zgz 的回复:
lz最好先补补计算机原理,数字电路等等这些基础课,然后花点时间仔细读读CPU和NOR,NAND的数据手册,这样会再提问效果就会好些,要不然连地址线数据线的问题都没搞懂,还想搞嵌入式开发?


学习
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

17
 
lz最好先补补计算机原理,数字电路等等这些基础课,然后花点时间仔细读读CPU和NOR,NAND的数据手册,这样会再提问效果就会好些,要不然连地址线数据线的问题都没搞懂,还想搞嵌入式开发?

基本的概念没有搞懂,人家说的再清楚你还是不明白!
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(初级)

18
 
顶 。。。。。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

19
 
顶一个
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

20
 
先顶一个再说~
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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