RT-Thread正式啟動硬件產品生態共建計劃"你有創意,我幫你推廣",我們尋找那些藏在工作臺、實驗室和創客空間的嵌入式硬件創意——無論是一塊開發板、一個智能工具,還是一套完整的解決方案。我們誠摯邀請社區開發者、創客和硬件公司,將您的創意原型帶到RT-Thread生態,也歡迎已有成熟產品直接入駐!!歡迎加入我們的硬件生態計劃,可發送作品(建議包含:產品介紹、演示視頻/圖片、技術亮點、您的介紹)郵件至hardware@rt-thread.com。
今天我們也榮幸的向大家首推MicroKeen(MKLink),以下來自MKLink創作者的作品內容,歡迎支持!
0
先看一個真實的產品生命周期
第一階段:研發 —— Debug 才是核心戰場
很多人以為下載速度是重點。
錯。
下載速度只是最基本的需求。
真正需要解決的是:
printf 打印日志
實時數據可視化
rtos的任務時序分析
于是你會用到:
SWD調試工具
USB 轉串口查看日志
數據可視化工具(如 J-Scope 類工具)
SystemView 類工具分析任務時序
第二階段:小批量 / 量產 —— 又換一套工具
終于調通。
進入試產。
問題來了:
你總不能讓產線工人用調試器燒錄吧?
于是又要買:
脫機下載器
固定燒錄流程
重新培訓產線
研發階段的工具,不能直接用于生產。
這本來是一個“同類功能”。
卻被割裂成兩套體系。
第三階段:售后 —— 真正的攔路虎
產品發出去以后。
Bug 會出現。
甲方會提新需求。
必須升級固件。
這時候你要做什么?
寫 IAP Bootloader
再開發 PC 升級上位機
再維護一套通信協議
于是——
又一套工具體系誕生了。
問題的本質
研發一套工具。
量產一套工具。
售后一套工具。
同一個產品,三套工具。
1
我們真的需要那么多調試工具嗎?
1、正版調試器確實強,但不是誰都負擔的起
說到調試器,市面上有很多選擇,功能強大、生態成熟的不在少數。
但現實是:
項目一多,成本直線上升
團隊多人開發,每人一臺?
產線要不要配?
售后要不要備?
工具成本,很快就從“合理”,變成“壓力”。

2、用盜版?風險提示你忍得了嗎?
你一定見過這些提示:
盜版檢測:the connected probe appears to be a j-link clone

連接故障:The connected J-Link is defective

質量堪憂:市面上常見的盜版jlink,質量一言難盡,當調試器本身不穩定時,你的研發效率就已經被拖垮了。
3、真正的問題:工具鏈是割裂的
典型開發流程:

每個階段都在換工具。
每換一次:
學習成本
維護成本
培訓成本
適配成本
真正消耗的不是錢。
是精力。
2
我想做一件更簡單的事
我問自己一個問題:
能不能用一套硬件,覆蓋整個產品生命周期?
于是有了 MicroKeen(MKLink)。
功能覆蓋

購買地址
MKLinkV2 :
https://item.taobao.com/item.htm?ft=t&id=895964393739
MKLinkV3 :
https://item.taobao.com/item.htm?ft=t&id=1013104417098
MKLinkV4 :
https://item.taobao.com/item.htm?ft=t&id=1020501356342
3
MicroKeen的底層邏輯
它不是一個“下載器”,是開發平臺。
1、性能基礎:不是隨便選的 MCU
采用 先楫半導體 HPM 高性能 MCU:
360 MHz 主頻
內置 USB High-Speed PHY
這不是為了“堆配置”。
而是為了并行運行多種調試任務。
2、軟件架構:不是堆功能,而是做平臺
RT-Thread RTOS
提供穩定的多任務調度與資源管理,支撐調試、下載、數據轉發并行運行;
CherryUSB 協議線
基于 USB HS,實現 CDC / MSC 多類設備高速并行工作;
在設備側運行 Python解釋器,支持脫機下載與升級流程的腳本化與二次開發;
Arm-2D 圖形加速庫
UI加速引擎,實現流暢、低資源占用的本地人機交互界面。
3、關鍵創新點:一根 USB 線,全搞定
一個 USB 口,同時支持:
CMSIS-DAP 調試
USB 轉串口(最高 12M Baud)
RTT 轉發
SystemView 協議
VOFA+ 協議
脫機下載
IAP升級
WinUSB 免驅
你不再需要:
RTTViewer
J-Scope
額外串口工具
開發升級上位機
真正實現:
Debug 全家桶,一體化。
4
它到底能干什么?
1、下載速度,真的快
與目前市面上最新的調試器速度對比,目標芯片使用 STM32H743,開發環境 MDK V5.39,分別使用 MicroLink 和某主流調試器將 2558KB 的 HEX 文件下載到內部 FLASH 中。使用邏輯分析儀測試時鐘引腳,計算出擦除,編程,校驗全過程的時間,MicroLink 使用時間為 24.205 秒,對比調試器使用時間為 33.439 秒,測試數據如下圖:

MicroLink測試結果:

測試結果對比:

2、高速USB轉串口
MicroLink內置USB轉串口功能,支持常見的串口和485通信,串口最大支持12M波特率,無丟包。

使用邏輯分析儀抓取波形如圖所示,每個bit傳輸的時間為1/10M=100ns。

3、RTT,不再綁定專用上位機
MicroKeen(MKLink)實現了對 SEGGER Real Time Transfer(RTT)的原生支持,在不中斷目標系統運行的前提下,實現高速、雙向的實時數據交互與調試通信,是傳統串口調試方式的高效替代方案。
實現原理:

只要擁有了MKLink,你就可以享受以下的便利:
無需占用UART,將printf重定位到RTT;
不需要使用專門的RTTView上位機,支持任意串口助手;
高速通信,不影響芯片的實時響應。
比如使用SSCOM,連接MicroLink的虛擬串口,輸入以下指令:
RTTView.start(0x20000000,1024,0)
0x20000000:搜索RTT控制塊的起始地址;
1024:搜尋范圍大小;
0:啟動RTT的通道。

4、VOFA+ 可視化,不占 MCU 串口
MicroKeen(MKLink)已完成對 VOFA+ 上位機協議的原生適配,可在功能與使用體驗上替代傳統調試器的數據可視化工具(如 J-Scope)。
實現原理:
MKLink 通過 SWD 直接讀取目標芯片內存中的變量數據,并實時封裝為 VOFA+ 協議,經 USB CDC 虛擬串口發送至 PC,實現對運行中變量的曲線顯示、波形分析與參數調試,且不占用 MCU 串口資源、不侵入業務代碼。
核心優勢:
無需占用 MCU 串口資源
基于 SWD 的非侵入式采集
支持多種數據類型
高速刷新,穩定可靠
打開VOFA+上位機,并連接虛擬串口,發送
vofa.send(0x20000030,"uint8_t",0x2000154c,"float",0x20001550,"float",0.00001)
0x20000030:變量1內存地址;
uint8_t:變量1數據類型;
0.00001:讀取周期,單位秒,最小支持1us

5、原汁原味的SystemView
MicroKeen(MKLink)已完成對 SEGGER SystemView 協議的原生支持,無需額外分析硬件,即可實現對 RTOS 運行狀態的任務級可視化分析,顯著降低系統級調試門檻。
實現原理:

核心優勢:
無需額外 Trace 硬件
基于 RTT 的低侵入式采集
支持主流 RTOS(RT-Thread / FreeRTOS)
任務級、時間軸級運行態分析
即插即用,兼容官方 SystemView 工具

6、脫機下載?直接腳本化
MKLink支持脫機離線下載的功能,借助于強大的PikaPython開源項目,讓MKLink可以使用python腳本進行二次開發,可以非常容易地定制升級流程。
MKLink的虛擬U盤中有一個offline_download.py文件,內容如下:
importPikaStdLibimporttimeimportcmdimportload# SWD 時鐘頻率(Hz)SWD_CLOCK_HZ =10000000# 設置下載速度cmd.set_swd_clock(SWD_CLOCK_HZ)abort =False# 加載下載算法ifload.flm("FLM/STM32F10x_1024.FLM",0x08000000,0x20000000) !=0: print("load flm failed") abort =True break# 下載bin文件 ifload.bin("bootloader.bin",0x08000000) !=0: print("load bin failed") abort =True break # 下載hex文件 ifload.hex("rt-thread.hex") !=0: print("load hex failed") abort =True break
ifnot abort: cmd.set_beep_on() time.sleep_ms(100) cmd.set_beep_off()else: print("auto download aborted")
該代碼通過加載FLM算法文件,將多個二進制文件(如bootloader.bin和rt-thread.hex)分別燒錄到STM32內部不同地址的flash中。
注意:請根據您的實際項目需求,修改以下內容:
下載算法文件名稱(如 "FLM/STM32F10x_1024.FLM"):應替換為對應芯片和Flash型號的 FLM 文件。
下載文件名稱及地址(如 "bootloader.bin"、"rt-thread.hex",及其對應的地址):請確保文件名和燒錄地址與您的程序結構一致。
7、售后升級?MicoKeen搭配MicroBoot為君解憂
MKLink內置Ymodem協議,支持通過串口進行可靠的文件傳輸。ymodem協議在多次重傳時仍能保持數據的完整性,非常適用于嵌入式系統的固件升級。
使用內置的ymodem協議發送文件,首先需要目標設備支持ymodem協議接收文件。
MicorBoot開源框架集成了ymodem模塊,可以方便用戶直接安裝使用,具體使用方法請看MicorBoot簡介。
MicroBoot簡介:
https://microboot.readthedocs.io/zh-cn/latest/
借助python腳本,只需要在腳本中編寫幾行代碼,便可以讓MKLINK搖身一變為ymodem文件傳輸工具,給單片機設備做IAP升級。
importPikaStdLibimportcmdimportymymodem = ym.ymodem("uart",115200)#ymodem = ym.ymodem("485",115200)ymodem.send("rt-thread.hex")
無需額外開發 PC 升級軟件。
5
開源向實:不止是一個工具,也是一個開發平臺
基于 MKLink 硬件平臺,后續將持續開放并完善完整示例工程,
涵蓋:
RT-Thread:在先輯硬件平臺上的工程化實踐
CherryUSB:USB HS 多類設備的真實應用范例
PikaPython:嵌入式 Python 在工具與流程中的落地使用
Arm-2D:高性能UI加速引擎,實現流暢圖形與人機交互
開發者不僅可以“使用” MKLink,還可以將 下載器本身作為開發板,學習、驗證并實踐這些優秀開源項目在真實產品中的協同使用方式。
開源不止于代碼,價值在于落地
MKLink,希望成為連接開源生態與工程實戰的那座橋梁。
MKLink簡介:
https://microboot.readthedocs.io/zh-cn/latest/tools/microlink/microlink/
6
真正的意義
MicroLink 的價值,不在“它比誰快”。
而在于:
它把工具鏈統一了。
研發用它 ;
調試用它 ;
量產用它 ;
售后也用它;
我做 MicroKeen,不是為了替代誰。
而是想解決一個問題:
為什么一個產品生命周期,需要這么多工具鏈?
如果你也受夠了頻繁切換工具。
也許它,會是你想要的答案。
-
硬件
+關注
關注
11文章
3594瀏覽量
69005 -
調試器
+關注
關注
1文章
328瀏覽量
25084 -
RT-Thread
+關注
關注
32文章
1613瀏覽量
44817
發布評論請先 登錄
用于SWD/JTAG調試器的多功能轉接板設計
在Windows和Linux環境下分別使用Olimex和蜂鳥調試器下載程序
StellarLINK在線調試器技術解析與應用指南
?STMicroelectronics AEK-MCU-SPC5LNK 編程調試器技術解析
?MPLAB? ICD 5內電路調試器技術解析與應用指南
?MPLAB? PICkit? Basic調試器技術解析與應用指南
SEGGER Ozone調試器支持第三方調試工具
【干貨分享】RT-Trace國產調試工具 | 技術集結
一個調試器,干掉四套工具鏈,我把調試、下載、量產、IAP升級 全都塞進了一個小盒子里 | 技術集結
評論