NOR FLASH 的驱动程序

本文介绍了NOR Flash与Nand Flash的区别,并通过U-boot详细展示了NOR Flash的读数据、读ID、遵循的Jedec和CFI规范以及写数据操作。接着,探讨了NOR Flash驱动程序的框架,涉及硬件操作和代码实现,最后进行了测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Nor Flash 和 Nand Flash 的区别

这里写图片描述

二、使用U-boot来体验NOR FLASH的操作

在使用之前,必须把启动方式设置为 NOR启动; 

1. 读数据

md.b 0 

2. 读ID

NOR手册上:

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

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

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

3. NOR有两种规范, jedec, cfi(common flash interface)

jedec
得到NORFLASH的ID之后,根据内核已经存在的ID比较,如果 符合,才会从数组里得到相关信息
cfi
NORFALSH内部已经存放有相关信息,通过发送一些命令就可以读取出来。

读取CFI信息

NOR手册:   
进入CFI模式    
读数据: 
        往55H写入98H
        读10H得到0051
        读11H得到0052
        读12H得到0059
        读27H得到容量

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
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值