调试U-Boot笔记(九)-- NorFlash芯片说明摘抄

简介:
一、常用命令
 
【Read Array Data】
    设备自动切换到Read array data模式,在完成擦除与写入操作之后设备会自动切换到Read array data模式。在执行擦除命令时,系统在执行读操作时,除了访问到了正在擦除的扇区会时受到阻塞外,其它都能正常访问。
 
【Reset Command】
    这个命令可以终止已进行但还没有执行的擦除或写入操作,使之回到Read array data模式。一旦擦除或写入操作开始,reset命令只有在擦除命令完成之后才生效。
 
【Autoselect Command Sequence】
    这个命令可以让主机访问到设备的生产商、设备码、扇区的是否有写保护。表4里已列出所有的命令。
    Autoselect Command Sequence由两个unlock周期开始,然后进入autoselect模式。之后系统可以无限次数地读任何地址而不但需要再次执行命令串。
    XX00H -- 生产厂家
    XX01H -- 设备码
    每个扇区地址+04H -- 该扇区的保护状态,1:保护,0:未保护
 
【Word/Byte Program Command Sequence】
    系统可以通过BYTE#引脚决定写入的是字还是字节。编程操作有4个总线周期操作:
    (1)两个解锁序列
    (2)要编程的地址
    (3)要编程的数据
    之后设备将自动进入编程操作,不再需要主控做任何操作。
    当编程操作完成之后,设备自动进入Read array data模式,系统可以通过DQ7与DQ6来检测设备的状态。
    在编程操作期间,任何编程操作都会被忽略。
    值得注意的是:硬复位会立即终止编程操作。在硬复位之后必须重新启动编程操作。
    编程操作可以跨越扇区边界的,一个位只能从0改写成1。只有擦除能使1变成0。
 
【Unlock Bypass Command Sequence】
    unlock bypass 功能允许系统写入数据比Standard更快些。
    unlock bypass命令触发由两个unlock周期。第3个写入的bypass command, 20h。设备就进入了bypass模式。
    第一个周期就是unlock bypass program命令, A0h。第二个周期包括Address与Data。附加数据。
    在unlock bypass模式期间,只有Unlock bypass program与Unlock bypass reset命令是可用的。
    想要退出unlock bypass模式,系统发起两个unlock bypass reset命令序列,每一个写入90H,第二周期数据为00H。地址已无关重要,命令执行之后设备回到read array data模式。
 
【Chip Erase Command Sequence】
    命令序列详见表格。
    在擦除期间,其它操作都会被忽略。但是硬复位会立即终止擦除操作。
    系统可以通过检查DQ7,DQ6,DQ2,或RY/BY#。
 
【Sector Erase Command Sequence】
    命令序列详见表格。
    在命令序列写入之后,会有50us的超时等待。在这超时期间,其它的扇区地址与擦除命令可以写入。命令之间的时间不能超过50秒,否则后来的一次擦除操作 将被执行,擦除操作启动。为了保证所有的命令得到执行,强列建议写命令期间关闭中断。如果两个指令间的间隔小于50us,就没有必要再去检查DQ3。
    在50us内,接受到Sector erase或Erase Suspend命令,设备就重回到read array data.
    系统可以通过检测DQ3来探查扇区是否超时。在WE#上升沿后就开始计算超时。
 
【Erase Suspend/Erase Resume Commands】
    这个命令用于终止扇区擦除操作,并让设备回到read array data模式。在扇区擦除50us超时期间有效。正在进行擦除与编程操作过程中,这个命令是被忽略的。
   
 
二、读取状态
 
【DQ7: Data# Polling】
    在擦除操作过程中,DQ7输出0。当完成了擦除操作或进入Erase suspend状态,DQ7输出1。
    在完成擦除操作之后,如果所有要擦除的都处于保护状态,那么DQ7会在大约100us时间内处于激活状态,然后设备进行read array data状态。如果只是部分被保护,那么设备只擦除未保护的扇区,忽略被保护的。
 
【DQ6: Toggle Bit I】
 
【DQ2: Toggle Bit II】
 
【DQ5: Exceeded Timing Limits】
    执行擦除或编程操作不成功超时位。
    通常会出现在编程时试图对已是0的位置1操作,只有擦除操作才能将0改变成1。
    在这种情况下,操作停止,DQ5上产生1。
    只有reset命令才能使设备回到read array data模式。
 
【DQ3: Sector Erase Timer】
    扇区擦除超时是否开始执行标志位。
    当写入扇区擦除命令序列后,设备会有50us的超时时间,等待连续命令。当50us的等待超时结束,DQ3就会被置1,然后设备就开始执行擦除操作。
    在写入完扇区擦除命令序列后,主机应该读取DQ7或DQ6来确保设备是否接受命令。然后再读取DQ3,如果该位为1,说明扇区擦除操作已经开始,所有的命令都会在执行期间被忽略,直到完成。如果DQ3=0,说明还没有超时,设备还能接收更多的扇区擦除命令。
 
【RY/BY#: Ready/Busy#】
    这些引脚是开漏输出的,当正在执行擦除或编程时,该电平Low。当完成了操作之后,电平为高。
 
目录
相关文章
|
安全 Linux API
【数据安全】可信执行环境:Open Enclave SDK
构建基于可信执行环境的应用程序,通过开源SDK帮助保护使用中的数据,该SDK跨飞地技术以及从云到边缘的所有平台提供一致的API界面。
全志平台A40I GPIO操作:adb通过debugfs控制GPIO
全志平台A40I GPIO操作:adb通过debugfs控制GPIO
536 0
|
存储 Dubbo API
SpringCloud工程部署启动
本节笔者带领大家完成了SpringCloud工程从0->1的搭建,当然你不想搭建也可以直接采用方案一,二者等效,至此读者们完成了一个微服务工程的搭建、部署、访问。同时在本节最后一章,笔者基于RestTemplate发起的http请求实现远程调用,实现当A系统想要获取B系统数据时的跨系统数据交互。然而RESTful API访问并不是微服务的唯一解决方案,如Dubbo的交互一样可以实现,希望读者们能不限于此。
【总结】单片机重点知识总结记录之Keil相对路径(四)
【总结】单片机重点知识总结记录之Keil相对路径(四)
455 0
|
12月前
|
Cloud Native Devops 持续交付
云原生架构的演进与实践
本文深入探讨了云原生架构的核心概念、技术组件及其在现代软件开发中的应用。通过分析容器化、微服务、持续集成/持续部署(CI/CD)等关键技术,揭示了这些技术如何共同促进应用程序的灵活性、可扩展性和高可用性。文章还讨论了云原生架构实施过程中面临的挑战和最佳实践,旨在为开发者和企业提供一套实用的指导方针,以便更有效地利用云计算资源,加速数字化转型的步伐。
293 5
|
开发工具 C语言 内存技术
ZYNQ_SDK HelloWorld实验
ZYNQ_SDK HelloWorld实验
|
存储 安全 Linux
|
存储 Linux 虚拟化
VMware保姆级安装教程-VMware Workstation Pro 16(Windows10)
VMware保姆级安装教程-VMware Workstation Pro 16(Windows10)
|
SQL Java 关系型数据库
「会员卡管理系统」 · Java Swing + MySQL JDBC开发
「会员卡管理系统」 · Java Swing + MySQL JDBC开发
635 0
「会员卡管理系统」 · Java Swing + MySQL JDBC开发
|
Serverless C++
[C++/PTA] 计算点到直线的距离一一友元函数的应用
[C++/PTA] 计算点到直线的距离一一友元函数的应用
354 0