Nor Flash的原理及硬件操作

 

使用UBOOT体验NOR FLASH的操作(开发板设为NOR启动,进入UBOOT)
先使用OpenJTAG烧写UBOOT到NOR FLASH

1. 读数据

md.b 0
               Nor Flash的原理及硬件操作

和u-boot的内容完全一样


2. 读ID
NOR手册上:
解锁:往地址555H写AAH
      往地址2AAH写55H
命令:往地址555H写90H

                                                Nor Flash的原理及硬件操作

   Nor Flash的原理及硬件操作

  读0地址得到厂家ID: C2H
  读1地址得到设备ID: 22DAH或225BH
  退出读ID状态: 给任意地址写F0H

Nor Flash的原理及硬件操作

2440的A1接到NOR的A0,所以2440发出(555h<<1), NOR才能收到555h这个地址
UBOOT怎么操作?

•  往地址AAAH(555<<1)写AAH         mw.w aaa aa
•  往地址554(2AA<<1)写55H           mw.w 554 55
•  往地址AAAH(555<<1)写90H         mw.w aaa 90
•  读0地址得到厂家ID: C2H           md.w 0 1(1表示读一次)
•  读2地址得到设备ID: 22DAH或225BH          md.w 2 1
•  退出读ID状态:               mw.w 0 f0

                   Nor Flash的原理及硬件操作

3. NOR有两种规范, jedec, cfi(common flash interface)
读取CFI信息

NOR手册:
进入CFI模式 往55H写入98H

Nor Flash的原理及硬件操作

读数据: 读10H得到0051

Nor Flash的原理及硬件操作

读11H得到0052

                                                                                                       Nor Flash的原理及硬件操作

读12H得到0059

                                                                                                        Nor Flash的原理及硬件操作

读27H得到容量

 Nor Flash的原理及硬件操作

2440的A1接到NOR的A0,所以2440发出(555h<<1), NOR才能收到555h这个地址
UBOOT怎么操作?
进入CFI模式 往AAH写入98H       mw.w aa 98
读数据: 读20H得到0051         md.w 20 1
读22H得到0052           md.w 22 1
读24H得到0059           md.w 24 1
读4EH得到容量            md.w 4e 1
退出CFI模式              mw.w 0 f0

Nor Flash的原理及硬件操作

15换成2进制是21,意思是2M的容量

4. 写数据: 在地址0x100000写入0x1234
md.w 100000 1 // 得到ffff
mw.w 100000 1234
md.w 100000 1 // 还是ffff

Nor Flash的原理及硬件操作

 


NOR手册:
往地址555H写AAH
往地址2AAH写55H
往地址555H写A0H
往地址PA写PD


2440的A1接到NOR的A0,所以2440发出(555h<<1), NOR才能收到555h这个地址
UBOOT怎么操作?
往地址AAAH写AAH          mw.w aaa aa
往地址554H写55H           mw.w 554 55
往地址AAAH写A0H          mw.w aaa a0
往地址0x100000写1234h     mw.w 100000 1234

5. 再次往0x100000写入0x5678
因为原来0x100000上的数据不是0xffff,再次烧写失败
往地址AAAH写AAH
往地址554H写55H
往地址AAAH写A0H
往地址0x100000写5678h mw.w 100000 5678

Nor Flash的原理及硬件操作


5.1 先擦除
mw.w aaa aa
mw.w 554 55
mw.w aaa 80

mw.w aaa aa
mw.w 554 55
mw.w 100000 30

 

 

5.2 再烧写
mw.w aaa aa
mw.w 554 55
mw.w aaa a0
mw.w 100000 5678

Nor Flash的原理及硬件操作

让0x100000上的数据是0xffff,再次烧写

上一篇:JWT算法对比测试


下一篇:[SDOI2009]SuperGCD