|
影响RTT输出速度的若干因素:
1.MCU的主频
MCU的运算能力是最主要的因素。
主频越高,RTT输出占用的时间越短。
SEGGER_RTT_printf(0,"HelloRTT\r\n\n",cnt);
34MHz :45.7us
108MHz:10 us
2.同等108MHz主频下,不同的函数所消耗的时间对比。
使用盗版V9.5:
SEGGER_RTT_Write(0,"HelloRTT\r\n",sizeof("HelloRTT\r\n")-1); 2.1 us
SEGGER_RTT_WriteString(0,"HelloRTT\r\n\n"); 2.85us
SEGGER_RTT_printf(0,"HelloRTT\r\n\n",cnt); 10 us
使用正版的plus,效果差不多。
尽管RTT比串口已经快很多了,但是在有些对时间特别敏感的调试过程,需要考虑RTT所消耗的时间。
建议:
在功耗允许的情况下,尽可能的提高主频,且输出信息尽可能的短,尽可能使用SEGGER_RTT_Write or SEGGER_RTT_WriteString.
当主频大于100MHz的情况下, SEGGER_RTT_printf输出短消息占用在10us以内(尽可能不要超过10个字符)。
|
|