在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
TI中文支持网