J-LINK RTT列印除錯,釋放串列埠資源
進入公司已經7個月左右了,最開始使用盛源達晶片的時候聽說過RTT列印,同時也使用過RTT列印,但是當時才進公司也只是在師兄的指導下使用RTT,但是沒有真正理解到RTT到底是什麼,在開發新的一個平臺的時候我又遇到了列印的問題,於是根據新平臺的技術小哥的提示自己首先在STM32上面實現了RTT的列印然後才向新平臺上面區移植列印。
首先說明RTT是什麼
RTT(Real Time Transfer)是一種用於嵌入式中與使用者進行互動的技術,它結合了SWO和半主機的優點,具有極高的效能。
使用RTT可以從MCU非常快速輸出除錯資訊和資料,且不影響MCU實時性。這個功能可以用於很多支援J-Link的裝置和MCU,相容性強。
RTT支援兩個方向的多個通道,上到主機,下到目標,它可以用於不同的目的,為使用者提供儘可能多的自由。預設實現每個方向使用一個通道,用於可列印終端輸入和輸出。
使用J-Link RTT Viewer,可用於“虛擬”終端,允許列印到多個視窗(例如,一個用於標準輸出,一個對於錯誤輸出,一個用於除錯輸出)。
RTT怎麼使用
使用RTT的前提是除錯的時候選擇J-Link偵錯程式,第一步安裝 J-LINK J-LINK 安裝包下載
下載安裝包 進行安裝
第二步 找到安裝路徑下面的2.安裝完成後,開啟J-Link的安裝目錄(開始->SEGGR->J-Link RTT Viewer->右鍵開啟檔案所在位置->然後繼續右鍵開啟檔案所在位置->此時就是安裝目錄了),
找到如下路徑SEGGER\JLink_V632f\Samples\RTT,解壓路徑裡面的壓縮包SEGGER_RTT_V632f.zip(不同的版本,V後面的數字可能不一樣)。
3.將解壓完的檔案拷貝到程式碼工程目錄中。
4.在專案工程中加入SEGGER_RTT_V632f\RTT目錄下的全部四個檔案。工程新增檔案方法請自行百度。
5.工程加入檔案後,在想要用到RTT的檔案中包含#include “SEGGER_RTT.h”,然後直接呼叫SEGGER_RTT_printf()就好了,
如圖
例如SEGGER_RTT_printf(0,“hello world!”)這個和C語言的printf的格式差不多,就是前面加了一個埠0的引數。(詳細資訊請看高階使用教程)
6.然後點選開始->SEGGR->J-Link RTT Viewer,開啟J-Link RTT Viewer 選擇好你的晶片型號後,點選確認。
如圖
最後是測試結果
出這個帖子的原因是因為,我們大多數微控制器的學習者在初學階段往往都是使用的串列埠除錯進行列印,但是串列埠資源本來就少,像普通的STM32最多的5個串列埠還有兩個是哦不常用的串列埠4串列埠5 ,列印佔用一個串列埠完全就是浪費資源 ,而且RTT也比較完善成熟了,所以為了釋放串列埠資源,可以嘗試這著使用RTT進行除錯列印,何樂而不為了,別人一看你使用的列印方式不同那麼別人也會對你刮目相看。
相關文章
- win10 如何除錯串列埠_win10串列埠除錯怎麼除錯Win10除錯串列埠
- serial for mac 串列埠除錯工具Mac串列埠除錯
- linux串列埠命令列除錯Linux串列埠命令列除錯
- 嵌入式系統除錯Uboot串列埠互動除錯除錯boot串列埠
- 樹莓派已經通過網路連線通過串列埠通訊在串列埠除錯小助手列印與操作樹莓派串列埠除錯
- 虛擬串列埠工具和串列埠除錯工具詳解 - 附下載地址串列埠除錯
- 【linux學習--工具篇】串列埠除錯工具Linux串列埠除錯
- 超好用的繪圖串列埠除錯助手繪圖串列埠除錯
- gdbserver連線Ubuntu除錯程式(使用串列埠)ServerUbuntu除錯串列埠
- 沒有真實串列埠裝置時使用"虛擬串列埠驅動"除錯你的串列埠程式碼串列埠除錯
- firewalld: 列印除錯資訊除錯
- linux 釋放埠Linux
- linux埠釋放Linux
- 釋放ip埠
- J-link虛擬串列埠波特率異常問題串列埠
- serial for mac(串列埠除錯工具) v2.0.16啟用版Mac串列埠除錯
- Xamarin.Forms-手機串列埠除錯程式開發文件ORM串列埠除錯
- 一款小而美的線上串列埠除錯工具串列埠除錯
- Objective-C列印除錯資訊Object除錯
- Ubuntu檢視埠和釋放埠Ubuntu
- STM32 串列埠列印 NaN的原因分析!!!串列埠NaN
- 【開源】基於.net6+gtksharp實現的Linux下的圖形介面串列埠除錯工具Linux串列埠除錯
- 嵌入式開發筆記——除錯元件SEGGER_RTT筆記除錯元件
- 蘋果Mac電腦串列埠除錯工具:serial for mac 支援M1蘋果Mac串列埠除錯
- BPI-M4 Berry在windows系統下連線串列埠除錯Windows串列埠除錯
- 虛擬串列埠工具MCGS開發除錯的靈活應用教程串列埠除錯
- TCP伺服器虛擬串列埠工具的MCGS開發除錯教程TCP伺服器串列埠除錯
- 串列埠資料抓取及串列埠通訊模擬串列埠
- STM32串列埠列印的那些知識串列埠
- Ubuntu檢視和釋放80埠Ubuntu
- java try(){}catch(){}自動資源釋放Java
- python讀取串列埠 資料Python串列埠
- 串列埠blog串列埠
- 串列埠UART串列埠
- 帶內串列埠 在串列埠中輸入命令串列埠
- Android 用adb 列印linux核心除錯資訊dmesg和kmsg命令AndroidLinux除錯
- QT串列埠助手(三):資料接收QT串列埠
- 如何除錯前端:優化網路資源除錯前端優化