首页 > 其他 > 详细

s3c2440裸机-内存控制器(三-3、norflash编程之uboot中操作norflash)

时间:2020-05-12 19:10:03      阅读:77      评论:0      收藏:0      [点我收藏+]

uboot中操作NorFlash

前提:
norflash初始化正常,能够正常从nor上执行。

1.读取norFlash

我们将板子设为nor启动,那么0地址对应nor,我们先将uboot烧写到nor中。我们先看下这款NorFlash的手册,找到操作flash的命令表:

nor命令表.png

下面简单的举一些例子:

复位(reset):

往任何一个地址写入F0即可。

读ID:

很多的Nor Flash可以配置成位宽16bit(Word),位宽8bit(Byte),我们这款norflash数据位宽为16bit。下面我们按照nor手册尝试一下:

往地址555H写入AAH(解锁)	
往地址2AAH写入55H(解锁)
往地址555H写入90H(命令)
读0地址得到厂家ID(C2H)
读1地址得到设备ID(22DAH或225BH)
退出读ID状态(给任意地址写F0H就可以了)

上面的地址是对于norflash的,那么我们CPU要怎么发送地址呢?

技术分享图片

从上面原理图我们知道CPU和nor的地址是错位相连的,也就是:
技术分享图片

比如:

cpu地址 nor地址
A15~A1 A14~A0

那么可以看到cpu的地址实际相当于是nor地址左移了一位,那么比如要想给nor上的555H地址写入AAH,那么CPU要发出的地址应该为0x555<<1,也就是nor地址的2倍。

下面对在Nor Flash的操作,cpu的操作,U-BOOT上的操作进行比较,如下表:

Nor Flash的操作 cpu的操作 U-BOOT上的操作
往地址555H写入AAH(解锁) 往地址AAAH写入AAH(解锁) mw.w aa aaa
往地址2AAH写入55H(解锁) 往地址554H写入55H(解锁) mw.w 554 55
往地址555H写入90H(命令) 往地址AAAH写入90H(命令) mw.w aaa 90
读0地址得到厂家ID(C2H) 读0地址得到厂家ID(C2H) md.w 0 1 (1:表示读一次)
读1地址得到设备ID(22DAH或225BH) 读2地址得到设备ID(22DAH或225BH) md.w 2 1
退出读ID状态(给任意地址写F0H) 退出读ID状态(给任意地址写F0H) mw.w 0 f0

readId.png

读数据:

前面我们说过, nor可以像ram一样的读,所以只要做好内存控制器的初始化工作就可以直接读了。

readdata.png

读属性:

通常内核里面要识别一个 Nor Flash 有两种方法:

一种是 jedec 探测,就是在内核里面事先定义一个数组,该数组里面放有不同厂家各个芯片的一些参数,探测的时候将 flash 的 ID 和数组里面的 ID 一一比较,如果发现相同的,就使用该数组的参数。 jedec 探测的优点就是简单,只要通过flash的数组编号,即可访问该款flash属性,缺点是如果内核要支持的 flash 种类很多,这个数组就会很庞大。

一种是 CFI(common flash interface)探测,就是直接发各种命令来读取芯片的信息,比如 ID、容量等,芯片本身就包含了电压有多大,容量有有多少等信息。

我们的这款norflash属于cfi探测,下面对在Nor Flash上操作,2440上操作,U-BOOT上操作cfi 探测(读取芯片信息)进行比较参考芯片手册。

Nor Flash上操作cfi 2440上操作cfi U-BOOT上操作cfi
往55H地址写入98H(进入cfi模式) 往AAH地址写入98H mw.w aa 98
读地址10H得到0051(‘q‘) 读地址20H得到0051 md.w 20 1
读地址11H得到0052(‘r‘) 读地址22H得到0052 md.w 22 1
读地址12H得到0059(‘y‘) 读地址24H得到0059 md.w 24 1
读地址27H得到容量 读地址4EH得到容量 md.w 4e 1

2.写norFlash

我们之前讲过norflash可以像内存一样,用md命令直接读取,不能像内存一样直接写,那么

s3c2440裸机-内存控制器(三-3、norflash编程之uboot中操作norflash)

原文:https://www.cnblogs.com/fuzidage/p/12877760.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!