打印
[内存映射]

2812外部RAM

[复制链接]
1884|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
zhangmangui| | 2014-6-24 11:31 | 只看该作者
多次测试的结果吗 发现有没有规律
会不会是地址线上有两个脚短路在一起

使用特权

评论回复
板凳
zhangmangui| | 2014-6-24 11:32 | 只看该作者
后面一个地址是不是少0了啊

使用特权

评论回复
地板
fd122312qyh|  楼主 | 2014-6-25 12:30 | 只看该作者
我写错了,是0x80010.是多次的结果,单步调试时 *(ExRamStart+Start+i)=i;两个地方的值都改变了。如果是0x80010时,0x80000也会变。但0x80020开始就不会了。

使用特权

评论回复
5
fd122312qyh|  楼主 | 2014-6-25 12:41 | 只看该作者
没看到下面是也会的,0x80020和0x80030一起改变

捕获.PNG (29.44 KB )

捕获.PNG

使用特权

评论回复
6
chengdongx| | 2014-6-25 12:53 | 只看该作者
是不是硬件出错了,地址连线短路

使用特权

评论回复
7
fd122312qyh|  楼主 | 2014-6-25 13:13 | 只看该作者
测过了,没短路。好像是第五位地址线同时可以为1和0造成的。0x80020=1000 0000 0000 0010 0000B而0x80030=1000 0000 0000 0011 0000B

使用特权

评论回复
8
sjnh| | 2014-6-25 13:28 | 只看该作者
如果没短路,检查看看有没有这两根线有没有1根虚焊

使用特权

评论回复
9
fd122312qyh|  楼主 | 2014-6-25 13:38 | 只看该作者
测过了,2812和RAm的第五位地址线是相接的

使用特权

评论回复
10
djxf| | 2014-6-25 14:26 | 只看该作者
如果是地址线短路或开路,你一次操作也只能修改一个地址的内容,不会同时修改两个地址的内容啊。所以与地址线无关。

确实奇怪,检查下代码?

使用特权

评论回复
11
fd122312qyh|  楼主 | 2014-6-25 18:53 | 只看该作者
发现清0时,也有这个问题。代码的话,很简单啊,只是*(ExRamStart+Start+i)=i;

使用特权

评论回复
12
fd122312qyh|  楼主 | 2014-6-25 18:56 | 只看该作者
要不怎样检查代码,求教

使用特权

评论回复
13
玄德| | 2014-6-25 21:06 | 只看该作者

百分之九十九点九,硬件。

使用特权

评论回复
14
djxf| | 2014-6-26 09:42 | 只看该作者
fd122312qyh 发表于 2014-6-25 18:56
要不怎样检查代码,求教

嵌入式的系统遇到问题时一定要软硬件一起看。
你这个问题,
1.可以让硬件用示波器看看到底是一次写操作还是真的就写了两次,到底是发的什么地址和什么数据,这些都是可以从波形上看出来的。
2.软件方面,你可以去掉变量之类的,用最简单的方式直接往特定的地址(比如0x80000,0x80010,0xaaaa,0x5555等)写特定的内容比如0xAA或0x55,单步去跟踪,这样硬件容易抓波形,软件也可以排除其他可能性。

解决问题,思路是最重要的,其次是多点耐心,没有头绪地瞎猜是不行的。

使用特权

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

本版积分规则

1

主题

8

帖子

0

粉丝