你们好,
又麻烦你们,真不好意思。我用qmInfraMCExampleProject 的示例程序,是位于C:\Progarm files\Texas Instruments\pdk_c6678_1_0_0_9_beta2\packages\ti\drv\exampleprojects 目录下,我成功用它,生成了.OUT文件,当我选择 C6678 Device Funtional simulator ,little Endian ,加载.out 文件时,程序可以正常跑完,但当我选择Blackhawk xds560v2-USB mezzanine emulator 时,连接上C6678板子,加载.out文件时,则跑到以下位置停止了:
[C66XX-1] core1:waiting for sync signal from core0
[C66XX-2] core2:waiting for sync signal from core0
[C66XX-3] core3:waiting for sync signal from core0
上面的意思是等待来自core0的同步信号,我分析的原因是core0的产生了相应中断,但CPU没有处理相应的中断,这个问题怎么解决?我知道,硬件的要求可能高一些,不像在模拟器中,随便都能跑通程序,我板子的启动模式是0X00000005,little Endian,CPU重置后加载.OUT程序,然后加载GEL文件,然后RUN。加载程序时,有这样一句话:
EDMA3 disable all interrupt and events,不知道这和CPU响应中断有没有关系。我目前所有和中断有关的程序在模拟器里面都可以跑通,但通过Blackhawk xds560v2-USB mezzanine emulator 时,连接上C6678板子,都跑不通,还请高手大虾,多多指点,不然元旦节都不用过了!!!在硬件C6678板子上跑通过中断相关程序的大虾们,能否发一您的程序和相关操作发一份给我,电子邮箱:baoyi_peng@126.com,万分感谢!
Andy Yin:
您好,
该例程已经在simulator及EVM板上验证过没有问题。
从上述描述来看,感觉你在建立New target configuration时,只是选择了Emulator,怀疑你没有进行target configuration中选择相应的gel文件,请确认!
同时请参考https://www.deyisupport.com/question_answer/f/53/t/4899.aspx 附件中Exp4_MCSDK.ppt关于该例程的运行说明,如有问题请提出,谢谢!
Thomas Yang1:
你好
这个打印的意思是调用函数Qmss_getQueueEntryCount,在等待接受descriptor,
请检查下4个core 是否都运行正常,rx fdq中descriptor是否正常,tx queue中descriptor是否正常