1. 程式人生 > >SEGGER-RTT除錯(代替串列埠printf輸出)的使用方法

SEGGER-RTT除錯(代替串列埠printf輸出)的使用方法

在沒有串列埠printf輸出的情況下,可以使用SEGGER-RTT進行嵌入式開發除錯。
RTT Real Time Terminal 即jink的實時終端
使用方法

1. 安裝jlink V5.02或以上版本的驅動

這裡寫圖片描述
我裝的是V5.02d版本Jlink,可以在網上找到安裝包進行安裝。
安裝完成後,開啟安裝路徑,可以看到以下應用程式:
這裡寫圖片描述
我們用到的是頭兩個。

2. 將SEGGER-RTT的原始檔配置到專案程式中

網上下載原始檔RTT_Implementation_140925解壓得到
這裡寫圖片描述
將RTT資料夾和Syscalls資料夾複製到工程路徑下,並在工程中新增檔案
SEGGER_RTT.c、SEGGER_RTT.h、SEGGER_RTT_Conf.h、SEGGER_RTT_printf.c和RTT_Syscalls_KEIL.c,如果用的是其他IDE,就新增RTT_Syscalls_IAR.c或RTT_Syscalls_GCC.c。
這裡寫圖片描述


在“Options for Target”中包含標頭檔案路徑。

3. 應用示例

這裡寫圖片描述
如圖,新增標頭檔案“SEGGER_RTT,h”和“SEGGER_RTT_Conf.h”,
然後呼叫SEGGER_RTT_Init()初始化
此時便可以使用SEGGER_RTT_printf()函式進行列印輸出了

開啟以下兩個程式
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
此時還沒有連線上裝置,在J-Link RTT Logger中提示輸入裝置資訊
這裡寫圖片描述

頭三項實際填寫,相關資訊在Keil中可以找到,其他選擇預設,一路Enter
J-Link RTT Logger顯示如下
這裡寫圖片描述

J-Link RTT Client顯示已連線,併成功輸出列印內容
這裡寫圖片描述