利用SRIO的端口2在两块板子之间来循环14次发送数据,主要代码如下:
start = TSCL;
srio_send(slot_idx,uiDspNum,3,i);
cycle_sub = TSC_delay_cycle(start);
但是出现这样的问题,每次发送完之后打断点,测试的cycle是这样:
这应该是比较理想的时延,但是在不打断点,连续跑的时候,同样的代码,时延如下,会有几次循环时延特别夸张,完全没法理解。
请问专家们这是什么原因呢?求解答...
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.
利用SRIO的端口2在两块板子之间来循环14次发送数据,主要代码如下:
start = TSCL;
srio_send(slot_idx,uiDspNum,3,i);
cycle_sub = TSC_delay_cycle(start);
但是出现这样的问题,每次发送完之后打断点,测试的cycle是这样:
这应该是比较理想的时延,但是在不打断点,连续跑的时候,同样的代码,时延如下,会有几次循环时延特别夸张,完全没法理解。
请问专家们这是什么原因呢?求解答...
打印的就是每次测试出来的cycle_sub,出来之后就用printf将它打印出来;
这一点也考虑过,整个DSP核都只是在处理SRIO的数据传输,另外也测试了SRIO发送的时间,也会出现这样的情况,应该不会是被其他任务打断。
所以就比较疑惑。
问题解决,在接收端ISR和发送端都要注掉printf函数。