一、前言
在我們的嵌入式開發(fā)中,常常把printf重定向到MCU的串口外設(shè),再配合上位機(jī)界面軟件,通過打印調(diào)試信息的方式來調(diào)試我們的嵌入式軟件。
此處,我們介紹另一種打印調(diào)試的方法——SEGGER 的RTT 。RTT全稱是Real Time Transmit(實(shí)時傳輸),是Segger公司推出的,是配合J-link使用的一種調(diào)試手段。其框圖如下:
可見,我們的MCU通過J-Link,憑借RTT就可往電腦打印調(diào)試信息,電腦端這邊用的是J-LINK 的小軟件 RTT Viewer (不能是別的軟件哦)。這樣,我們就可以把MCU的串口資源釋放出來了,特別對于一些串口資源不那么充足的MCU來說就可以省出一個串口去與其它外圍芯片進(jìn)行串口通訊。
二、SEGGER_RTT的使用
所需準(zhǔn)備,J-Link及SEGGER_RTT源碼。下面演示在Keil-MDK環(huán)境下使用SEGGER_RTT:
1、安裝J-Link驅(qū)動
安裝完之后就可在看到如圖所示的J-Link RTT Viewer V6.44b,我們待會要把調(diào)試信息傳輸?shù)竭@個軟件上。
2、SEGGER_RTT的收發(fā)測試
(1)把SEGGER_RTT_V640添加到我們的工程文件夾中
SEGGER_RTT_V640中的內(nèi)容如下:
(2)把SEGGER_RTT_V640下的RTT下的所有文件添加到我們的工程中
(3)添加文件路徑
(4)在main.c中添加如下測試代碼
需要注意的是:記得添加頭文件SEGGER_RTT.h,范例工程可在聊天界面回復(fù)關(guān)鍵詞RTT進(jìn)行獲取。
(5)編譯下載到flash中,并啟動RTT Viewer軟件
這個測試程序是對SEGGER_RTT進(jìn)行收發(fā)測試,其中SEGGER_RTT_printf與我們平時用的printf差不多。
三、最后
SEGGER_RTT基本上可以替換掉我們的串口打印調(diào)試,關(guān)于SEGGER_RTT還有其他可以學(xué)習(xí)的地方,比如輸出顏色設(shè)置、多任務(wù)調(diào)度等,有需要的朋友可以自己進(jìn)行學(xué)習(xí)使用。
-
mcu
+關(guān)注
關(guān)注
146文章
17324瀏覽量
352663 -
嵌入式
+關(guān)注
關(guān)注
5094文章
19178瀏覽量
307732 -
串口
+關(guān)注
關(guān)注
14文章
1558瀏覽量
77072
發(fā)布評論請先 登錄
相關(guān)推薦
嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境
![<b class='flag-5'>嵌入式</b>機(jī)器學(xué)習(xí)的應(yīng)用特性與<b class='flag-5'>軟件</b>開發(fā)環(huán)境](https://file1.elecfans.com/web3/M00/05/AF/wKgZO2eCM96AYfoXAAC2esU07bU956.png)
如何提高嵌入式代碼質(zhì)量?
嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)與AI結(jié)合應(yīng)用
嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決
嵌入式學(xué)習(xí)建議
什么是嵌入式?一文讀懂嵌入式主板
EsDA,一站式嵌入式軟件
![EsDA,一站<b class='flag-5'>式</b><b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
嵌入式開發(fā)常用軟件有哪些?
嵌入式軟件開發(fā)與AI整合
![<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發(fā)與AI整合](https://file1.elecfans.com/web2/M00/8D/79/wKgaomS7KZ-AY3GzAAArJzrUg1c443.png)
嵌入式系統(tǒng)怎么學(xué)?
從事嵌入式方向,一定要軟硬件通吃?
![從事<b class='flag-5'>嵌入式</b>方向,一定要軟硬件通吃?](https://file.elecfans.com/web2/M00/20/B3/pYYBAGGfNNmAK-PZAAJsGM5Cgk0227.jpg)
嵌入式軟件工程師和硬件工程師的區(qū)別?
嵌入式產(chǎn)品的低功耗調(diào)試實(shí)用技巧
![<b class='flag-5'>嵌入式</b>產(chǎn)品的低功耗<b class='flag-5'>調(diào)試</b>實(shí)用技巧](https://file1.elecfans.com/web2/M00/DF/02/wKgaomYttE2ACQ9vAAAX8ftC69E840.png)
嵌入式軟件設(shè)計(jì)的原則分享
![<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>設(shè)計(jì)的原則分享](https://file1.elecfans.com/web2/M00/C1/D3/wKgaomXarJuAfAYZAAAk4c2b2Lg596.png)
評論