博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DM8168 坎坷硬件之路(DDR3)
阅读量:7192 次
发布时间:2019-06-29

本文共 695 字,大约阅读时间需要 2 分钟。

新做了8168板,调试DDR3的时候EMIF0遇到了个别数据位出错的问题

DDR3 128MB*8=1GB

我为了測试DDR3的所有空间,把地址存到DDR3中,就是*pdata++=(Uint32)pdata的操作

结果出现了下面问题:

从0x80000000開始写入80000000,0x80000004写入80000004,以此类推

全速执行,所有写完之后在memory browser里查看内存情况发现了问题:

原来在0x80000000存入的80000000,变成了88000000,80000004变成了88000004

也就是D[27]那个数据位从0变成了1。

我接着測试,这一次换成了*pdata++=~(Uint32)pdata的取反操作

全速执行,所有写完之后,回头一看:

原来在0x80000000存入的7FFFFFFF,变成了77FFFFFF,0x80000004里面的7FFFFFFB变成了77FFFFFB

这时候D[27]那个数据位从1变成了0。。

这个错误一律都是出如今EMIF0,EMIF1不存在这个问题。

我在CCS单步执行向内存写数据时观察内存都是正确的数据,没有出现以上问题,或者是我仅仅写一小部分内存

并全速执行也没有上述问题,就是在写入大量数据并全速执行后,100%会有这个第27的数据翻转情况。本该

是1变成0,本该是0变成1。

。。

我的想法是8片DDR3中的EMIF0部分的那个最高数据位的DDR3有毛病。性能不好。是不是要换一个上去。如

果真是这样就太倒霉了。板子成本好贵,这BGA吹焊手要抖啊我晕。假设有别的可能原因,还请大家不吝赐教。

转载地址:http://aqtkm.baihongyu.com/

你可能感兴趣的文章
eclipse/MyEclipse 日期格式、注释日期格式、时区问题
查看>>
Spring-IOC注解
查看>>
freemarker的TemplateExceptionHandler使用
查看>>
Git分支管理策略
查看>>
maven学习(上)- 基本入门用法
查看>>
Makefile--基本规则(零)
查看>>
关于HFile的存储结构梳理以及快速定位rowkey
查看>>
Eclipse添加默认的JRE
查看>>
poj1639 Picnic Planning 最小度数限制生成树
查看>>
IntelliJ IDEA 学习(一):IntelliJ IDEA15 破解方法(已验证)
查看>>
java 线程的开始、暂停、继续
查看>>
南京优步上线黄金区域,接单可享更高奖励!
查看>>
Duanxx 的 STM32 学习: 中断向量表操作
查看>>
java读取本地properties文件
查看>>
机器学习 —— 概率图模型(推理:MAP)
查看>>
[Cycle.js] Hello World in Cycle.js
查看>>
[ios]app后台运行
查看>>
[Hapi.js] Extending the request with lifecycle events
查看>>
Educational Codeforces Round 9 C. The Smallest String Concatenation 排序
查看>>
mysql binlog解析概要
查看>>