外部RAM几个数据异常问题

[复制链接]
3029|15
 楼主| youimiss 发表于 2013-12-6 12:05 | 显示全部楼层 |阅读模式
    程序中有两个数据块放在外部扩展的RAM中,调试时发现数据块A中连续有5个数据异常(数据块B中没有),于是给数据块A分配固定内存,这时这5个异常数据跑到了数据块B中,于是怀疑RAM中这几个单元坏了,立马换了块RAM芯片,然后迷茫了。。。问题又变成了如果由编译器给A分配内存,那5个异类在数据块A中,如果手动分配A内存,5个异类又跑B中去了。。。这样看来不是RAM单元坏了,求大神指点!
ayb_ice 发表于 2013-12-6 12:44 | 显示全部楼层
这种东西不用想了,
软件问题
dirtwillfly 发表于 2013-12-6 13:25 | 显示全部楼层
同意楼上的观点
dirtwillfly 发表于 2013-12-6 13:25 | 显示全部楼层
建议楼主提供下程序,大家看看
 楼主| youimiss 发表于 2013-12-6 14:29 | 显示全部楼层
dirtwillfly 发表于 2013-12-6 13:25
建议楼主提供下程序,大家看看

我的数据是开机时从EEPROM中读取到外部RAM中,再在外部RAM中调用,刚扫了一遍EEPROM和外部RAM,都没发现问题,看来是程序的问题了。程序太多,不知道怎么贴出来
dirtwillfly 发表于 2013-12-6 15:07 | 显示全部楼层
youimiss 发表于 2013-12-6 14:29
我的数据是开机时从EEPROM中读取到外部RAM中,再在外部RAM中调用,刚扫了一遍EEPROM和外部RAM,都没发现 ...

贴出读写外部ram的程序应该就行,或者压缩后上传全部代码
 楼主| youimiss 发表于 2013-12-6 16:50 | 显示全部楼层
dirtwillfly 发表于 2013-12-6 15:07
贴出读写外部ram的程序应该就行,或者压缩后上传全部代码

其实。。。就是。。。uchar xdata Data[304];
dirtwillfly 发表于 2013-12-6 16:55 | 显示全部楼层
youimiss 发表于 2013-12-6 16:50
其实。。。就是。。。uchar xdata Data[304];

额,是大数组啊。不知道你用的什么单片机?
dqyubsh1 发表于 2013-12-7 09:13 | 显示全部楼层
自己写个简单的RAM测试程序,赋值,回读,验证是否一致。一遍全写0x55,一遍全写0xAA,都过了RAM就没有问题。哪有焊片子的,也不嫌累。
看着像是数组或者指针超界,两个变量分配的内存重叠了,或者是操作变量时用的长度超界了。
icecut 发表于 2013-12-7 11:42 | 显示全部楼层
掐指一算,你摊上事了.摊上大事了
cjseng 发表于 2013-12-7 13:00 | 显示全部楼层
上电时从EEPROM里读出来,写到RAM去,是不是所有RAM都刷新了一遍?还是只刷新一部分?另外,上电后是否有一短暂的延时再读EEPROM的?否则可能读出来的数据也不能保证是正确的。
 楼主| youimiss 发表于 2013-12-9 12:46 | 显示全部楼层
dirtwillfly 发表于 2013-12-6 16:55
额,是大数组啊。不知道你用的什么单片机?

其实。。。就是。。。STC的51。。。
 楼主| youimiss 发表于 2013-12-9 12:59 | 显示全部楼层
dqyubsh1 发表于 2013-12-7 09:13
自己写个简单的RAM测试程序,赋值,回读,验证是否一致。一遍全写0x55,一遍全写0xAA,都过了RAM就没有问题 ...

已测试RAM和EEPROM...无问题
 楼主| youimiss 发表于 2013-12-9 13:00 | 显示全部楼层
icecut 发表于 2013-12-7 11:42
掐指一算,你摊上事了.摊上大事了

哥,我见过你。。。的照片。。。
icecut 发表于 2013-12-9 14:16 | 显示全部楼层
你代码有问题.分块验证吧
leehp 发表于 2013-12-9 14:28 | 显示全部楼层
应该是程序的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:不卖开发板! http://minifairyfly.taobao.com/

43

主题

1097

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部