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
}
总结:
阅读(5796) | 评论(0) | 转发(0) |