TI中文支持网
TI专业的中文技术问题搜集分享网站

6678上设置了异常处理,但是未生效

在6678上,我配置了异常处理:

var Exception  = xdc.useModule('ti.sysbios.family.c64p.Exception');

Exception.enablePrint = true;

Exception.internalHook = '&myExcHookFxn';

Exception.internalHook = '&myExcHookFxn';

为了验证其是否生效,我在代码中访问了空指针,为何myExcHookFxn函数并没有被调用?

Andy Yin1:

对空指针进行memory访问并不会触发internal exception,访问空指针只会在进行了内存保护的情况下触发内存访问中断错误,如果你要触发internal exception,可以将代码段修改非法,然后执行非法的代码段产生取指或执行异常,这属于internal exception,具体internal exception type见c66 instruction user guide中IERR寄存器的描述。

chao fan2:

回复 Andy Yin1:

你好,

       目前我在cfg文件中,把Exception的internalhook、exceptionHook、externalHook,都配置了对应的处理函数。

       “访问空指针只会在进行了内存保护的情况下触发内存访问中断错误”,你这里说的“进行内存保护的情况下”,具体是怎么指定内存保护呢?异常触发后,对应的处理函数是exceptionHook吗?

Andy Yin1:

回复 chao fan2:

 访问空指针不属于exception,不会进入exception处理函数。内存保护见STK例程中的robust test example。

kevin_wang:

回复 Andy Yin1:

Hi  Andy Yin1 非常抱歉在这里找您, 我没有找到论坛的发消息功能,

我按照您置顶的帖子keystone1 例程里面的6657stk包, 运行都出现 .out文件无法load的问题

我提问的帖子在 http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/120597.aspx

有空可否帮我看下, 我运行6657_stk中的程序都出现同样的错误 .out无法loade 我使用的是ccs5.5 和 EVM6657 

chao fan2:

回复 Andy Yin1:

Andy Yin1

 访问空指针不属于exception,不会进入exception处理函数。内存保护见STK例程中的robust test example。

Andy Yin1:

回复 chao fan2:

K1 STK: http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/47664.aspx

赞(0)
未经允许不得转载:TI中文支持网 » 6678上设置了异常处理,但是未生效
分享到: 更多 (0)