各路高人:
请问在使用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"
如有知晓,还请告知,不胜感激!
Shine:
降低频率就不会出现这个问题么?在出错时,有没有跟一下代码看是哪里出错了?
user3877487:
回复 Shine:
多谢回复,是不是我的用法不对,我用ARM配置好DSP周边期间并启动DSP,但是一启动ARM上的Linux,就再也不能连接仿真器了,所以故障的时候不太方便定位;而DSP周边期间依赖ARM配置才能正常工作,直接连仿真器DSP程序也不能跑起来,这种设计作茧自缚了。
Tony Tang:
回复 user3877487:
Peter Fan2但是一启动ARM上的Linux�就再也不能连接仿真器了,所以故障的时候不太方便定位;
你是说不能连ARM, 还是不能连DSP?
Peter Fan2而DSP周边期间依赖ARM配置才能正常工作,直接连仿真器DSP程序也不能跑起来,这种设计作茧自缚了。
修改一下软件,总有办法的。
Notify不过是用中断方式通讯,快慢本身不会有什么问题,至多快了的时候丢中断。
user3877487:
回复 Tony Tang:
引导程序启动的时候可以连接仿真器,连接顺序是先连ARM再连DSP,否则先连DSP会提示等待复位;一旦Linux启动之后,ARM和DSP就都不能正常连接,个人分析可能是Linux设置了JTAG某个寄存器导致的,不过这块还没研究过。DSP会死应该是我们的程序不够健壮
Tony Tang:
回复 user3877487:
Peter Fan2一旦Linux启动之后,ARM和DSP就都不能正常连接,个人分析可能是Linux设置了JTAG某个寄存器导致的,
没有这样的寄存器设置。ARM连接不正常是因为Linux配置了MMU,DSP是因为此时ARM没有释放DSP的复位,DSP处于复位状态,要等ARM加载启动DSP才能连接。