工程调试程序问题 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6095|回复: 7
打印 上一主题 下一主题

工程调试程序问题

[复制链接]

13

主题

30

帖子

190

积分

注册会员

Rank: 2

积分
190
跳转到指定楼层
楼主
发表于 2015-9-2 11:45:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单步调试工程,在一个C文件的最后执行完    IntEnable(C674X_MASK_INT4); IntEnable(C674X_MASK_INT5);  IntGlobalEnable();
    IntEnable(C674X_MASK_NMI);后出现No source available for "0x0" ,而且Disassembly窗体中出现:
00000000:   ???? Memory map prevented reading 0x00000000 [code=0x20000]
00000004:   ???? Memory map prevented reading 0x00000004 [code=0x20000]
00000008:   ???? Memory map prevented reading 0x00000008 [code=0x20000]
0000000c:   ???? Memory map prevented reading 0x0000000C [code=0x20000]
00000010:   ???? Memory map prevented reading 0x00000010 [code=0x20000]
00000014:   ???? Memory map prevented reading 0x00000014 [code=0x20000]
00000018:   ???? Memory map prevented reading 0x00000018 [code=0x20000]
0000001c:   ???? Memory map prevented reading 0x0000001C [code=0x20000]
00000020:   ???? Memory map prevented reading 0x00000020 [code=0x20000]
00000024:   ???? Memory map prevented reading 0x00000024 [code=0x20000]
..............

不清楚这个是什么问题????


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2015-9-2 12:54:37 | 只看该作者
跑飞
回复

使用道具 举报

13

主题

30

帖子

190

积分

注册会员

Rank: 2

积分
190
板凳
 楼主| 发表于 2015-9-2 15:59:22 | 只看该作者

那怎么解决这一问题呢?

点评

检查你的程序  详情 回复 发表于 2015-9-2 16:47
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
地板
发表于 2015-9-2 16:47:01 | 只看该作者
传奇 发表于 2015-9-2 15:59
那怎么解决这一问题呢?

检查你的程序
回复 支持 反对

使用道具 举报

13

主题

30

帖子

190

积分

注册会员

Rank: 2

积分
190
5#
 楼主| 发表于 2015-9-3 16:04:38 | 只看该作者

按照你的建议,我查了下我的工程,我的工程中使用两个中断,分别映射到中断4和5,在中断中分别设置断点,中断服务程序可以正常进入,但现在的问题是:我全速运行时,中断就不能正常进入,停止Debug,就 会出现 No source available for ‘0X7f4d6c’,而且Disassembly窗体中出现:
00000000:   ???? Memory map prevented reading 0x00000000 [code=0x20000]的问题,所以,想请教下:
1.你说的程序跑飞,有没有可能是中断的问题??
2.如果是中断的问题,那些地方会对程序有所影响???
麻烦工程师指点

点评

0x007f4d6c 是内部 ROM 地址 程序进入这个地址证明你的程序肯定跑飞了 1、有可能 2、这个很难说 具体代码具体分析 建议你分别屏蔽部分代码 然后逐步找出来出问题的语句  详情 回复 发表于 2015-9-3 17:55
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
6#
发表于 2015-9-3 17:55:51 | 只看该作者
传奇 发表于 2015-9-3 16:04
按照你的建议,我查了下我的工程,我的工程中使用两个中断,分别映射到中断4和5,在中断中分别设置断点, ...

0x007f4d6c 是内部 ROM 地址 程序进入这个地址证明你的程序肯定跑飞了

1、有可能
2、这个很难说 具体代码具体分析 建议你分别屏蔽部分代码 然后逐步找出来出问题的语句
回复 支持 反对

使用道具 举报

13

主题

30

帖子

190

积分

注册会员

Rank: 2

积分
190
7#
 楼主| 发表于 2015-9-4 16:35:44 | 只看该作者
希望缄默 发表于 2015-9-3 17:55
0x007f4d6c 是内部 ROM 地址 程序进入这个地址证明你的程序肯定跑飞了

1、有可能

谢谢创龙工程师的指点,我把中断部分全部屏蔽掉后,就没有出现上面的问题,所以我认为应该是中断的问题,但中断配置参照的创龙的例程,应该没有问题的,不知道中断哪部分会导致程序跑飞呢?????
void InterruptInit(void)
{
        // 初始化 DSP 中断控制器
        IntDSPINTCInit();

        IntGlobalEnable();

    GPIOIntTypeSet(SOC_GPIO_0_REGS, 8, 1);//设置0[7]为下降沿触发
    GPIOIntTypeSet(SOC_GPIO_0_REGS, 61, 1);//设置3[12]为下降沿触发

    // 使能 GPIO BANK 中断
    GPIOBankIntEnable(SOC_GPIO_0_REGS, 0);                  // USER0 KEY GPIO0
    GPIOBankIntEnable(SOC_GPIO_0_REGS, 3);

        // 注册中断服务函数
        IntRegister(C674X_MASK_INT4, Irq04);
        IntRegister(C674X_MASK_INT5, Irq05);


        IntEventMap(C674X_MASK_INT4,SYS_INT_GPIO_B0INT);//bank0对应中断号为65
        IntEventMap(C674X_MASK_INT5,SYS_INT_GPIO_B3INT);//bank3对应中断号为52

    // 使能中断
    IntEnable(C674X_MASK_INT4);
    IntEnable(C674X_MASK_INT5);

}

点评

分别屏蔽与中断相关的部分代码 然后逐步找出来出问题的语句  详情 回复 发表于 2015-9-6 09:01
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
8#
发表于 2015-9-6 09:01:06 | 只看该作者
传奇 发表于 2015-9-4 16:35
谢谢创龙工程师的指点,我把中断部分全部屏蔽掉后,就没有出现上面的问题,所以我认为应该是中断的问题, ...

分别屏蔽与中断相关的部分代码 然后逐步找出来出问题的语句
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-2 04:49 , Processed in 0.041338 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表