门关键词: 灭磁电阻 半导体分立器件插座 继电器的工作原理 汽车的零件 摩托车三相整流器 磁性表座原理 电子电位器
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
电子元器件搜索:
维库电子市场网是知名的电子元器件交易网站,为电子生产企业提供IC库存和技术资料查询服务。
如何读取flash id?
新闻出处:21ic 发布时间: 2007-11-01
fla888 发布于 2007-11-1 23:19:00
基于手机平台mtk:cpu: 台湾联发科技mtk6230 (arm7)
os: nucleus

flash是 x16 device,intel 的nor mcp (移动设备里常用的scsp封装,将sram,flash等做到一个片子里)。尝试过使用scs指令集或cfi进行操作都不成功,如果把读id的动作放在系统初始化阶段直接导致不能开机,放在mmi应用层代码里执行到代码段系统就复位。mcp里的flash 型号是28F128L18_B。

代码举例如下:
typedef kal_uint16 FLASH_CELL;
INTEL_CheckDevIDvolatile uint16 *die1_addr)
{
     kal_uint32 savedMask;
    kal_uint16 code1,code2,code3;

volatile FLASH_CELL * fp = (FLASH_CELL *)die1_addr;
    
savedMask = SaveAndSetIRQMask();
  
     fp[0xaa] = 0x0098;
     code1 = fp[0x20];
     code2 = fp[0x22];
     code3 = fp[0x24];
     fp[0]   =0xFF;
RestoreIRQMask(savedMask);

}

传入0调用这个函数,目的是使flash进入cfi模式,并试图读取Q, R, Y三个字符以判断flash是否支持cfi,可每次执行到这都是导致系统不能启动,而使用intel系列的scs 命令往任意地址写入0x90,再在0地址开始读id号也是遇到同样的情况,甚至写0x70(scs指令)到任意地址,然后从任意地址读状态寄存器也不能成功,请问我的操作流程是不是还忽略了什么?若flash当前状态未知,我要使它进入cfi模式安全的流程是怎样?






关闭】 【打印
 
相关专题
 
友情链接:
© 2007 电子元件网 网站地图