新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > 中低端嵌入式軟件平臺的困局-嵌入式微系統連載之二

        中低端嵌入式軟件平臺的困局-嵌入式微系統連載之二

        作者: 時間:2014-08-25 來源:網絡 收藏

          嵌入式領域有不少操作系統,大致可以三類:第一類以、Android為代表的,屬于大型操作系統,擁有內核任務調度、菜單界面、多媒體、網絡、文件存儲、外設驅動等一系列完善的功能,但這類操作系統屬于非實時操作系統,往往用于辦公、娛樂、人機接口等對時間要求不高的場合。此外因為功能太完善,對硬件的要求很高,最低配置CPU需要ARM9 200MHz,內存需要32MByte,支持MMU內存管理單元,標配彩屏。

        本文引用地址:http://www.104case.com/article/262155.htm

        第二類以VxWorks為例,屬于功能豐富的嵌入式實時操作系統,功能豐富。往往用于高實時、高可靠的軍工、航空航天、工業自動化領域,對硬件要求也比較高。

        第三類以uC/OS-II,FreeRTOS為例,只有一個搶占式多任務實時操作系統的任務內核,此外還提供一些內核管理的函數接口及必要的擴展功能,其它的功能庫如菜單界面、網絡等都需要自己擴展,這類操作系統主要應用于中低端小型的項目中,成本要求高,需求多樣,但一般不是很復雜,實時性有要求,但不苛刻,往往都是消費類或者一般的工業自動化設備,比如白色家電的控制系統、小型監控、傳感器的測試平臺、儀器儀表、小型工業自動化領域取代PLC,降低成本等等。

        中低端小型項目,一般都是基于MCU51、ARM7或者現在的CortexM3、M0開發。簡單的項目,軟件最常用的是前后臺系統,也叫裸奔,緊急響應用中斷,低速處理在main大循環中執行。稍微復雜一點的在前后臺系統的基礎上引入了系統節拍,執行一些例行的事件,這個也叫時間片編程方式。再進一步是引入消息機制,實現消息機制編程方式。再復雜一些就引入uC/OS-II等RTOS,實現多任務編程,簡化編程難度,但同時因為引入了RTOS,需要充分了解RTOS的特性,所以對編程人員的水平要求比較高。



          苛刻的成本、需求的多樣性,導致目前沒有一套比較完善的操作系統統一這一方面的開發編程,哪怕是uC/OS-II等RTOS內核,也需要根據實際項目需求來配置、裁剪,增減不必要的軟件功能。

          此外,中低端小型項目,技術難度相對較低,所以嵌入式人員的入門門檻較低,這個本身是好事,然而也就是因為入門門檻太低,又沒有一套統一的編程規范,導致編程的隨意性很大,一個公司十個編程人員,有十套不同的編程方式,相互之間檢查、維護非常困難,而小型企業的人才流動相對較大,軟件負責人離開后,繼任者因為編程的思維方式不同,往往看不懂前人的程序而廢棄再重新設計,這樣導致代碼質量一直在低質量的重復循環,也極大的提高了公司的軟件成本。

          項目繼承性這種情況在高校、研究所中尤為突出。比如一所研究所的主業是做傳感器,但為了測試這款傳感器必須要搭建一套嵌入式測試平臺,若用WINCE、等開發平臺,需要一個嵌入式團隊來開發,投入很高,維護很難,副業變成主業了,若是自己搭建一套完善的通用測試系統,既沒有這個能力,也沒有這個精力,所以一般都是針對性的設計這款傳感器的測試系統。因為高校、研究所的學生經常更換,后來者看不懂前人的代碼,又不得不重新設計。

          中低端小型項目,需求雖然多樣,雖然無法用一套操作系統去統一開發,但是我們可以把這些分為幾類,比如彩屏的消費類、黑白屏的工控類、數碼管顯示的微控制類等等。這幾年國內有一款比較出名的開源嵌入式操作系統叫RT-Thread,編程風格類似,在OS的基礎上集成了GUI、文件系統和網絡功能,不少用戶把它應用于消費類行業。而最新發展起來的一款開源叫msOS,采用微軟的C#風格,側重于平臺架構,可以靈活組合,簡單易用,目前整合了uC/OS-II,集成了128*64黑白屏的GUI、參數日志存儲、PID算法庫和步進驅動庫,定位于儀器、儀表、小型工業自動化領域,msOS的中文名就叫

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        pid控制相關文章:pid控制原理


        linux相關文章:linux教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 嘉善县| 松桃| 高州市| 将乐县| 顺平县| 江山市| 沽源县| 清远市| 湾仔区| 东阿县| 三原县| 饶河县| 丰都县| 宝坻区| 柘荣县| 新丰县| 井研县| 潼关县| 贵德县| 额敏县| 板桥市| 宁夏| 沈阳市| 池州市| 厦门市| 襄垣县| 南宫市| 仁布县| 吴川市| 三门县| 乡宁县| 正定县| 都匀市| 霞浦县| 新晃| 如皋市| 宁强县| 全椒县| 崇州市| 中超| 封开县|