http://kadhoai.com.cn 2026-04-25 21:59:31 來源:米爾電子
最近團隊在評估RK3506做新一代工業HMI方案,踩了不少坑,今天聊點幹貨。為啥最終選了LVGL而不是Qt?下麵說點大實話。

一線開發者的紮心時刻
痛點1:存儲和內存被“吃空”
RK3506 本身就是為低成本、高性價比設計的方案,板級內存和 NAND 容量都不會給得太奢侈。在這種資源有限的平台上,Qt 方案過於臃腫,一個基礎界麵就能把內存占掉一大截,再疊上業務邏輯和後台服務,壓力直接拉滿。很多低成本產品甚至沒法穩定跑完 Qt 整個啟動流程。
痛點2:Qt 啟動慢、CPU 負載高
三核 A7 本身不帶 GPU,Qt 的 QML 渲染完全靠 CPU 硬扛,實測開機到界麵穩定需要好幾秒,且日常界麵幀率抖動明顯。工業 HMI 對實時交互有要求,卡頓感沒法接受。
痛點3:開機速度不達標,客戶現場被吐槽
工控設備上電幾秒內必須看到畫麵,不然操作員以為機器壞了。用完整 Qt 框架+BSP 默認配置,冷啟動到界麵顯示時間過長,在流水線場景完全不合格。
一、先認識一下今天的主角:MYD-YR3506

圖:米爾基於RK3506核心板開發板
米爾RK3506核心板:多種配置、工業級/商業級可選
基於國產新一代入門級工業處理器 瑞芯微RK3506B / RK3506J,三核Cortex-A7 + 單核Cortex-M0 架構,為工業場景深度優化。

二、為什麼在RK3506上選LVGL?這就是最優解
LVGL (Light and Versatile Graphics Library) 專為資源受限的嵌入式設備設計,純 C 實現,不需要臃腫的 C++ 運行時。對 RK3506 這種“三核 A7 + 輕量級圖形通路”的芯片簡直是絕配。
|
對比維度 |
LVGL |
Qt |
|
RAM基線占用 |
極低 |
高 |
|
圖形渲染CPU負載 |
低 |
高 |
|
啟動耗時 |
2秒左右 |
明顯更長 |
|
依賴與庫體積 |
純C,無運行時額外依賴 |
需C++標準庫、動態鏈接器 |
*LVGL 實測數據來自RK3506平台,在深度優化下界麵流暢度明顯優於Qt軟件渲染。
LVGL 在 RK3506 上的優勢:
▸ 輕量化內存占用:完整界麵係統僅需幾MB RAM,給業務代碼留足空間。
▸ 啟動速度極快:無複雜依賴,從初始化到首幀顯示耗時極短。
▸ 開源且控件豐富:MIT 協議,內置幾十種常用控件,適合工業 HMI 快速開發。
三、MYD-YR3506 跑 LVGL Demo:穩、輕、快
MYIR 基於瑞芯微 RK3506 推出的 MYC-YR3506 核心板(搭配 MYD-YR3506 開發板),原生適配了 LVGL 9.x 版本,並做了輕量級係統裁剪。我們團隊在 Buildroot 環境下構建了最小 Linux 係統,集成 LVGL 完整控件庫和觸摸校準服務。




四、2秒快速啟動:從 U-Boot 到顯示的全鏈路優化
RK3506 本身具備極速啟動能力,配合深度裁剪 LVGL 可以達到“上電即見”。實測 MYIR 板卡進入 LVGL 主界麵僅需 2秒左右(內核+根文件係統)。關鍵優化手段如下:
全鏈路“瘦身”三板斧
▸ U-Boot 加速:采用 Thunderboot 模式,SPL 跳過冗餘外設檢測,直接引導內核。
▸ 內核輕量化:關閉串口 printk 日誌,禁用非必要外設驅動,僅保留 HDMI、USB 和網絡基礎模塊。
▸ Rootfs 精簡:基於 Buildroot 最小配置,僅保留 LVGL 主程序、觸摸後台及係統核心進程,去掉一切“花哨”自啟服務。
特別說明 · HDMI 顯示的“真實情況”
很多工程師拿到板子測試時會疑惑:“為什麼係統已經啟動了,屏幕還要黑幾秒才出畫麵?” 在這裏解釋一下:MYD-YR3506 目前僅設計了 HDMI 顯示輸出,而 HDMI 接口的握手協議(EDID 讀取、TMDS 信號鎖定)本身就需要較長時間。即便 Linux 內核已經在後台完成啟動,HDMI 顯示控製器初始化 + 顯示器熱插拔檢測仍然要額外消耗 一些時間。因此用戶看到了lvgl啟動信息,但畫麵卻延遲了幾秒左右才點亮。這不是 LVGL 啟動慢,而是硬件接口協議帶來的客觀瓶頸。如果你的項目對“首屏時間”有極致要求,可以考慮選用 MIPI DSI 接口屏,其初始化速度遠快於 HDMI。
五、不止於跑Demo:一些底層調優經驗
真正在生產環境落地,我們針對 RK3506+LVGL 做了一些硬核適配:
LVGL 顯示後端優化:直接基於 DRM (Direct Rendering Manager) 進行輸出,避免 FB 層額外拷貝;開啟 LVGL 的緩存雙緩衝機製,實現流暢渲染。
輸入設備協同:使用 input 子係統讀取觸摸屏事件,通過 evdev 驅動無縫對接 LVGL,觸摸響應延遲低於 15ms。
內存動態分配:對 LVGL 的內存池進行精細化配置,利用 RK3506 的 CMA(連續內存分配器)為 framebuffer 預留顯存,有效減少內存碎片。
結語:輕量化 ≠ 低效能,選對工具事半功倍
RK3506 在工業 HMI、智慧家居、邊緣網關領域的定位非常明確——高性價比、多核異構、豐富接口。對於大部分資源受限場景,LVGL 是實打實的“最優解”。而 MYD-YR3506 開發板不僅通過 LVGL 釋放了芯片的性能潛力,還做了從 U-Boot 到應用的全麵啟動加速。如果你也在選型中糾結“Qt 太重”,不妨花幾天時間切到 LVGL 試試,或許會打開新大門。