【轉載】在單片機(MCU)上運行Qt?Qt for MCUs 1.0正式發佈

在單片機(MCU)上運行Qt?Qt for MCUs 1.0正式發佈

 嵌入式ARM 2019-12-16 1414瀏覽 0評論 0點贊

 

【Qt 公司近日宣佈了新的工具包:Qt for MCU。】

 

有感博文

 

https://blog.qt.io/cn/2018/08/15/qt_on_microcontrollers_mcu/

這篇博文翻譯讓我有一些啓發

 

 

    之前也一直有疑惑,能否在單片機(MCU)上運行Qt呢?Qt能否不依賴操作系統運行(裸跑)?很早時候,就聽說了Qt for MCUs這個項目。看到這篇博文之後也深有體會。

 

QT在單片機上的運行演示視頻

 

 

 

    簡單介紹這個項目,Qt for MCU 能夠在沒有操作系統的設備上運行,允許開發人員在具有成本效益的單片機上創建流暢的用戶界面,基於 Qt 的應用程序現在可以部署在傳統操作系統與基於 ARM Cortex M7 的單片機上。

 

 

 

項目的意義何在

 

    我們都知道,體積小,功耗低加上低成本是單片機的主要特性,PCB Layout複雜度相對於Cortex-A那樣級別的MPU來說要低很多,在要求不是特別高的情況下,低廉的價格對批量生產優勢明顯。而且無論是整個BOM成本還是開發人員的要求MCU都相對要有優勢。

 

    Qt是一個1991年由Qt Company開發的跨平臺C++圖形用戶界面應用程序開發框架。它既可以開發GUI程序,也可用於開發非GUI程序,比如控制檯工具和服務器。它的跨平臺特性、五花八門包羅萬象的類庫(包括圖形界面)、豐富的例程以及給力的開源社區配合嵌入式開發是一件創新點高level的事情。

 

 

Qt for MCU 是如何實現的呢?

 

答案是 Qt Quick。Qt Quick是Qt 4.7 中推出的一項新技術。Qt Quick 是一種高級用戶界面技術,使用它可輕鬆地創建供移動和嵌入式設備使用的動態觸摸式界面和輕量級應用程序。 其核心是 QML,從語法上看,它有一種 JSON 感覺,低開銷運行時使 QML GUI 能夠與後端 C/C++ 代碼綁定,使 GUI 可以跨多個平臺進行移植。

 

Qt for MCU 軟件棧如圖

 

 

    通過一個新的 QML 到 C++ 的轉換,再加上一個新的聲明性屬性綁定引擎,在爲 MCU 開發任何應用程序的同時,開發人員仍然可以使用他們強大的聲明性 UI 語言 QML 和豐富的現成 Qt Quick 控件集來實現功能,沒有操作系統的情況下,直接在處理器運行,業界稱爲“在裸金屬上運行”

 

技術難點

 

    Qt 一直是在x86、A9、Cotex-A 系列運行,那麼既然是單片機,暫時來說也是對硬件環境有高要求的。

  • 256 MB 的RAM;

  • 500 MHz CPU (推薦1 GHz);

  • 支持OpenGL ES 2.0.

 

    QT要想跑在MCU上邊,還是需要QT團隊做大量移植和簡化的工作,然後還要移植Qt Core、Qt GUI、Qt Widgets、Qt QML、Qt Quick Controls 2、Qt Network這些模塊,以適應MCU的資源環境,QT還需要C++11編譯器的支持,Qt內部使用了大量的POSIX接口函數

 

    總的來說,有兩個必要條件:

  • 兼容POSIX的操作系統

  • 兼容C++11的編譯器

 

前瞻

 

    經過20年的發展,QT的開發環境也越來越完美了,但是從開發的角度來說,從X86的桌面到Cortex-A的智能終端,並且Qt for MCUs項目之後,現在還加入了MCU的支持,Qt Quick Ultralite負責GUI主機,Qt Core作爲MCU邏輯部分的開發,使用上C++優秀的面向對象的語言特性,底層還有個RTEMS開源的實時操作系統,這對開發人員來說,挑戰巨大。從文章基於STM32F769 的實驗來看,還有很多的任務要做,移植Qt本身表述如下

 

 

 

Qt for MCUs 1.0正式發佈

 

 

Qt for MCUs的優勢

 

    極致性能、極小內存佔用是它的優勢,在微控制器上打造流暢的用戶界面,專注於統一的技術方法,並且可以應用於整個產品線,從而獲得一致的品牌用戶體驗。

  • 類似智能手機的用戶體驗

  • 跨arm架構重用源代碼

  • 使用QML和Qt開發工具進行快速開發

 

    我們來看看整個操作視頻

 

 

 

Qt for MCUs是什麼?

 

    一個完整的圖形框架和工具包,包含在微控制器上設計、開發和部署GUI所需的一切。您可在裸機或實時操作系統上運行您的應用程序。

 

Qt for MCUs開發工具

 

對用戶說的話

 

    意法半導體微控制器營銷總監 Daniel Colonna說到,“在今年的Embedded World上,Qt公司在我們STM32MP1多核微處理器系列上展示了一個令人印象深刻的演示。現在,他們在性能較低的STM32F7系列微控制器上實現的高性能UI正將Qt推向更高的水平,我們相信隨着Qt for MCUs的推出,我們的合作將更加豐富,更多客戶將從中受益。”

 

    恩智浦半導體低功耗微處理器和微控制器產品線副總裁兼總經理Joe Yu說到,“我們對運行在i.MX RT1050跨界處理器上的基於Qt的繪圖性能非常滿意。通過利用RT1050圖形加速器,Qt能提供60 fps高質量的圖形,同時最小化內存的佔用。Qt在嵌入式行業被廣泛使用,新的產品將使Qt成爲更有吸引力的競爭者。

 

來源:技術讓夢想更偉大

原文地址:https://www.eet-china.com/mp/a10350.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章