OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2576|回复: 2

IS61WV51216与IS61LV25616驱动程序无法兼容,会出现内存误动问题

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-11-17
在线时间
5 小时
发表于 2020-8-12 16:04:36 | 显示全部楼层 |阅读模式
硬件设计和驱动程序按照 IS61LV51216 进行设计,由于 IS61LV51216 已经停产,直接采购 IS61WV51216 和 IS61LV25616 进行替换。测试过程中发现用 IS61LV25616 不会出现任何问题,而用 IS61WV51216 会出现内存块会自己改变,这是什么原因,驱动程序是参照原子哥的驱动程序进行修改的
感觉是时序问题导致,但是具体是哪个时序导致的?
而且问题现象非常奇怪,IS61WV51216 和 IS61LV25616 都可以正常读写。但是用 IS61WV51216 的时候,就是用 keil 去查看这块内存时候,发现有些地方的值突然就被改掉了。怎么证明是内存自己误动而不是,数组越界,或者野指针呢?因为 keil5 自带一个断点窗口,提供写访问断点功能,我们写了一些测试程序,对出现内存误动的内存块,进行正常写操作,确实是会立即跳出断点。然而出现内存误动的时候跳不出断点,那就证明是内存自己误动了,而不是应用层程序员,不小心数组越界,或者野指针。而且关于数组越界也通过map文件,进行了排除,野指针看了5遍代码,进行人工排查。所以肯定是内存值自己变掉了。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-11-17
在线时间
5 小时
 楼主| 发表于 2020-8-12 16:10:30 | 显示全部楼层
这是我的驱动程序
这是原子哥的例程

回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-11-17
在线时间
5 小时
 楼主| 发表于 2020-8-12 16:11:25 | 显示全部楼层
这是硬件设计
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-30 13:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表