智能硬體風口 廣東新支點推嵌入式作業系統

2020-12-06 中國網科學頻道

物聯網技術是這幾年整個電子信息技術最重要的主題,而在物聯網技術中與消費者接觸最為密切的應用,當屬這兩年興起的智能硬體應用。無論是物聯網還是智能硬體應用,都是建立在龐大的嵌入式系統生態之上。

嵌入式作業系統隨嵌入式計算機一起深埋於各種設備中,用戶無法直觀上感知作業系統的存在,也無法直接進行安裝和維護,只能靠設備的運行表徵來間接感受它的存在。事實上,所有帶有數字接口和程序控制的設備,如電子手錶、智能電視、數位相機、汽車、飛機、衛星等都使用嵌入式系統,大眾生活處處可見嵌入式作業系統。智能硬體應用的繁榮,直接帶動了整個嵌入式技術的蓬勃發展。倪光南院士認為,嵌入式系統順應了電子信息產業的最新發展需求。「事實上,作為新一代信息技術的三大代表,物聯網、雲計算和移動網際網路的核心組成部分,都包含了大量嵌入式系統。

廣東中興新支點緊隨市場需求,成功研製了具有自主版權的嵌入式作業系統。消息一經披露就引發了國內外關注及熱議。下面一起來了解下這個新興嵌入式作業系統的全貌:

中興新支點嵌入式作業系統主要由四部分構成:功能增強的引導程序bootloader、優化改造的Linux內核、高效穩定的中間件、簡單友善的集成開發環境。

一、 功能增強的引導程序bootloader

Bootloader是系統上電之後啟動的第一段程序,和X86架構中的bios相似,這段程序主要有兩部分功能:第一個是引導加載系統,這裡指的是Linux內核;第二個是用於調試的,主要用於調試系統和硬體。嵌入式系統的Bootloader種類繁多,有uboot、ppcboot、redboot、vivi等,其中以uboot的應用最廣,支持的硬體也最全面。中興新支點嵌入式作業系統的bootloader就是採用了uboot的這個開源項目的代碼改造的。其中主要優化改造了以下幾點:

1、 網絡功能增強

開源的uboot的網絡功能比較薄弱,基本上只支持tftp的傳說協議,用於傳輸文件。而中興新支點嵌入式作業系統的bootloader則增強了uboot的網絡功能,使得uboot支持TCP和UDP的傳輸協議,客戶可以根據自己的需求在bootlaoder中實現自己的網絡數據傳輸,增加了bootloader的網絡靈活性。

2、 文件系統功能增強

中興新支點嵌入式作業系統的bootloader引導程序對文件系統的支持比較多,包jffs2、yaffs2、ext4、fat32等格式的文件系統。

3、 增加菜單配置項

中興新支點嵌入式作業系統的bootloader增加了菜單配置選項功能,大大簡化了開發人員開發的難度。用戶只需要通過菜單配置選項,配置bootloader的功能,而無需要用戶手動修改uboot的配置宏。

  

中興新支點嵌入式系統體系結構

二、 優化改造的Linux內核

針對嵌入式行業的特定的需求,如高實時、高穩定、安全的特點。中興新支點嵌入式作業系統對Linux內核做了大量的優化,從而大大的提高了系統的實時性、穩定性、和安全。下面是幾個重要內核優化點:

1、 進程調度改造和優化

進程調度的改造和優化主要分兩個部分:優化和改造調度算法;增加調度點,增強系統的搶佔能力。

優化和改造調度算法

調度算法優化的原則主要是高優先級的進程先執行,而低優先級的進程等待高優先級的進程執行完。然而在SMP環境下,由於每個CPU都有自己單獨的運行的進程隊列,每個CPU都只在自己的隊列上選取進程,內核對進程的調度並不是完全按照優先級來調度的,這嚴重的影響了內核的實時性。優化的方式是在進程調度的時候每次都取得系統中優先級最高的進程,而不是本CPU隊列中的最高的進程。

增加調度點,增強系統的搶佔能力

針對系統長時間得不到調度的情況,導致高優先級的進程不能搶佔低優先級的進程的情況。找出長時間不能調度的代碼,增加調度點,保證高優先級的進程能夠儘快搶佔低優先級的進程,從而提高系統的實時性能。

2、 中斷線程化

在開源Linux 中,中斷具有最高的優先級。不論在任何時刻,只要產生中斷事件,內核將立即執行相應的中斷處理程序,等到所有掛起的中斷和軟中斷處理完畢後才能執行的進程,因此有可能造成實時任務得不到及時的處理。中斷線程化技術之後,中斷將作為內核線程運行而且被賦予不同的優先級,實時任務可以有比中斷線程更高的優先級。這樣,具有最高優先級的實時任務就能得到優先處理,即使在嚴重負載下仍有實時性保證。

3、 信號量優先級繼承

在開源的Linux中,由於信號量不支持優先級繼承,因此可能導致高優先級的進程被低優先級的進程阻塞。舉個例子,系統中運行著三個進程A、B、C,A的優先級最高,B的優先級中,C的優先級最低,進程A和C都需要信號量D,現在進程C最先獲得信號量D,但是在進程C釋放信號量D之前,進程A獲取信號量D,這時由於進程C已經持有了信號量D,因此進程A必須休眠等待,而當進程A放棄CPU的時候,由於進程B的優先級比進程C高,所以最先被調度的是進程B,這樣就相當於進程A這個高優先級的進程被進程B這個中優先級的進程阻塞。而優化之後的信號量由於有了優先級繼承的功能,當進程A獲取信號量D的時候,進程C會繼承進程A的優先級,所以當進程A放棄CPU的時候,最先調度進來的是進程C,這樣就能儘快讓進程C釋放信號量D,而讓進程A最快得到執行。

4、 內存管理機制的改造

內存管理機制的改造主要改造了兩個方面:內存信息統計;用戶態內存申請直接映射。

內存信息統計

開源的Linux內核,未對內存的各項信息提供一個完成的統計顯示,而中興新支點嵌入式作業系統則針對需求,在proc文件系統中新增了六類內存統計信息的功能:物理內存大小;可用物理內存大小;剩餘物理內存大小;高端內存大小;低端內存大小;用戶空間佔用內存大小。通過這些信息,用戶可以清晰的知道系統內存的使用情況。

用戶態內存申請直接映射

開源的Linux中,用戶態分配內存的時候只是分配了虛擬內存,而沒有分配物理內存,而只會等到應用程式直接訪問的時候才會分配物理內存,而一旦物理內存不夠就會導致系統進入oom-kill流程,從而殺死用戶態進程。針對這個問題新支點嵌入式作業系統優化了內存分配機制,在用戶態分配內存的時候直接分配物理內存,如果內存不夠就返回NULL。

三、 高效穩定的中間件

中興新支點嵌入式作業系統提供了一套功能強大、高效的中間件,通過這些中間件可以大大的降低客戶的程序開發的難度,提高開發效率,縮短開發周期。該中間件主要包括以下內容:

1、 多進程、多線程編程庫

中興新支點嵌入式作業系統的中間件提供了一套完善的多線程編程庫,該線程編程庫包括:高效的進程間通信,線程間同步,線程管理等。簡化了進程和線程的創建流程,優化了線程的管理。

2、 網絡庫

在後網際網路時代,網絡已經成為了各個嵌入式設備必須的功能。而網絡編程又往往比較複雜,導致了編程人員不得不花費大部分時間在網絡編程上,而無法專心自己的更關注的業務編程,降低了開發的效率。為了更好的讓客戶更多的關注自己的業務,中興新支點嵌入式作業系統中加入了一個網絡庫,這套庫主要封裝了socket的編程接口,htttp協議、DHCP協議、HTTPS協議、Qos功能,大大簡化了網絡開發的難度。

3、 vxwork適配庫

該庫主要是針對vxwork的用戶遷移到Linux系統而開發的一套庫,這套庫通過Linux平臺實現了幾乎所有的vxworks系統的用戶接口,包括任務的創建、任務間的通信、網絡接口等。通過這套庫vxworks上運行的用戶的業務程序,可以輕鬆的移植到Linux平臺,而不需要根據用戶的業務需求重新設計一套新的代碼。這大大減少了vxworks系統遷移到Linux系統的工作量。

四、 簡單友善的集成開發環境

嵌入式開發往往最讓程式設計師頭疼的是交叉開發調試環境的構建,和各個工具之間的兼容性問題。針對這個問題中興新支點嵌入式作業系統提供了一整套的集成開發調試工具,讓用戶不再需要花費太多的時間和精力在開發環境的構建上。同時這套開發環境還集成了很多調試、分析工具。通過這些工具用戶能夠方便快速的定位程序的問題,解決bug。以下是該套集成開發環境集成的工具:

1、 開發環境的集成

集成了嵌入式的集成開發環境,這些環境中包括:交叉編譯器gcc、增強的bootloader、優化和改造的Linux內核、高效穩定的中間件、遠程調試工具、代碼編輯、項目管理等。通過這些集成,可以大大的提高用戶的開發效率,縮短產品的上市時間。

2、 KProfiler

KProfiler是一款低開銷的系統全局性能監視工具,用於對 Linux 系統進行評測(profiling)和性能監控。通過評測表或圖形,形象的顯示出為特定的處理器事件收集的採樣百分數或數量以用於總結或分析。

KProfiler 可以幫助用戶獲取諸如系統熱點函數及其調用鏈、緩存/TLB 命中率、函數執行效率等信息,能夠幫助用戶排查 CPU 衝高,程序性能無法提升等問題。它收集有關處理器事件的信息,其中包括 TLB的故障、停機、存儲器訪問、緩存命中率。通過收集到的評測數據,用戶可以很容易地找出性能問題。

KProfiler 可以工作在不同的體系結構上,包括X86、 arm(包括 nommu)、ppc(powerpc)、mips 等。

3、 KCov

KCov是一款代碼覆蓋率分析工具,通過該工具可以定位沒用的或者不執行的代碼的過程,從而增強程序的可讀性和執行效率,降低不執行代碼中存在 bug 的風險。KCov,能夠檢驗出程序中的每一條語句是否都被執行過,從而幫助用戶剔除軟體中的 dead code(無用的、不會被執行的、以及腐朽的代碼)。

4、 KMemTracer

內存檢測工具(KMemTracer)是一款集合用戶態內存洩露檢測和內存越界實時檢測兩大功能的檢測工具。它可以在不修改原始碼的前提下,檢測應用程式的內存洩露情況和內存越界操作。檢測範圍包括C/C++語言,具有對應用程式影響較小,檢測準確、可快速定位故障的特點。

隨著工業4.0時代和物聯網、智能硬體應用時代的步步走近,嵌入式系統領域面臨著更多的挑戰和機會,這意味著對智能系統技術、產品和解決方案有了更高性能的要求,同時也是像廣東新支點這類嵌入式作業系統解決方案提供商綻放光彩的大好機會和絢麗舞臺。

相關焦點

  • 邊緣計算推動人工智慧走向嵌入式系統
    人工智慧與嵌入式人工智慧  如今,全球正邁向數位化新時代。以雲計算、大數據、人工智慧(AI)與物聯網為代表的數位技術,其能量在持續釋放。仿佛一夜之間人人都在談論人工智慧。他表示,「現在人工智慧正向嵌入式系統遷移。例如據報導蘋果正在開發專用的人工智慧處理器『Apple Neural Engine』,高通和谷歌也發布了在人工智慧晶片方面的合作情況。可以預見,人工智慧技術需要規模龐大的數據中心資源,接下來諸如手持人工智慧,邊緣計算人工智慧等將成為行業趨勢,這就是嵌入式人工智慧。所謂的嵌入式人工智慧,其最大的特徵就是人工智慧本地化,可以擺脫網絡的束縛。」
  • 基於嵌入式技術的LED顯示屏控制系統淺析
    打開APP 基於嵌入式技術的LED顯示屏控制系統淺析 工程師青青 發表於 2018-08-30 17:23:00 嵌入式系統廣義上認為是一個由系統硬體與系統軟體有機組成並且具有高可靠性和實時性的可控系統
  • 嵌入式系統歷史及發展趨勢
    其後發展的DSP產品則進一步提升了嵌入式計算機系統的技術水平,並迅速滲入到消費電子、醫療儀器、智能控制、通信電子、儀器儀表、交通運輸等各個領域。20世紀90年代,在分布控制、柔性製造、數位化通信和信息家電等巨大需求的牽引下,嵌入式系統進一步加速發展。面向實時信號處理算法的DSP 產品向著高速、高精度、低功耗發展。
  • 智能製造大力推進趨勢下,嵌入式工控機需求旺盛
    以智能製造為主導的第四次工業革命,是集成大量計算機、通信和控制技術為一體的智能系統,在各類新技術高度集成的行業發展背景下,工控機也處於新的技術轉折點上。  一般情況下,嵌入式工控機採用低功耗平臺,無線纜設計,低功耗的主板和各種外部硬體相關的接口都被集成在主板之上,因此能夠避免因為連接不善而出現異常問題,更避免了鬆動現象的發生。
  • 嵌入式系統中USB主機控制器的設計
    過去USB僅應用於個人計算機,而在嵌入式系統領域的巨大潛力還沒有開發出來,USB在嵌入式系統中的應用包括本文引用地址:http://www.eepw.com.cn/article/152226.htm 嵌入式系統被定義為硬體和固件(獨立的或作為更大型系統的一部分)通常帶有某種作業系統,作業系統可以是Windows CE、VxWorks或其它由「自編代碼」構成的更簡單系統。根據這樣的定義,可以認為任何帶有處理器的電子裝置均可以作為USB嵌入式主機。
  • 嵌入式系統定義和發展歷史
    它一般由嵌入式微處理器、外圍硬體設備、嵌入式作業系統以及用戶的應用程式等四個部分組成,用於實現對其他設備的控制、監視或管理等功能。  嵌入式系統一般指非PC系統,它包括硬體和軟體兩部分。硬體包括處理器/微處理器、存儲器及外設器件和I/O埠、圖形控制器等。軟體部分包括作業系統軟體(OS)(要求實時和多任務操作)和應用程式編程。有時設計人員把這兩種軟體組合在一起。
  • 國產系統哪個系統最好_國產系統安裝方法
    StartOS是由東莞瓦力網絡科技有限公司發行的開源作業系統,其前身是由廣東雨林木風計算機科技有限公司ylmfos開發組所研發的ylmfos,符合國人的使用習慣,預裝常用的精品軟體,作業系統具有運行速度快,安全穩定,界面美觀,操作簡潔明快等特點。
  • 智慧型手機之後,下一個風口在哪?
    大型機之後是PC,然後是Web,接著是智慧型手機。在每個風口,都會製造一批公司,在大型機時代,火了IBM,在小型機年代,火了DEC,在PC時代,火了Wintel,在智慧型手機時代,火了蘋果、谷歌,那麼下一個時代會出現什麼大事物,誰是下一個風口呢?計算機行業的第一個風口計算機行業最早的需求是軍事需求,計算密碼,計算彈道,科學計算,限於軍事和高科技的專業領域。
  • 中興新支點桌面作業系統上如何設置系統解析度?
    中興新支點桌面作業系統主要是由桌面、啟動器、任務欄、控制中心、窗口管理器等組成。作為相對成熟的國產桌面作業系統不僅美觀易用,操作也十分簡單。例如,設置系統解析度,當我們對電腦進行編程或是其他操作的時候,常常要設置電腦屏幕的解析度,那麼該怎麼設置解析度呢,有時候大家可能不太注意。1、在桌面上點右鍵,在彈出菜單中選擇「顯示設置」。2、進入【顯示器首選項】頁面,就看見解析度了。
  • 基於嵌入式Linux的語音識別系統硬軟體設計
    在嵌入式Linux作業系統下,運用多進程機制完成了對語音識別晶片、超聲波測距和雲臺的控制,並將語音識別技術應用於多角度超聲波測距系統中。通過測試,系統可以通過識別語音指令控制測量方向,無需手動幹預,最後將測量結果通過語音播放出來。
  • 嵌入式系統USB接口的虛擬示波器設計
    嵌入式系統的發展使得基於嵌入式微處理器和實時作業系統的嵌入式虛擬儀器能夠滿足惡劣工作環境下的便攜虛擬儀器的需要。同時,基於USB總線的儀器設備克服了現有PC總線虛擬儀器的不足,可滿足自動化工業測量的要求,特別適合現場信號的測試。
  • 嵌入式導航系統的組成與設計流程
    因此,以嵌入式系統為主要平臺的數碼地理整合性應用與其因應方案,也就是手持式、車載GPS全球衛星導航系統,便可解決對此人們急迫的需求性。基於S3C2440A微處理器和Win CE 5.0嵌入式作業系統,設計了一套可靠且實用的嵌入式導航系統,所提供的功能可以滿足人們現階段日常生活的需要。 1 嵌入式導航系統主要組成 嵌入式導航系統由硬體層、軟體層和中間層組成。
  • 基於雲端人工智慧晶片BM1682的算豐智能伺服器SA3、嵌入式AI迷你機...
    如果說2016是人工智慧元年,那麼2018則應是人工智慧晶片及應用的爆發元年,現階段,AI在安防、零售、醫療、教育等眾多細分領域的落地應用遍地開花,「AI+」已然成為最炙手可熱的創業風口,而在突破性技術加持和大規模資本湧入之下,一批AI新星如同雨後春筍一般相繼誕生,比特大陸便是其中之一。
  • 嵌入式Web伺服器技術及其在電力系統中的應用綜述
    為了提高生產效率和管理水平,遠程監控和生產過程控制等系統很適合應用Web技術,從瀏覽器上直接監控現場設備的運行。但作為實時性要求較高的面向任務的系統,必須解決基於Web應用的實時性問題、系統結構問題和安全性等問題。而嵌入式Web伺服器技術作為結合了Web技術和現場工作要求特點的一項新技術,是一種很好的解決方案。
  • 再推兒童智能硬體新物種 阿巴町獲CESA創新獎
    阿巴町此次攜兒童智能新物種搭搭(DaDa),還有兒童智能手錶和智能正姿筆等多款新奇特產品亮相。在行業內以創新著稱的阿巴町此次展會上推出的搭搭(DaDa)更是榮獲了CES asia 2019的創新獎。阿巴町在此次展會上推出了一款基於兒童智能手錶延伸設計的革命性智能硬體產品——搭搭(DaDa)。搭搭(DaDa)能通過模塊化的組合,滿足用戶的不同場景。
  • PCBA與嵌入式開發
    基於PCBA板的嵌入式系統的開發嵌入式系統的開發分為嵌入式軟體開發和嵌入式硬體開發,PCBA正是嵌入式硬體開發的基礎。(2) 嵌入式系統的特點:1)開放性,支持各種系統結構的開發;2)穩定性,嵌入式系統開發完成後一般不需要過多的幹預和維護,一般不需要提供複雜的操作指令就可以維持系統的運行;3)兼容性,嵌入式系統的接口有良好的兼容性,也就是說可以把整個系統拆下來移植到其他同類外接設備上
  • 在AEIMR五大行業中尋找國產智能晶片「同時起跑」的新機遇
    工業應用涉及多種傳感器融合、控制系統、智能處理及通信協議,從二月的「嵌入式世界展」到三月的上海慕尼黑電子展,均可發現工業攝像機及其圖形後處理系統就是一個巨大的產業,而這只是工業智能化的一個小小的應用。Xugednc
  • 5G 新基建創造新生態 2020中國(長三角南京)國際嵌入式大會在紫金...
    為貫徹落實長三角一體化發展戰略,推動智能產業長三角一體化發展,在長三角區域合作辦公室支持下,大會自2018年起在長三角三省一市輪流舉辦,打造長三角嵌入式系統與軟體創新共同體。  本屆大會移師古城南京,由中國工程院院士劉韻潔擔任大會輪值主席,由紫金山實驗室、國家可信嵌入式軟體工程技術研究中心 、東南大學、上海科學院、上海產業技術研究院、長三角嵌入式系統與軟體產業聯盟聯合主辦,以「5G,新基建創造新生態」為主題,圍繞行業應用、技術發展等角度,探討5G新基建下的嵌入式、大數據、數字經濟的發展機遇。
  • 多傳感器智能輪椅的硬體系統設計
    這就要求在設計之初就把人這個因素納入考慮之中,所以,安全、舒適和容易操作應成為智能輪椅設計中最重要的因素;使用者身體能力的差異決定了智能輪椅需被設計為一個功能多元化,能滿足多種層次需要的電子系統,而模塊化最能體現系統多功能化的特徵,每個用戶都能根據其自身殘障類型和程度選擇適當的模塊集成,且設計者可以在現有基礎上通過增添功能模塊,很方便地對輪椅功能進行改進。本文著重就智能輪椅模塊化設計進行了闡述。
  • 嵌入式作業系統移植實例:使用ADS移植uC/OS-II
    選擇開發工具在嵌入式系統設計中,開發工具的選取是一個重要的考慮因素,通常這是與開發項目的需求和應用背景相關。一般嵌入式開發工具包含用於目標系統的交叉編譯器、連接器、調試器以及輔助處理用的二進位文件分析工具等。