历史上的今天
返回首页

历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2021年10月12日 | S3C2440裸机------Nor Flash原理及硬件操作

2021-10-12 来源:eefocus

1. nandflash和norflash的区别

我们的nandflash上面只有8条数据线,在数据线上既传输命令又传输数据,但是我们的norflash和内存接口是一样的,有地址线和数据线,norflash可以像内存一样读,但是不能像内存一样写。如果norflash也能像内存那样写的话,那就比较容易被破坏,如果想写norflash,要发出某些特定的命令,需要做一些特殊的操作才能烧写norflash。下图是norflash和nandflash的区别。


2.norflash的操作

上图是norflash的命令,


如果想复位norflash,那么只需要向任意地址写入F0即可。


2.1 读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写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


2.2 读取CFI信息

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


所谓的jedec就是上面图片表格里面的这些命令,我们可以通过这些命令得到芯片的ID,擦除芯片,或者烧写数据,以前老的norflash都支持jedec接口,以前我们如果想获取norflash的容量,那么需要用命令读取ID,然后去和内核的数组进行比较,然后得到容量,现在新的norflash还要支持cfi接口,我们可以直接读取容量信息。

从上表中可以看到,在cfi模式下,我们读取地址27就可以得到容量0014,2的14H次方就是它的容量。


读取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

               退出CFI模式                mw.w 0 f0


2.3 写数据

md.w 100000 1     // 得到ffff

mw.w 100000 1234

md.w 100000 1     // 还是ffff 说明写不进去。不能像内存一样去写。


要按照下面的命令去写

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


2.4再次烧写

再次往0x100000写入0x5678

因为原来0x100000上的数据不是0xffff,再次烧写失败,只有全是f的时候才能往里面写。

往地址AAAH写AAH               

往地址554H写55H               

往地址AAAH写A0H               

往地址0x100000写5678h         mw.w 100000 5678


写完之后读出来并不是5678,烧写失败。


先擦除

先解锁,然后发出擦除命令,然后再解锁,然后往扇区地址发出30h。


mw.w aaa aa

mw.w 554 55

mw.w aaa 80


mw.w aaa aa

mw.w 554 55

mw.w 100000 30


再烧写

mw.w aaa aa

mw.w 554 55

mw.w aaa a0

mw.w 100000 5678

————————————————

版权声明:本文为CSDN博主「陈 洪 伟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u013171226/article/details/119188667


推荐阅读

史海拾趣

Galaxy Microelectronics公司的发展小趣事

深圳市飞翼科技有限公司自2006年成立以来,一直致力于模拟与数字MCU混合芯片领域的研究、设计和开发应用。公司主攻电容式触摸感应按键芯片设计,凭借多项独有的专利技术,成功突破了行业内的技术难点。经过多年的努力,飞翼科技已成为该应用领域中技术最全面、市场份额最大的公司之一。其电容式触摸感应芯片广泛应用于各类电子产品中,为用户带来了更加便捷、智能的交互体验。

Advanced Detector Corp公司的发展小趣事

为了进一步提升竞争力,ADC积极寻求与其他企业的战略合作。通过与业界领先的企业建立合作关系,ADC成功整合了各方资源,共同研发新技术、新产品。这些合作不仅加速了ADC的技术创新步伐,也为其带来了更多的商业机会。

Automatic Connector公司的发展小趣事

为了保持技术创新的活力,Automatic Connector公司积极与高校和研究机构开展产学研合作。通过与这些机构的深度合作,公司能够及时了解最新的科研成果和技术趋势,为产品的研发和创新提供有力的支持。同时,公司还为合作机构提供实践平台和技术支持,实现了资源共享和互利共赢。这种产学研合作的模式为Automatic Connector公司的创新发展注入了强大的动力。

这五个故事虽然是以虚构的Automatic Connector公司为背景,但它们所反映的电子连接器制造企业的发展规律和市场环境是真实存在的。希望这些故事能够为您了解电子行业中的企业发展提供一些启示。

General Diode Corp公司的发展小趣事
焊接参数无法设置或无法保存。
ATO SOLUTION公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。ATO SOLUTION公司始终坚持以质量为核心,建立了严格的质量管理体系。公司从原材料采购到产品生产的每一个环节都进行严格把控,确保产品质量的稳定性和可靠性。这种对品质的执着追求,使公司赢得了客户的信任和口碑,为公司的长期发展奠定了坚实基础。

Electro Technik Industries公司的发展小趣事

随着电子技术的快速发展,ETI意识到只有不断创新才能在竞争中立于不败之地。公司加大了对研发的投入,积极引进国内外先进技术,并鼓励员工提出创新性的想法。在一次偶然的实验中,ETI的研发团队成功研发出了一种具有高效能、低功耗特点的电子元器件,这一突破性的技术成果迅速获得了市场的认可,为ETI带来了可观的收益。

问答坊 | AI 解惑

送分100分:关于有功功率

有以下几个问题: 1、有功功率都可以转换为除热能之外的其他什么形式的能,转换为其他形式的能又如何计算,比如热能是I^2R,其他形式的能有没有计算方法。 2、无功功率是不是最终还要回到电源处。…

查看全部问答>

request_dma()函数中第一个参数是怎么得到?

int request_dma(unsigned int dmanr, const char * device_id) 参数dmanr是从0~3、5~7里面的随便挑一个就行了么? 还是需要怎么做来得到啊…

查看全部问答>

共享很多通信好资料! 刚发现一个通信的论坛,内容蛮不错的,加散分喽~

    很多资料啊,都是免费的     无线通信部分:     无线通信基础     http://www.itgoal.net/viewthread.php?tid=6982&extra=page%3D1     天线基本知识及应用     http://www. ...…

查看全部问答>

谁有关于Z80单片机的中文资料

本人由于毕业设计的需要,目前只有英文资料,哪位大虾有关于Z80的中文资料或相关的文档,小弟不胜感激. 有的话 请发邮箱 lbp213213@sina.com 与我联系…

查看全部问答>

Windows XP + VC 6.0 + WinXP_DDK + DriverStudio 3.2

1·前言 开发windows内核驱动程序是一个非常具有挑战性的工作,你得忍耐调试过程中操作系统 不断蓝屏、不断崩溃的噩梦,所以强烈建议你采用虚拟机做开发平台,这样即使把整个系统都搞蹦了,大不了从新装过虚拟机而已。那么搭建一个完整的 Windows ...…

查看全部问答>

Lm3s8962 Lwip #include .c文件 不足

首先感谢EEWorld 网站提供的LM3S8962的开发板,由于春节放假,板子一直没有研究。现在回到工作岗位上,才开始研究开发板。 申请这块开发板的主要原因是看重LM3S8962使用网络功能不需要外加芯片的好处,一可以节约成本,二可以减少走线,所以就 ...…

查看全部问答>

关于DCO

请问仅通过内部DCO(不使用外部高速晶振),可以使得系统时钟达到8M吗?430datasheet上说通过在P2.5上外接100K电阻可以,不知道有人验证过没有? …

查看全部问答>

LM3S811怎样很熟练的控制其GPIO口

我手上有LM3S811的评估板,正在用来做我的毕业设计,驱动16*64点阵,想用8个IO口控制154和595的行列扫描实现点阵屏显示16*16的汉字,实现左移,右移,上移,下移等多种滚屏方式,主要就学习GPIO这块,首先实现一个LED的闪烁,再是流水灯等其他外设 ...…

查看全部问答>

《全数字TI方案电源》ADC处理时间的安排

这几天一直在看F28035的文档资料以及摸索CCS4的编程。还要考虑数字电源的处理方法。第一次用TI的CPU,第一次用TI的编译器,要掌握它需要花些功夫啊。     关于ADC的处理,经过近来所看的ADC、PWM、CLA等部分的知识,认为选择附件中的 ...…

查看全部问答>