幽默的小編先問大家一個問題:想讓我們的MCU打印出一段消息,需要怎么辦才能讓這段消息顯示在PC端呢?相信大家最常用的方式是通過MCU的串口將消息打印到PC端的串口調(diào)試終端上。那再換一個問題,打印分幾步?
簡簡單單4步,我們就可以發(fā)送私信了!
1.初始化MCU這邊的串口,配置時鐘頻率,配置對應(yīng)的輸出管腳,配置波特率等等;
2.打開PC端的串口調(diào)試工具,配置好對應(yīng)的波特率;
3.調(diào)用UART驅(qū)動,例如readwrite之流,發(fā)送數(shù)據(jù);
4.在串口調(diào)試工具上查看;
小編今天要給大家?guī)淼氖墙栌肑-link調(diào)試工具進行消息的發(fā)送。今天的主人公是一個叫做J-link RTT的小東西,那么什么是所謂的RTT呢? J-Link Real-Time Transfer(RTT)是由SEGGER公司開發(fā)的一種調(diào)試和跟蹤技術(shù),用于嵌入式系統(tǒng)的開發(fā)和調(diào)試。J-LinkRTT允許開發(fā)人員在不使用操作系統(tǒng)的情況下,通過J-Link調(diào)試器實時傳輸數(shù)據(jù)到主機,并從主機實時接收數(shù)據(jù),從而實現(xiàn)實時的調(diào)試和跟蹤功能。J-Link RTT的主要特點包括:
低開銷:J-Link RTT實現(xiàn)了高效的數(shù)據(jù)傳輸機制,可以在不影響目標(biāo)系統(tǒng)性能的情況下實現(xiàn)實時數(shù)據(jù)傳輸。
實時性:開發(fā)人員可以在目標(biāo)系統(tǒng)上實時地輸出調(diào)試信息,或者從目標(biāo)系統(tǒng)上實時地接收數(shù)據(jù),而無需停止目標(biāo)系統(tǒng)的運行。
靈活性:J-Link RTT支持多個通道,可以同時傳輸多個不同類型的數(shù)據(jù),例如調(diào)試信息、日志、性能指標(biāo)等。
無需目標(biāo)系統(tǒng)操作系統(tǒng)支持:與類似于printf輸出的調(diào)試信息不同,J-Link RTT可以在沒有操作系統(tǒng)支持的嵌入式系統(tǒng)上使用。
J-Link RTT通常與J-Link調(diào)試器和SEGGER公司的嵌入式開發(fā)工具配合使用,為嵌入式系統(tǒng)的調(diào)試和跟蹤提供了強大的支持。它在嵌入式系統(tǒng)開發(fā)中被廣泛應(yīng)用,特別是在沒有操作系統(tǒng)支持或者操作系統(tǒng)功能有限的嵌入式系統(tǒng)中,為開發(fā)人員提供了一種高效的調(diào)試和跟蹤解決方案。
那么MCU上要如何使用呢?方法很簡單,只需要將幾個SEGGER_RTT_*.c的文件導(dǎo)入工程即可。我們拿RT1060 EVK舉個例子,首先下載RT1060的SDK,打開hello world工程。
1. 新建Group添加如下文件,文件都在SDK解壓路徑components tt中:
2. 添加頭文件依賴:
3. 在hello_world.c中添加引用:
4. 創(chuàng)建up/downBuffer:
uint8_t rx_buffer[32], tx_buffer[32]; SEGGER_RTT_ConfigUpBuffer(0, "RTTUP", rx_buffer, sizeof(rx_buffer), SEGGER_RTT_MODE_NO_BLOCK_SKIP); SEGGER_RTT_ConfigDownBuffer(0, "RTTDOWN", tx_buffer, sizeof(tx_buffer), SEGGER_RTT_MODE_NO_BLOCK_SKIP); |
5. 使用RTT發(fā)送:
SEGGER_RTT_SetTerminal(0); SEGGER_RTT_printf(0, "hello world "); |
創(chuàng)建工作就已經(jīng)完成了,接下來就是PC端的工作,打開J-Link RTT Viewer,選擇器件為rt1060,這里要注意選擇RTT control Block的地址,和代碼一致:
點擊OK,打開:
下載程序運行,打開一個Terminal 0,即可查看運行結(jié)果:
相較于傳統(tǒng)的UART方式,采用調(diào)試器內(nèi)置的RTT功能進行數(shù)據(jù)通信,不僅免除了對寶貴串口資源的占用,還大大簡化了編程實現(xiàn)流程,實現(xiàn)效率和便捷性的雙重飛躍!可以讓開發(fā)者輕松享受調(diào)試過程中的流暢與高效,強烈推薦大家親自感受!
-
mcu
+關(guān)注
關(guān)注
146文章
17123瀏覽量
350973 -
嵌入式
+關(guān)注
關(guān)注
5082文章
19104瀏覽量
304785 -
移植
+關(guān)注
關(guān)注
1文章
379瀏覽量
28124 -
J-Link
+關(guān)注
關(guān)注
0文章
84瀏覽量
22137
原文標(biāo)題:從J-link RTT的移植到精通,讓嵌入式調(diào)試飛起來!
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論