打印

请教各位高手关于EZ-USB 68013大容量EEPROM(AT24C1024B)读

[复制链接]
5990|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hgxhfm|  楼主 | 2011-9-12 14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人现在刚刚学习USB不久 很菜  想请教各位大侠一个问题 我现在在用EEPROM(AT24C1024B)存了一个48KB的东东,所以在用的时候要从EEPROM中读出,边读边加载,我用的是EZ-USB 68013里面自带的EEPROM读函数,而且是连续读的,但是发现一个问题有的时候程序会跑死,甚至会改变EEPROM里面的内容,请问各位大侠能帮忙找出原因么?
十分感谢!!!

相关帖子

沙发
dqyubsh| | 2011-9-13 12:51 | 只看该作者
1,这片EEPROM和启动用的是不是一片?如果不是,可能CY的EEPROM程序要改变较多。
2,EEPROM的防写管脚,在CY的程序里有定义,和一个IO相连,要检查这个IO是否用作别用。
3,这么大的容量,我没用过。要仔细查一下程序,看看有没有定义超界之类的情况。
4,上位机读取过程是否有问题,如何验证没问题。

使用特权

评论回复
板凳
hgxhfm|  楼主 | 2011-9-13 19:11 | 只看该作者
你好 非常感谢 您的回复
和启动用的是一片EEPROM,我用的68014 -56管脚的我现在的程序 Program Size: data=123.4 xdata=4525 code=7016
我刚刚用不久 也不知到是否超界 还请您多多指点,今天又弄了一天,程序很不稳定,改了一个代码 对前面还有影响 我真的不知所措啊
谢谢

使用特权

评论回复
地板
hgxhfm|  楼主 | 2011-9-13 19:20 | 只看该作者
你好 非常感谢 您的回复
和启动用的是一片EEPROM,我用的68014 -56管脚的我现在的程序 Program Size: data=123.4 xdata=4525 code=7016
我刚刚用不久 也不知到是否超界 还请您多多指点,今天又弄了一天,程序很不稳定,改了一个代码 对前面还有影响 我真的不知所措啊  读取数据在上位机上有校验
谢谢

使用特权

评论回复
5
dqyubsh| | 2011-9-13 19:32 | 只看该作者
1,用同一片就简单多了。
2,68014,一共8KRAM,新型号68014A,16K RAM。这个一定要搞清楚,我之前就弄错过,买了错误的老款片子,好一阵子搞不定。你看看项目那怎么设置的,一定要设置成与芯片对应,否则,全白玩。
这个容量,包含data+code,KEIL只会按照你的项目设置去计算总容量,如果你设置错误,它不会报错。但实际已经超界,会出现莫名其妙的问题。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
hgxhfm + 1
6
hgxhfm|  楼主 | 2011-9-13 20:11 | 只看该作者
5# dqyubsh

使用特权

评论回复
7
hgxhfm|  楼主 | 2011-9-13 20:13 | 只看该作者
小弟 愚笨 刚刚接触USB
还请您多多指点 这里的项目设置 指的是?是DEVICE么 还是别的?
谢谢 您

使用特权

评论回复
8
dqyubsh| | 2011-9-13 20:22 | 只看该作者
device那,6801X只能选FX2,它是8K RAM。6801xA选FX2LP,它是16K的

还有BL51 Locate那,FX2的xdata上限填写0x1FFF(8K),FX2LP的上限是0x3FFF(16K)

照你说的,超界了。换个片子,或者把程序改了。C:\Cypress\USB\Examples\FX2LP\Memtest是个测试程序,可以测试一下实际的RAM大致是多少。

使用特权

评论回复
9
hgxhfm|  楼主 | 2011-9-13 20:35 | 只看该作者

RE: 请教各位高手关于EZ-USB 68013大容量EEPROM(AT24C1024B)读

小弟试试 谢谢你了
麻烦再问下 EZ-USB Control Panel  所有的版本 FX2 和FX2LP都通用么
还是 他们是不兼容的

使用特权

评论回复
10
dqyubsh| | 2011-9-13 20:39 | 只看该作者
EZ-USB Control Panel 显然是最早的,cy不建议使用了。关于驱动版本,你看下这篇**。

http://blog.sina.com.cn/s/blog_493520900100oe0l.html

使用特权

评论回复
11
hgxhfm|  楼主 | 2011-9-13 20:44 | 只看该作者
xdata 的上限必须填么  我的填完了 怎么报错了呢
方便么 能把你的QQ号给小弟么 方便交流
谢谢了

使用特权

评论回复
12
dqyubsh| | 2011-9-13 21:02 | 只看该作者
我不用QQ。不填上限,认为是没上限,或者认为是64K也不一定啊。KEIL并不知道你的硬件是多大RAM,你完全可以扩展到64K,甚至更多。

使用特权

评论回复
13
hgxhfm|  楼主 | 2011-9-13 21:52 | 只看该作者
DEVICE 那设置完了 项目里的设置 也改成LARGE 了 但是怎么还不对呢

使用特权

评论回复
14
dqyubsh| | 2011-9-14 07:32 | 只看该作者
不对就对了。哈哈。

使用特权

评论回复
15
hgxhfm|  楼主 | 2011-9-14 08:36 | 只看该作者
什么意思?
就是说 可能是超界了么?还是别的原因
顺便问下 ,FX2LP的芯片 用FX2的软件可以加载么?
谢谢大侠了

使用特权

评论回复
16
dqyubsh| | 2011-9-14 08:42 | 只看该作者
data=123.4 xdata=4525 code=7016 加起来早过8k了,报错是对的。

加载应该没问题。但是,它可能也不检查内存上限,即,它也不知道你是否外扩了RAM,仅仅把程序写到某个地址,对错它不管。

使用特权

评论回复
17
hgxhfm|  楼主 | 2011-9-14 11:06 | 只看该作者
我改了 large  没有报错 但是程序跑起来 还是会死的
顺便问下 为什么在  EZ-USB Control Panel 中 按getstring 在上面显示 String Descriptor Failed 我用的是控制传输 Vend_Ax 正常能得到值的

使用特权

评论回复
18
dqyubsh| | 2011-9-14 12:01 | 只看该作者
你确切知道large的行为吗?如果知道,讲来听听,跟超界有神马关系;如果不知道,干嘛改,说出个原因。

任何依赖编译器的行为都是可耻的,任何拍脑袋的行为都是令人厌恶的——这跟无头苍蝇乱撞有神马区别?

我拒绝回答这种问题。

使用特权

评论回复
19
hgxhfm|  楼主 | 2011-9-14 21:31 | 只看该作者
小弟 错了

使用特权

评论回复
20
weixiawang1988| | 2011-11-29 10:05 | 只看该作者
“为什么在  EZ-USB Control Panel 中 按getstring 在上面显示 String Descriptor Failed 我用的是控制传输 Vend_Ax 正常能得到值的”,请问这个问题你解决了吗?我遇到了一模一样的问题,不知道怎么解决……,请指教

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

16

帖子

1

粉丝