3201|8

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

基于arm9的开发板运行一个wince系统,读写总线问题 [复制链接]

基于arm9(EP9302)的开发板运行一个wince系统,读写总线问题:
在wince上写了一个小的测试程序,
while循环读取一个虚拟地址(DI)的值,
再把这个值写到另一个虚拟地址(DO)上.
结果是:用示波器测得总线上的写信号正常,
读信号间隔时间有时要几秒钟才有一个.
调试了好几天,还没找出原因,希望各位兄弟多多帮忙.
此帖出自WindowsCE论坛

最新回复

问题终于解决了! 简单说一下解决办法,其实非常简单, arm9中运行的wince系统内存映射中从0x80000000~0x9FFFFFFF这个虚拟地址是会cache的, 即如果要从这段虚拟地址读取内容, 处理器会先从cache中查找地址, 如果在cache中就会直接读取, 在总线上就不会有读信号, 如果在cache中没有找到再在总线上发读信号从内存中读数据. 从0xA0000000~0xBFFFFFFF这个虚拟地址是不会cache的, 即如果要从这段虚拟地址读取内容, 处理器会直接发读信号从内存中直接读取, 所以在总线上就总会有读信号. 最后谢谢各位兄弟的提示和帮助!  详情 回复 发表于 2009-4-24 15:55
点赞 关注
 

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
条件太少比较难判断
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
读什么设备?会不会该设备响应速度慢?
此帖出自WindowsCE论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

4
 
wince里的应用程序读写虚拟内存,不管有没有读到数据,总线应该不停的有读写信号
和读什么设备应该没有关系吧
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 
while(TRUE)
{
.....其他定义
        byVal = *CPLD_EP9302_DI2;//读
        *CPLD_EP9302_DO0 = byVal;//写
}
CPLD_EP9302_DI2和CPLD_EP9302_DO0对应一个虚拟地址
用示波器测得总线上的写信号正常,
读信号间隔时间有时要几秒钟才有一个.
此帖出自WindowsCE论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

6
 
UP
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 
虚拟空间在读写的时候,有可能只是访问自己的cach区域,并不访问真实的设备。尤其是内存空间。
你看看MMU和cach相关方面的东西,可能会找到答案
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 4 楼 xumaojun 的回复:
while(TRUE)
{
.....其他定义
byVal = *CPLD_EP9302_DI2;//读
*CPLD_EP9302_DO0 = byVal;//写
}
CPLD_EP9302_DI2和CPLD_EP9302_DO0对应一个虚拟地址
用示波器测得总线上的写信号正常,
读信号间隔时间有时要几秒钟才有一个.


能正常工作吗?

wince调试的确让人费神。
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 
问题终于解决了!
简单说一下解决办法,其实非常简单,
arm9中运行的wince系统内存映射中从0x80000000~0x9FFFFFFF这个虚拟地址是会cache的,
即如果要从这段虚拟地址读取内容,
处理器会先从cache中查找地址,
如果在cache中就会直接读取,
在总线上就不会有读信号,
如果在cache中没有找到再在总线上发读信号从内存中读数据.
从0xA0000000~0xBFFFFFFF这个虚拟地址是不会cache的,
即如果要从这段虚拟地址读取内容,
处理器会直接发读信号从内存中直接读取,
所以在总线上就总会有读信号.

最后谢谢各位兄弟的提示和帮助!
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表