FLASH的读写

技术分类: 微处理器与DSP  消费电子设计  | 2007-05-18
作者:lanzhucao

、按扇区擦除以及其他操作。引脚信号描述和接口电路分别如图3和图4所示。

点击看大图

3 29LV160引脚信号描述

 

 

点击看大图

4  flash29LV160)接口电路

 

可以从信号引脚图3和总线操作图2看出,NOR Flash的接口和系统总线接口完全匹配,可以很容易地接到系统总线上。

 

3.      NOR Flash的软件设计

Flash 的命令很多,但常用到的命令就3种:识别、擦除、编程命令。以下就对3种命令作分别的简要介绍:

1)  NOR Flash的识别

29lv160_CheckId()

{

    U8 tmp;

    U16 manId,devId;

    int i;

    _RESET();

   

    _WR(0x5

55,0xaa);

    _WR(0x2aa,0x55);

    _WR(0x555,0x90);

    manId=_RD(0x0);

    devId=_RD(0x1);

 

    _RESET();  

    printf("Manufacture ID(0x22C4)=%4x, Device ID(0x2249)=%4x\n",manId,devId);

 

    if(manId == 0x22C4 && devId == 0x2249)

        return 1;

    else

        return 0;

}

NOR Flash 的识别程序由四个读写周期就可以完成,在Flash的相关命令表中可以查到相应ID识别的命令。

 

2)  NOR Flash的擦除

要对NOR Flash进行写操作,就一定要先进性擦除操作。NOR Flash 的擦除都是以块(sector)为单位进行的,但是每一种型号的Flashsector的大小不同,即使在同一片的Flash内,,不同sector的大小也是不完全一样的。

void 29lv160db_EraseSector(int targetAddr)

{

        printf("Sector Erase is started!\n");

 

    _RESET();

    _WR(0x555,0xaa);

    _WR(0x2aa,0x55);

    _WR(0x555,0x80);

    _WR(0x555,0xaa);

_WR(0x2aa,0x55);

_WR(BADDR2WADDR(targetAddr),0x30);  

return  _WAIT(BADDR2WADDR(targetAddr);   

 }

 

 

                                            

        

8
4
(请您对文章做出评价)
1】【2】【3】【4】【5】【6】【7】【8】【9】【10】【11】【12】【13】【14】【15】【16】【17】【18】【19】【20】【21
加载中

对文章的评论

更多评论

剩余字数:  

相关在线研讨会

我要参加

泰克串行数据网络分析

时间:2008-09-18 10:00:00-12:00:00
简介:泰克串行数据网络分析在线研讨会,为您提供通用、省时、经济的串行数据网络分析解决方案.

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销