Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1494039
  • 博文数量: 204
  • 博客积分: 4013
  • 博客等级: 中校
  • 技术积分: 4030
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-29 06:34
文章分类

全部博文(204)

文章存档

2012年(204)

分类: 嵌入式

2012-03-30 21:12:00

CFI (Common Flash Interface)     通用闪存接口,用来帮助程序从Flash芯片中获取操作方式信息,而不必使用在程序中硬编码Flash的ID
/************************************************************************************
* 函数名:     CfiQuery
* 入口参数:   src (所指向区域用来保存从Flash中读取的CFI信息) 
* 返回参数:   无
* 函数功能:   从Flash中读取CFI信息,并通过Src返回
*************************************************************************************/
void CfiQuery(WORD *Src)
{
    WORD index;
    
    //  发送查询CFI命令
    
    *sysAddress(0x5555) = 0x00AA;  // write data 0x00AA to device addr 0x5555
    *sysAddress(0x2AAA) = 0x0055;  // write data 0x0055 to device addr 0x2AAA
    *sysAddress(0x5555) = 0x0098;  // write data 0x0098 to device addr 0x5555
    
    Delay30NanoSeconds(5);        // insert delay time = Tida
    
    //  读取CFI
    for ( index = 0x0010; index <= 0x001A; index++)
    {
        *Src = *sysAddress(index);              //将 CFI 信息存储到数组中
        ++Src;
    }
    
    //查询退出,发送命令以恢复到正常操作状态
    
    *sysAddress(0x5555) = 0x00AA;  // write data 0x00AA to device addr 0x5555
    *sysAddress(0x2AAA) = 0x0055;  // write data 0x0055 to device addr 0x2AAA
    *sysAddress(0x5555) = 0x00F0;  // write data 0x00F0 to device addr 0x5555
    
    Delay30NanoSeconds(5);         // insert delay time = Tida
}
总结:
阅读(5780) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~