segger rtt 輸出 log


調試 mcu 的時候,使用 jlink 的 rtt 可以方便的輸出信息。

輸出有兩種模式, client 和 logger。 client 必須依附其他程序,比如說 mdk 調試狀態,或者 logger 程序。

logger 可以不依附其他程序,但是 rtt 默認的代碼只支持 client 的通道 0,想要使用 logger,需要修改代碼,具體如下:

static SEGGER_RTT_CB _SEGGER_RTT = {
  "SEGGER RTT",
  SEGGER_RTT_MAX_NUM_UP_BUFFERS,
  SEGGER_RTT_MAX_NUM_DOWN_BUFFERS,
  {{ "Terminal",         &_acUpBuffer[0],           BUFFER_SIZE_UP,   0, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP },
   { "Log",                 &_acUpBuffer1[0],          BUFFER_SIZE_UP,   0, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP }},
  {{ "Terminal",         &_acDownBuffer[0],         BUFFER_SIZE_DOWN, 0, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP },
   { "Log",                 &_acDownBuffer1[0],  BUFFER_SIZE_DOWN, 0, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP }},
};

這段代碼是給予 4.90e 的 rtt 代碼,增加了一個通道,在調用 rtt 的時候,通道寫 1 即可通過 logger 來輸出了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM