20楼#
发布于:2004-12-13 13:27
现在还有一个很奇怪的现象,我头几次没有读到数据,但是多发几次就收到正常了,正是奇怪了,我用pb的mem观察工具就每次都可以看到
|
|
21楼#
发布于:2004-12-13 14:37
有没有可能是你对CAN接口芯片的操作有问题?如通过CAN的发送或接收。
|
|
|
论坛版主
|
22楼#
发布于:2004-12-13 16:24
喔,兄弟说得对,virtualcopy应该可以,0xe8000000这个已经超多ce内核地址了,这个地址应该是给的物理地址, 而且给了PAGE_NOCACHE的,ce应该知道用不可缓存地址来访问。
对了,确定板子没问题? |
|
23楼#
发布于:2004-12-13 16:52
可以肯定板子是没有问题的,现在最奇怪的事情是用pb带的mem观看的程序可以看到我的那段虚拟内存的值是正确。真是太奇怪了
|
|
论坛版主
|
24楼#
发布于:2004-12-14 13:03
你在读那段数据的时候不要把看mem的窗口打开看那段数,是不是debugger和你的代码混着读这个地址破坏了时序了,对了,你在mem里面看的那段地址空间就是0xe8000000?
|
|
25楼#
发布于:2004-12-14 13:36
是不是debugger和你的代码混着读这个地址破坏了时序了??可以说的详细一点吗,还有我看的内存地址是我的虚拟地址不是物理地址,这才是我奇怪的地方,
|
|
论坛版主
|
26楼#
发布于:2004-12-14 13:54
你看到的虚拟地址最终仿真器也是从物理地址读来的嘛,仿真器要读还不是要发读命令,当然,所谓读命令对不同控制方式的设备含义是不一样的,比如对SDRAM,是同过/cs,/we,/cas,/ras,cke等等控制信号线的组合来给其内部控制寄存器提供命令,还有很多方式,我就不多说了,有些设备对命令有严格时序要求,而且读动作会通过连续一组“命令”来做,这样的话仿真器和你的代码如果都对设备发命令字,就会把时序弄乱,我不知道仿真器是不是自己会避免这种情况。
|
|
27楼#
发布于:2004-12-14 15:12
老大,我也想过这个问题,所以在调试状态下曾经把那个内存工具关了,但是现象依旧。
|
|
上一页
下一页