一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式系統(tǒng)又迎來了生命中的第二個春天

倩倩 ? 來源:lq ? 作者: CSDN ? 2019-10-08 16:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近我國自研的操作系統(tǒng)接連開源,先是MiniGui(Github地址:https://github.com/VincentWei/minigui),可能現(xiàn)在提起MiniGui大家已經(jīng)比較陌生了。

不過對于筆者-曾經(jīng)的CSDN嵌入式論壇版主而言,MiniGui是個如雷貫耳的名字,在十幾年前MiniGui和WINCE是各個各種開發(fā)板的標(biāo)配,當(dāng)時論壇上也有各種關(guān)于MiniGui移植及開發(fā)的帖子。

但是由于當(dāng)時的嵌入式系統(tǒng)多用來制作手持式PDA,車載導(dǎo)航儀等設(shè)備,所以安卓出現(xiàn)后迅速占領(lǐng)了上述市場,MiniGUI等嵌入式操作系統(tǒng)逐漸沒落。

但是我們整理互聯(lián)網(wǎng)發(fā)展的脈絡(luò)可以看到,內(nèi)容的不斷豐富與終端的不斷擴展是兩條主線,隨著網(wǎng)上數(shù)據(jù)量的持續(xù)爆炸性增長,今后新增的流量肯定主要來自于對于萬物互聯(lián)的紅利。

而與傳統(tǒng)互聯(lián)網(wǎng)內(nèi)容+用戶的模式不同,物聯(lián)網(wǎng)則是場景+用戶的模式,誰能整合場景誰能笑到最后。所以之后的嵌入式系統(tǒng)又迎來了生命中的第二個春天。

巨頭們的布局

騰訊在三天前正式發(fā)布了其物聯(lián)網(wǎng)終端的操作系統(tǒng)TinyOS(Github地址:https://github.com/Tencent/TencentOS-tiny),其系統(tǒng)架構(gòu)圖如下:

目前看其內(nèi)核部分已經(jīng)開發(fā)完成,并已經(jīng)完全開源。雖然從其從tinyos內(nèi)核的代碼來看(詳見https://blog.csdn.net/BEYONDMA/article/details/101355221),還是為物聯(lián)終端做了一定優(yōu)化與裁減的,不過從下面的場景圖來看,騰訊其實醉翁之意不在酒,以操作系統(tǒng)為契機入局物聯(lián)網(wǎng)的相關(guān)鏈條已經(jīng)規(guī)劃完整。

而且從比操作系統(tǒng)發(fā)布還早幾天就掛在淘寶上的開發(fā)板來看,更是說明騰訊對于旗下云平臺能夠整合物聯(lián)場景的巨大野心。

AliOS Thing3.0發(fā)布

云棲大會第三天,阿里不出意外的拿出了AliOS Things 3.0(Github地址https://github.com/alibaba/AliOS-Things/tree/rel_3.0.0),與TencentOS Tiny一樣這款OS也是與阿里云平臺無縫對接的,而且它的內(nèi)核還直接支持了自家的AI芯片,提前布局AI+物聯(lián)網(wǎng)。

由于AliOS Things已經(jīng)開源兩年有余,所以其開發(fā)者體驗相對較好,他們的IDE是基于VSCODE的,筆者已經(jīng)下單他們的開發(fā)板了,后續(xù)親測OS后再發(fā)體驗。

可見巨頭的邏輯就是要整合物聯(lián)網(wǎng)時代的場景,他們的OS都是免費的,而且技術(shù)支持也強,不過巨頭就是要做物聯(lián)時代的ANDROID,最終一統(tǒng)天下。

老牌嵌入式操作系統(tǒng)的選擇

MiniGui做為已經(jīng)存在了20多年的嵌入式操作系統(tǒng),其架構(gòu)圖如下:

從底至上,MiniGUI 由如下幾個模塊組成:

圖形抽象層(Graphics Abstraction Layer,GAL):

圖形抽象層將來自不同操作系統(tǒng)或設(shè)備的圖形接口進行抽象,為 MiniGUI 上層提供統(tǒng)一的圖形接口。在圖形抽象層內(nèi),包含有針對 Linux FB 設(shè)備、eCos LCD 設(shè)備等的軟件組成部分。

這些軟件組成部分通過調(diào)用底層設(shè)備的接口來實現(xiàn)具體的圖形抽象層操作,如打開設(shè)備、設(shè)置分辨率及顯示模式、關(guān)閉設(shè)備等。

我們將這些用于適配圖形抽象層接口的軟件組成部分稱為“引擎(engine)”,其概念和操作系統(tǒng)中的設(shè)備驅(qū)動程序類似。

輸入抽象層(Input Abstraction Layer,IAL):

和 GAL 類似,輸入抽象層將 MiniGUI 涉及的所有輸入設(shè)備,如鍵盤(keyboard)、小鍵盤(keypad)、鼠標(biāo)(mouse)、觸摸屏(touch screen)等抽象了出來,為上層提供一致的接口。要支持不同的鍵盤、觸摸屏或者鼠標(biāo)接口,則通過為 IAL 編寫不同的輸入引擎實現(xiàn)。

MiniGUI 通過 IAL 及其輸入引擎,提供對 Linux 控制臺(鍵盤及鼠標(biāo))、觸摸屏、遙控器、小鍵盤等輸入設(shè)備的支持。

圖形設(shè)備接口(Graphics Device Interfaces,GDI):

該模塊基于圖形抽象層為上層應(yīng)用程序提供圖形相關(guān)的接口,如繪制曲線、輸出文本、填充矩形等等。圖形設(shè)備接口中含包含其他比較獨立的子模塊,如字體字符集(font and charset)支持、圖像(image)支持等。

消息處理模塊(Messaging Module):

該模塊在輸入抽象層基礎(chǔ)上,實現(xiàn)了 MiniGUI 的消息處理機制,為上層提供了完備的消息管理接口。

眾所周知,幾乎所有的GUI 系統(tǒng)本質(zhì)上都是事件驅(qū)動的,系統(tǒng)自身的運行,以及GUI 應(yīng)用程序的運行,都依賴于消息處理模塊。

多窗口處理模塊(Windowing Module)和控件(Control 或 Widget):

基于圖形設(shè)備接口和消息處理模塊,MiniGUI 實現(xiàn)了多窗口處理模塊。該模塊為上層應(yīng)用程序提供了創(chuàng)建主窗口和控件的基本接口,并負(fù)責(zé)維護控件類。

控件類是用來實現(xiàn)控件代碼重用的重要概念,利用控件類(control class),我們可以創(chuàng)建屬于某個控件類的多個控件實例(instance),從而讓這些控件實例使用同一個控件類的代碼,這樣,我們就實現(xiàn)了類似 C++ 那樣的類和實例概念,從而可以最大程度上重復(fù)利用已有代碼,并提高軟件的可維護性。

MiniGUI 的控件模塊實現(xiàn)了常見的 GUI 控件,如靜態(tài)框、按鈕、編輯框、列表框、下拉框等等。

外觀支持(Look and Feel):

這個模塊是 MiniGUI V3.0 提供給上層應(yīng)用程序的接口,可用來定制 MiniGUI 窗口、控件的繪制。

在 MiniGUI V3.0 之前的版本中,對主窗口和控件的定制能力,還沒有被抽離出來形成獨立的模塊,但我們?nèi)匀豢梢酝ㄟ^配置選項讓 MiniGUI 的主窗口、控件具有三種顯示風(fēng)格,分別是:類似 PC 的三維風(fēng)格(PC3D)、平板風(fēng)格(FLAT)、流行風(fēng)格(FASHION)。

在 MiniGUI 3.0 中,主窗口和控件的外觀可完全由應(yīng)用程序自行定制,在創(chuàng)建主窗口或者控件時,指定外觀渲染器(renderer)的名稱,就可以讓主窗口或者控件具有各自不同的外觀。

可以看到MiniGUI從創(chuàng)立伊始就放棄了對于RTOS內(nèi)核的編寫,直接基于linux等內(nèi)核來做封裝。簡單聊兩句基于MiniGUI的圖形應(yīng)用開發(fā)。

typedefstruct _MSG { HWND hwnd;int message; WPARAM wParam; LPARAM lParam;#ifdef _LITE_VERSIONunsignedint time;#elsestructtimevaltime;#endifPOINT pt;#ifndef _LITE_VERSIONvoid* pAdd;#endif }MSG;typedef MSG* PMSG;

可以看到其對于消息的定義幾乎與WINDOWS一致,其建立窗體等操作也幾乎與WINDOWS一樣。所以MiniGUI的設(shè)計有很大程序是為降低嵌入式系統(tǒng)圖形界面開發(fā)難度而產(chǎn)生的。

國產(chǎn)實時操作系統(tǒng)內(nèi)核的先驅(qū)RTthread

提到咱們國產(chǎn)的loT操作系統(tǒng)RTthread也是一個無論如何也繞不過去的標(biāo)志,如果RTthread在06年初就發(fā)布了第一版,而且經(jīng)過了這十幾年的上億臺設(shè)備裝機的技術(shù)沉淀,RTthread的社區(qū)也已經(jīng)儼然發(fā)展成為國內(nèi)最強的嵌入式社區(qū)了,筆者剛剛到他們的論壇上逛了一圈,真的是強手如云,大咖云集。

具體內(nèi)核相關(guān)知識后續(xù)會再發(fā)文介紹這里也就不再贅述了。而且最新的消息顯示MiniGUI開始支持RTthread的內(nèi)核了,可見傳統(tǒng)的嵌入式操作系統(tǒng)廠商的策略是要盡量保持生態(tài)的多元化,抱團取暖。

HybridOS的開源計劃

最近MiniGUI的飛漫軟件又官宣了他們的HybridOS開源計劃,而根據(jù)目前的材料看HybridOS最大的看點是要用HTML來統(tǒng)一UI的開發(fā),這與之前使用WIN32的設(shè)計來統(tǒng)一UI開發(fā)的邏輯如出一轍。

我們知道由于物聯(lián)網(wǎng)終端真的是不一而足,與手機終端完全不同,其不同終端的碎片化需求太多太復(fù)雜,比如,有的智能燈泡要藍(lán)牙即可,而智能空調(diào)可能就要有Wi-Fi了。

而我們金融行業(yè)要做智能合約可能對于終端的算力又有一定的要求,這樣碎片化的場景,由于Android硬件設(shè)備的要求門檻較高,就不太適合了, 而直接用Linux裁減,這對于人才的要求又太高。

所以與騰訊等巨頭整合全場景的目標(biāo)不同,MiniGUI的背后其是保持生態(tài)多樣性的邏輯,他的目標(biāo)是降低開發(fā)門檻,避免初創(chuàng)公司必須選擇鴻蒙或者TinyOS這種大廠的操作系統(tǒng)。

讓場景的提供方可以通過較低成本驗證自身的想法,而避免從一開始就走上巨頭們早已畫好的圓圈。

在他們的官宣當(dāng)中對于其后續(xù)要發(fā)布的HybridOS物聯(lián)網(wǎng)操作系統(tǒng)有如目標(biāo):

1. HybridOS 的設(shè)備端系統(tǒng)基于 Linux 內(nèi)核,充分利用 Linux 內(nèi)核生態(tài),降低各種驅(qū)動程序的開發(fā)難度以及各種協(xié)議棧的支持難度,從而降低開發(fā)成本。

2. 和基于 RTOS(實時操作系統(tǒng))技術(shù)發(fā)展而來的物聯(lián)網(wǎng)操作系統(tǒng)(如RT-Thread、LiteOS)相比,HybridOS 更傾向于運行在具有更高硬件配置的智能物聯(lián)網(wǎng)設(shè)備上,而不是小型的單功能物聯(lián)網(wǎng)設(shè)備上,后者的硬件配置往往有限。

3. HybridOS 不僅僅運行在智能物聯(lián)網(wǎng)設(shè)備中,它同時還提供了針對云端以及客戶端的標(biāo)準(zhǔn)框架和編程接口,為開發(fā)者提供了從設(shè)備到云再到客戶端的完整軟件棧和協(xié)議棧。在未來,HybridOS 還計劃統(tǒng)一客戶端和設(shè)備端上的 App 開發(fā)接口。

4. HybridOS 將基于區(qū)塊鏈技術(shù)為物與物之間的通訊提供一個全新的實現(xiàn)方法。在 HybridOS定義的實現(xiàn)方法下,所有的數(shù)據(jù)都帶有不可篡改的數(shù)字簽名以及時間戳,而所有數(shù)據(jù)的傳輸和存儲都可加密。這將從根本上提高物聯(lián)網(wǎng)的安全性。

后記

我們可以看到巨頭的邏輯是要讓其它公司免費使用其OS上車,然后接入其loT云平臺成者直接收購無縫整合,敗者自生自滅,從而將自己立于不敗之地,而傳統(tǒng)的嵌入式公司邏輯則是降低OS的使用開發(fā)門檻,讓物聯(lián)網(wǎng)生態(tài)鏈上的企業(yè)能有自主選擇。也讓我們拭目以待,物聯(lián)網(wǎng)時代能否產(chǎn)生新的巨頭。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3683

    瀏覽量

    131413
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2931

    文章

    46251

    瀏覽量

    392764
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70768
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    AMD第二代Versal AI Edge和Versal Prime系列加速量產(chǎn) 為嵌入式系統(tǒng)實現(xiàn)單芯片智能

    我們推出了 AMD 第二代 Versal AI Edge 系列和第二代 Versal Prime 系列,這兩款產(chǎn)品是對 Versal 產(chǎn)品組合的擴展,可為嵌入式系統(tǒng)實現(xiàn)單芯片智能。
    的頭像 發(fā)表于 06-11 09:59 ?898次閱讀

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    基礎(chǔ) 3. 學(xué)習(xí)路徑推薦第一階段:熟悉開發(fā)環(huán)境(如Keil、IAR、STM32)第二階段:掌握裸機編程與驅(qū)動開發(fā)第三階段:學(xué)習(xí)RTOS(實時操作系統(tǒng))如FreeRTOS第四階段:深入理解Linux嵌入式
    發(fā)表于 05-15 09:29

    如何在設(shè)備上通過USBEZ-USB?將第二個SPI閃存用作文件系統(tǒng)的應(yīng)用說明或建議?

    是否有關(guān)于如何在 設(shè)備上通過 將第二個 SPI 閃存用作文件系統(tǒng)的應(yīng)用說明或建議?USBEZ-USB?
    發(fā)表于 05-09 06:26

    Python在嵌入式系統(tǒng)中的應(yīng)用場景

    你想把你的職業(yè)生涯提升到一新的水平?Python在嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢在于其簡潔的語法、豐富的
    的頭像 發(fā)表于 03-19 14:10 ?720次閱讀

    DLP4710EVM-LC為什么無法作為筆記本電腦的第二個屏幕?

    第二個屏幕”,此時投影為電腦顯示界面的上下重復(fù)疊加;筆記本電腦設(shè)置為“擴展”或“復(fù)制”,投影僅顯示4710的預(yù)存靜態(tài)圖片。 而將4710EVM-LC的HDMI接到臺式機電腦的HDMI口,作為唯一的屏幕時,顯示都是正常的。
    發(fā)表于 02-18 07:30

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計的計算機系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?976次閱讀

    【「嵌入式系統(tǒng)設(shè)計與實現(xiàn)」閱讀體驗】+ 學(xué)習(xí)一STM32的案例

    嵌入式系統(tǒng)設(shè)計與實現(xiàn)——第六屆全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計競賽芯片應(yīng)用賽道優(yōu)秀作品剖析》一書的基本情況。今天來學(xué)習(xí)一具體的案例。 這本
    發(fā)表于 12-06 22:22

    嵌入式系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)和物聯(lián)網(wǎng)(IoT)已經(jīng)成為現(xiàn)代技術(shù)領(lǐng)域的重要組成部分。嵌入式系統(tǒng)是指嵌入到設(shè)備或
    的頭像 發(fā)表于 11-06 10:23 ?1115次閱讀

    如何加裝第二個路由器

    加裝第二個路由器可以擴展你的無線網(wǎng)絡(luò)覆蓋范圍,提高網(wǎng)絡(luò)速度,或者為特定區(qū)域提供更穩(wěn)定的連接。以下是加裝第二個路由器的步驟,以及一些注意事項: 1. 選擇合適的路由器 在選擇第二個路由器時,考慮以下
    的頭像 發(fā)表于 10-18 09:19 ?1966次閱讀

    如何橋接第二個無線路由器

    在現(xiàn)代家庭和辦公室環(huán)境中,無線網(wǎng)絡(luò)已成為連接設(shè)備和訪問互聯(lián)網(wǎng)的重要方式。然而,隨著空間的擴大和無線設(shè)備的增多,單個無線路由器可能無法提供足夠的覆蓋范圍。為了解決這個問題,許多用戶選擇通過橋接第二個
    的頭像 發(fā)表于 10-18 09:16 ?2279次閱讀

    嵌入式系統(tǒng)的啟動流程

    嵌入式系統(tǒng)的啟動流程是一復(fù)雜但有序的過程,它涉及從系統(tǒng)上電到操作系統(tǒng)內(nèi)核及應(yīng)用程序啟動的多個階段。
    的頭像 發(fā)表于 10-05 17:44 ?960次閱讀

    嵌入式系統(tǒng)的原理和應(yīng)用

    嵌入式系統(tǒng)是一種專用的計算機系統(tǒng),其設(shè)計初衷是執(zhí)行特定任務(wù),而非作為通用計算機使用。這類系統(tǒng)通常作為更大系統(tǒng)的一部分,起到控制、監(jiān)控或輔助的
    的頭像 發(fā)表于 10-05 17:03 ?2216次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    嵌入式系統(tǒng)是指將我們的操作系統(tǒng)和功能軟件集成于計算機硬件系統(tǒng)之中,形成一專用的計算機系統(tǒng)。那么
    發(fā)表于 09-12 15:42

    學(xué)習(xí)hypervisor嵌入式產(chǎn)品安全設(shè)計

    第一部分(第1~2章)介紹Hypervisor基礎(chǔ),涵蓋虛擬化技術(shù)與實現(xiàn)、主流的嵌入式Hypervisor產(chǎn)品,以及基于分離內(nèi)核的嵌入式Hypervisor等內(nèi)容。第二部分(第3~12章)介紹
    發(fā)表于 08-25 09:11

    RTOS版本的sdk,為什么無法讀取第二個512Mflash的內(nèi)容?

    我使用最新的RTOS版本的sdk,為什么無法讀取第二個512Mflash的內(nèi)容?我是按照1M的flash編譯的和燒錄的。
    發(fā)表于 07-22 06:47