This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教一个DSPLINK Notify的问题

各路高人:

        请问在使用DSPLINK的时候,DSP和ARM之间使用Notify的频率最高为多少?我们的DSP几毫秒Notify ARM一次,有的Notify很容易造成DSP复位,而有的Notify注释掉之后,反而引发程序异常。请问这种异常和Notify的频度有关吗?和编译选项及编译器版本有关吗?

我们的编译工具版本:

TI_CGT_C6000_6.1.12

dsplink_linux_1_65_02_09

bios_5_41_02_14

xdctools_3_16_01_27

我们的编译选项:

"/home/root/tools/TI_CGT_C6000_6.1.12/bin/cl6x" -pdsw225 -o3 -fr"/mnt/shared/Platform/DSP/Release" -i"/home/root/tools/TI_CGT_C6000_6.1.12/include" -i"/home/root/tools/bios_5_41_02_14/packages/ti/bios/include" -i"/home/root/tools/dsplink_linux_1_65_02_09/dsplink/dsp/inc" -i"/home/root/tools/dsplink_linux_1_65_02_09/dsplink/dsp/inc/DspBios/5.XX/OMAPL1XXGEM/" -i"/home/root/tools/dsplink_linux_1_65_02_09/dsplink/dsp/inc/C64XX" -i"/home/root/tools/dsplink_linux_1_65_02_09/dsplink/dsp/src/base/hal" -i"/home/root/tools/dsplink_linux_1_65_02_09/dsplink/dsp/src/base/hal/DspBios/DA8XXGEM" -d"MAX_PROCESSORS=2" -d"ID_GPP=1" -d"OMAPL1XX" -d"PROC_COMPONENT" -d"POOL_COMPONENT" -d"NOTIFY_COMPONENT" -d"MPCS_COMPONENT" -d"RINGIO_COMPONENT" -d"MPLIST_COMPONENT" -d"MSGQ_COMPONENT" -d"MSGQ_ZCPY_LINK" -d"CHNL_COMPONENT" -d"CHNL_ZCPY_LINK" -d"ZCPY_LINK" -d"PROCID=0" -d"DA8XXGEM" -d"DOS_LINUX" -d"DA8XXGEM_INTERFACE=SHMEM_INTERFACE" -d"PHYINTERFACE=SHMEM_INTERFACE" -mv6740 "dsplink_config.c"

如有知晓,还请告知,不胜感激!

  • 降低频率就不会出现这个问题么?在出错时,有没有跟一下代码看是哪里出错了?

  • 多谢回复,是不是我的用法不对,我用ARM配置好DSP周边期间并启动DSP,但是一启动ARM上的Linux,就再也不能连接仿真器了,所以故障的时候不太方便定位;而DSP周边期间依赖ARM配置才能正常工作,直接连仿真器DSP程序也不能跑起来,这种设计作茧自缚了。

  • Peter Fan2 说:
    但是一启动ARM上的Linux�就再也不能连接仿真器了,所以故障的时候不太方便定位;

    你是说不能连ARM, 还是不能连DSP?

    Peter Fan2 说:
    而DSP周边期间依赖ARM配置才能正常工作,直接连仿真器DSP程序也不能跑起来,这种设计作茧自缚了。

    修改一下软件,总有办法的。

    Notify不过是用中断方式通讯,快慢本身不会有什么问题,至多快了的时候丢中断。

  • 引导程序启动的时候可以连接仿真器,连接顺序是先连ARM再连DSP,否则先连DSP会提示等待复位;一旦Linux启动之后,ARM和DSP就都不能正常连接,个人分析可能是Linux设置了JTAG某个寄存器导致的,不过这块还没研究过。DSP会死应该是我们的程序不够健壮

  • Peter Fan2 说:
    一旦Linux启动之后,ARM和DSP就都不能正常连接,个人分析可能是Linux设置了JTAG某个寄存器导致的,

    没有这样的寄存器设置。ARM连接不正常是因为Linux配置了MMU,DSP是因为此时ARM没有释放DSP的复位,DSP处于复位状态,要等ARM加载启动DSP才能连接。