TI中文支持网
TI专业的中文技术问题搜集分享网站

求解:C6678的SRIO门铃收printf的影响

如题,在测试SRIO门铃中断时,发现系统函数printf对门铃中断有影响,printf在主流程中,不在中断服务函数,主要做了下面几个测试:

1) FPGA循环给8个核发送门铃中断,如果只有一个核的主流程添加printf,则只有该核收到的门铃中断次数少于其他核,其他核应该正常

2)FPGA循环给8个核发送门铃中断,如果只有一个核的主流程不添加printf,则只有该核不受影响,其他核收到门铃次数均小于该核的次数,且谁先执行printf谁收到的门铃中断要多余其它核

附:printf是不可重载函数,多核不能同时执行该函数,但是只有一个核在主流程中运行printf时,也会收到影响,请问为什么?pirntf在执行的过程中会有关中断的操作?

James Li2:

printf执行中是否关中断我不清楚,但是在实时性很强的应用(如SRIO通信)中不能加printf,printf非常耗时而且我的理解是printf把字符串输出到PC的CCS调试窗口的过程中应该包含了一些硬件操作。

Xiao Ma1:

回复 James Li2:

James Li2:您好!首先非常感谢您的回答。在中断服务函数中,我是没有添加printf的,因为实时性的问题会出现问题;但是在主流程中添加感觉应该不会出现问题的,但是在实测时,printf确实会影响SRIO门铃中断的产生,我想问您,printf“printf把字符串输出到PC的CCS调试窗口的过程中应该包含了一些硬件操作”,这些操作您能在说细点嘛?会有屏蔽中断等操作吗?谢谢!

James Li2:

回复 Xiao Ma1:

Sorry,我也只是猜测,我对printf的实现并不了解。

赞(0)
未经允许不得转载:TI中文支持网 » 求解:C6678的SRIO门铃收printf的影响
分享到: 更多 (0)