• 20150312 NorFlash驱动


    20150312 NorFlash驱动

    2015-03-12 李海沿

    以下知识点是根据韦老大的教程所做的笔记,板子是S3C2410。

    About NorFlash and NandFlash

     

    NOR

    NAND

    接口

    RAM-like,引脚多

    引脚少,复用

    容量

    小,1M,2M,32M

    大,128M,256M,1G

    简单

    复杂

    发出特定指令,复杂

    复杂

    价格

    便宜

    质量

    几乎没有坏块

    可能有坏块,发生位反转

    1.读数据

    md.b 0

    2.读ID NOR手册上

    往地址555H写入AAH        

    往地址2AAH写入55H 解锁完成

    往地址555H写入90H

    读0地址得到厂家ID: C2H

    读1地址得到设备ID:22DAH 或 225BH

    退出读ID状态 往任意地址写入F0

    如果芯片的接口是A1接到NOR的A0,那么发出的命令要左移一位,NOR才能接收到555这个地址

    例如:555H<<1

    U-BOOT操作:

    往地址AAAH写AAH

    mw.w aaa aa

    往地址554H写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状态 往任意地址写入F0

    mw.w 0 f0

    3.规范

    MOR有两种规范 :

    ①JEDEC:通过发出命令来读写ID,发送命令,与内核的数组(jedec_table包含nor的各种信息)进行比较一下,发送数据,老式

    ②CFI:本身就包含了nor容量规格等信息

    进入CFI模式

    往55H写入98H

    读数据

    读10H得到0051

    读11H得到0052

    读12H得到0059

    读27H得到容量 (该值的2^n就是容量)

    退出CFI模式

    往任意地址写入F0

    如果芯片的接口是A1接到NOR的A0,那么发出的命令要左移一位,NOR才能接收到555这个地址

    例如:555H<<1

    U-BOOT操作:

    进入CFI模式

    往AAH写入98H

    mw.w aa 98

    读数据

    读20H得到0051

    读22H得到0052

    读24H得到0059

    读41H得到容量 (该值的2^n就是容量)

    md.w 20 1

    md.w 22 1

    md.w 24 1

    md.w 41 1

     

    退出CFI模式,往任意地址写入F0

    Mw.w 0 f0

    4.写数据

    2410读数据uboot操作

    往地址AAAH写AAH

    mw.w aaa aa

    往地址554H写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状态 往任意地址写入F0

    mw.w 0 f0

    以下是imx257的nand读写数据的操作,

  • 相关阅读:
    BZOJ3543: [ONTAK2010]Garden
    python初识面向对象
    python装饰器
    python递归函数及二分法查找
    python内置函数及匿名函数
    生成器和生成器函数以及各种推导式
    第一类对象 函数名 变量名
    函数的进阶
    Python初始函数
    Python文件操作
  • 原文地址:https://www.cnblogs.com/lihaiyan/p/4333275.html
Copyright © 2020-2023  润新知