之前在调VCP2,使用的是社区里找到的例程,现在移植到我们的工程里后出现了问题
作为一个单独的工程时,没有使用BIOS,循环执行vcp2译码是正常的,但是在我们的工程里是使用BIOS的,执行一定次数的vcp译码之后程序会跑到一个:
pdk_build_6670_1_1_2_6/gtcsl_platform/TurboNyquist/ti/csl/src/intc/_csl_intcIsrDispatch.asm
这个文件里,同时从异常状态寄存器里可以看到EFR的IXF位置1,IERR的值为1,从找到的资料中查到的异常说明是取指令错误。
在_csl_intcIsrDispatch.asm里是停在如下位置:
__CSL_intcIsrNMI:
CALLDISP 1
在这里单步执行后,跳转到一个_csl_intcIsrDispatch.asm文件中的这个位置:
__CSL_intcNmiDummy:
b nrp
nop 5
接着就又跳回到第一个asm文件里了,一直就是这样在循环。
从开始不断循环译码到出现异常的执行次数不定,有时候几次就出现异常,最多可以循环执行两千多次。
不知道能否指点一下查找错误的思路
谢谢!