打印
[ZLG-ARM]

做外部中断实验1时遇到的问题,请教周公!

[复制链接]
2178|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
roophoon|  楼主 | 2007-3-4 15:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做外部中断实验1,也就是通过P0.14控制蜂鸣器的实验。在AXD中调试偶尔出现以下的错误:

A memory access failed.Some of the data displayed may be invalid.

同时在Debug log窗口中提示:

RDI Warning 00254: Unimplemented RDI message
A memory access failed. Some of the data displayed may be invalid.
    Operation: Read  Address: 0x40000000  BufferSize: 192 bytes
    Access Size: Default  Not more than 0 bytes were transferred.
DBT Warning 00125: Debugger internal error
RDI Warning 00254: Unimplemented RDI message
A memory access failed. Some of the data displayed may be invalid.
    Operation: Read  Address: 0x40000000  BufferSize: 192 bytes
    Access Size: Default  Not more than 0 bytes were transferred.

记得周公的书上讲过,如果在片内RAM中调试程序并使用了中断,那么必须将存储器映射控制设置为内部RAM模式,但没有讲原因,所有先请您解释一下。

我确实是在RAM中调试的,但我想当我选择了DebugInExtRAM调试模式后,模板通过如下代码就自动映射到内部RAM模式去了。

 void TargetResetInit(void)
{
      #ifdef __DEBUG    
          MEMMAP = 0x3;                   //remap
      #endif

      #ifdef __OUT_CHIP    
          MEMMAP = 0x3;                   //remap
      #endif

      #ifdef __IN_CHIP    
         MEMMAP = 0x1;                   //remap
      #endif

     ......
}
请问我这样的理解是否正确?另外就是出现的错误是什么原因引起的,如何解决?

相关帖子

沙发
zlgARM| | 2007-3-5 09:33 | 只看该作者

RE

建议您翻阅一下我们的教材,并且用百度搜索一下“存储器映射”,搞清楚这个概念。
另外就是查阅一下我们提供的实验教程,搞清楚不同模板的区别和作用。

使用特权

评论回复
板凳
roophoon|  楼主 | 2007-3-5 14:14 | 只看该作者

我当然知道什么是“存储器映射”了

不就是内部Ram把物理地址的0x40000000映射为0x00000000嘛,我的问题就是为什么我在内部Ram中调试为什么会偶尔出现如上的错误,错误来的很随机,不是没次都能遇到。

使用特权

评论回复
地板
laserpic| | 2007-3-5 15:25 | 只看该作者

是不是使用中断要重新映射

使用特权

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

本版积分规则

3

主题

10

帖子

1

粉丝