3244|2

82

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

读flash的id号 [复制链接]

    目标板式270的,原来用的板子上的flash是intel的E28F128J3,现在的flash是AMD的S29GL128N,用了两片,单片16M.进行如下id号的执行语句
typedef unsigned short U16;
typedef unsigned int   U32;

#include "norflash.h"

#define        out_l(v, a)        (*(volatile U16 *)(a) = (v))
#define        in_l(a)                (*(volatile U16 *)(a))

#define        ROM_BASE                  (U16) 0x0
#define        ROM_BASE1                  (U16) 0x0555
#define        ROM_BASE2                   (U16) 0x02aa

int ChkNorFlash(void)
{
        U16 id;
       
        out_l(0xaa, ROM_BASE1);
        out_l(0x55, ROM_BASE2);
        out_l(0x90, ROM_BASE1);
        id = in_l(ROM_BASE);
        printf("NOR Flash Man. ID is 0x%x\n", id);       
}
不知道怎么弄得输出的是基址上的二进制镜像的代码,不是flash的id号
原来开发板上的intel的代码为
int ChkNorFlash(void)
{
U16 id;
out_l(0x90, ROM_BASE1);
id = in_l(ROM_BASE);
printf("NOR Flash Man. ID is 0x%x\n", id);
}
是因为之前的寄存器配置的问题吗?



最新回复

不知道270 的nand 控制器,不过可以给你点指引: 源程序: out_l(0x90, ROM_BASE1); 是raw nand 读id的命令,时序是: 0x90, 0x00(address), WaitRB, ReadFiFo, 没看明白你写0xaa 0x50 是什么意思   详情 回复 发表于 2010-4-23 01:15
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我感觉 第一是看看你的flash是否写保护    第二是看你的程序是否完全符合flash的读写时序
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不知道270 的nand 控制器,不过可以给你点指引:
源程序:
out_l(0x90, ROM_BASE1);
是raw nand 读id的命令,时序是:
0x90, 0x00(address), WaitRB, ReadFiFo,


没看明白你写0xaa 0x50 是什么意思


 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表