編者按:過去由于認識上的局限性,對如何選用合適的操作系統(tǒng)博主同樣走過了很多彎路。在企業(yè)的發(fā)展過程中,,為了滿足客戶的需求,,我們大批量使用了正版uC/OS-II、WinCE,、Vxworks,、MontaVista Realtime Linux以及開源的嵌入式Linux操作系統(tǒng)。在基于成本核算的項目管理過程中,,博主領(lǐng)略了各種操作系統(tǒng)的優(yōu)劣,。對于初學(xué)者來說,到底學(xué)習(xí)哪一種操作系統(tǒng)比較好呢,?這要看你的條件和興趣了,,因此不能一概而論。今特別從技術(shù)經(jīng)濟的角度出發(fā),,將個人的管理經(jīng)驗奉獻給大家,,本文僅一家之言,不一定適合所有的行業(yè),,也希望您尋求各方面專家的幫助以免誤導(dǎo),。 能滿足大多數(shù)項目需求的uC/OS-II uC/OS-II最大的應(yīng)用價值是簡潔與實用,當一個系統(tǒng)選用uC/OS-II時,,最多只需要2M的NOR Flash,,2M的SDRAM或最多8M的SDRAM,因此整個系統(tǒng)的成本是最低的,。但很多人卻看不起這個小玩意兒,,片面地認為它沒有什么價值,而事實上uC/OS-II卻能滿足很多項目的需求,。最近又推出了新的版本,,命名為μC/OS-III,其新的一些特性是:搶占式多任務(wù),,在同一優(yōu)先級支持任務(wù)的輪詢調(diào)度,,沒有任務(wù)數(shù)的限制,內(nèi)核提供豐富的服務(wù):信號量,、互斥信號燈,、完全支持優(yōu)先級繼承、事件標志,、消息隊列,、定時器、固定大小的內(nèi)存塊管理,,以及內(nèi)置性能測量,。 如果將它移植到ARM9,,您會發(fā)現(xiàn)它的啟動速度是最快的,甚至只需要1秒的時間,。當開發(fā)基于GUI的產(chǎn)品時,,您會發(fā)現(xiàn)最終的效果可以與其它的操作系統(tǒng)媲美。當您點擊HMI人機界面產(chǎn)品的效果時,,我想您就不會忽視uC/OS-II的價值了,。可是很多人不知道如何將uC/OS-II移植到ARM9,,其實只要支持MMU即可,。但也有很多人根本就沒有嘗試過,或者根本就沒有這種意愿,,于是就主觀臆斷下結(jié)論,,一棍子將uC/OS-II打死,所以一些開發(fā)人員常常只選自己會的而不選對的,,而且思想非常頑固,。博主在過去的開發(fā)生涯中,也犯過各種類似的錯誤,。 是不是只要選擇uC/OS-II就一勞永逸了呢,?當然不是。雖然它能夠滿足很多產(chǎn)品對CF卡,、SD卡,、TCP/IP以太網(wǎng)、CAN-bus/CANopen/DeviceNet/J1939現(xiàn)場總線,、GUI圖形用戶界面,、RS232,、RS485等多方面的需求,,但它還是有一定的局限性。如果需要支持Wi-Fi等更多的軟件時,,那就非常麻煩了,。但還是有一些人要反駁博主,uC/OS-II要收費不劃算,,事實上只要粗略地計算一下開發(fā)成本,,其結(jié)論自然也就一目了然了。 資源豐富,、繼承性最好的WinCE 如果一次購買超過3000個授權(quán),,價格還是很便宜的,這是很多用戶都能夠承受的,。由于WinCE與Windows一脈相承的關(guān)系,,且使用同樣的開發(fā)工具,,那么對于熟練掌握Windows編程的軟件開發(fā)人員來說也就非常方便了,所以很多客戶還是選擇WinCE,。如果項目中還需要用到GUI的話,,那么WinCE可以說是最佳的選擇了,這是WinCE最明顯的優(yōu)勢之一,。 如果無論開發(fā)什么產(chǎn)品都選擇WinCE的話,,肯定是不劃算的。比如選用uC/OS-II就可以實現(xiàn)的項目,,如果因為開發(fā)人員的喜好而選用WinCE,,至少需要2片32M的SDRAM,,1片32M的NOR Flash或一片2M的NOR Flash+128M的NAND Flash(因為容量少的工業(yè)級NAND Flash越來越難購買),,可想而知其硬件成本還是非常之高的,。 高貴,、實時,、穩(wěn)定的Vxworks Vxworks最大的應(yīng)用價值是實時性和穩(wěn)定性,,其血統(tǒng)高貴,,由于系統(tǒng)使用了Vxworks,,用戶對產(chǎn)品的信任度立即凸顯,。根據(jù)博主的經(jīng)驗,,如果一次性購買的授權(quán)數(shù)量適當大一些,其價格是很多企業(yè)都能夠接受的,,最終您一定會驚訝得不可思議,,在計算成本時甚至可以忽略不計。 雖然原廠需要收至少47250美元的年費,,但您可以得到所有豐富的源代碼,,并使用于任何CPU微處理器。如果您只選用某一系列處理器或不需要升級源代碼,,那么以后每年的費用則是可以節(jié)省的,,只要支付每個產(chǎn)品的授權(quán)費用即可。如果您不需要源代碼,,那么所要支付的年費將會更加便宜,。 開源、自由的嵌入式Linux 嵌入式Linux最大的應(yīng)用價值是開源,,如果需要支持Wi-Fi的話,,那么嵌入式Linux是很好的選擇之一,搭配QT開發(fā)GUI人機界面也是非常不錯的,。但很多人選擇嵌入式Linux的出發(fā)點是免費,,這是絕對錯誤的,因為很多企業(yè)長期采取放羊式的產(chǎn)品開發(fā)方法,,即便一些企業(yè)實施了項目管理,,但對于成本核算還是缺乏參照物,,幾乎沒有購買商業(yè)化操作系統(tǒng)開發(fā)產(chǎn)品的經(jīng)驗,從而忽略了開發(fā)人員的高工資開支,。 從博主使用的情況來看,,嵌入式Linux的內(nèi)核是比較穩(wěn)定的,而相對Vxowork,、WinCE來說卻是最貴的,。但為什么博主還是要推薦選用嵌入式Linux呢?首先Linux是支持新微處理器,、新驅(qū)動軟件和新協(xié)議軟件最多,、速度最快的平臺,比如最近發(fā)布的USB3.0驅(qū)動軟件,。由于其最大的好處就是開源,,所以我們可以根據(jù)需要而任意裁剪,即便某些驅(qū)動不穩(wěn)定,,但因為有源代碼我們也可以任意修改,,所以嵌入式Linux最大的應(yīng)用價值不是免費。隨著Linux技術(shù)與時俱進式的發(fā)展,,Linux技術(shù)將會越來越完善,,因為Linux存在的價值,將時刻提醒壟斷性商業(yè)化軟件回歸大眾化的價格,,市場勢必呈現(xiàn)按需配置的多元化用戶自由選擇的新時代,。 事實上,我聽到的,、感受到的和所接觸到的很多嵌入式Linux開發(fā)工程師都是非常優(yōu)秀的人才,,他們的成功案例激發(fā)了我們投入使用開源嵌入式Linux的決心。在學(xué)習(xí)和應(yīng)用嵌入式LInux的過程中,,目前大多數(shù)人還是停留在了解內(nèi)核原理,,會寫會修改驅(qū)動程序的層面,而對如何開發(fā)出一個穩(wěn)定的基于嵌入式Linux的產(chǎn)品,,還是缺乏必要的能力,。往往開發(fā)出來的軟件不是“一勞永逸”而是“一逸永勞”,,無論是軟件架構(gòu),,還是模塊化都不盡人意。因此要想成為優(yōu)秀的嵌入式Linux開發(fā)人員,,一定要繼承基于Windows平臺軟件的優(yōu)秀技術(shù)成果,,最好有一些通用軟件的開發(fā)經(jīng)驗作為基礎(chǔ)。因為在嵌入式Linux軟件的技術(shù)發(fā)展和積累過程中,,有關(guān)基于嵌入式Linux軟件架構(gòu),、模式等技術(shù)相應(yīng)的參考資料還是比較缺乏的,,所以兼容并蓄地吸收基于Windows軟件平臺的開發(fā)方法還是非常有必要的,但很多人卻缺乏這種意識,,所以在開發(fā)產(chǎn)品的過程中,,常常會出現(xiàn)“跑起來很興奮,但要穩(wěn)定卻需費很大的勁”,。 隨著開發(fā)工具的發(fā)展和創(chuàng)新,,嵌入式Linux的開發(fā)難度將會極度地降低,博主將推出在Windows下支持嵌入式Linux的TKStudio集成開發(fā)平臺,,能夠非常方便地實現(xiàn)嵌入式Linux內(nèi)核,、驅(qū)動程序與應(yīng)用層軟件的調(diào)試,上百人的開發(fā)與技術(shù)支持團隊將為您打造穩(wěn)定的嵌入式Linux軟硬件一體化開發(fā)平臺,。 開源軟件 剛起步的一些網(wǎng)站,、企業(yè)或個人由于對價格的敏感往往選擇免費的開源軟件,這些軟件的性能正變得越來越好,。然而大公司更注重將鋒線降到最低點,,因而他們愿意選用收費的微軟軟件或者紅帽子等公司Linux系統(tǒng)提供商的服務(wù)。公司知道,,他們向軟件公司開出了一張支票,,就同時得到了一份合約,有了這份合約,,這些公司就會得到“高水準服務(wù)的保證”,。也就是說,如果軟件出了故障,,那么您就可以撥打某個維修電話了,。 如今,開源軟件和非開源軟件都代表了巨大的市場,。從總營業(yè)收入來計算,,微軟遠遠超過了自己的開源軟件對手。但是從用戶數(shù)目來計算,,兩者之間的差距并非特別大,。例如,火狐瀏覽器就在不斷地侵蝕微軟IE瀏覽器的市場份額,,而開發(fā)商則通過完全通過Google公司的廣告收入分成,。當人們使用火狐瀏覽器搜索內(nèi)容的時候,就會鏈接到Google瀏覽器的搜索結(jié)果頁面,。而開發(fā)火狐瀏覽器的莫茲拉公司只有不到100人,,卻可以和微軟瀏覽器的強大工作團隊競爭。這是建立在免費基礎(chǔ)上的另一類生意,,瀏覽器并非一定要捆綁到收費的操作系統(tǒng)里一起銷售,。 這是一個免費和付費軟件共存的混合世界,,這種混合世界不僅可能存在,而且可能發(fā)展的很好,,因為只有一道菜不一定適合所有人的口味,。 技術(shù)的價值體現(xiàn) 事實上技術(shù)的壁壘不在于基礎(chǔ)技術(shù)本身,每個人實際的競爭在于行業(yè)經(jīng)驗的積累,,所以不要迷信學(xué)什么最容易賺錢,,最容易就業(yè)之類騙人的鬼話。即便當前容易,,但那也是暫時的,。在80C51單片機開始流行的初級階段,如果會用C51語言開發(fā)產(chǎn)品,,看起來比使用匯編語言顯得水平要高一些,;前幾年如果會用ARM開發(fā)產(chǎn)品,看起來似乎又上了一個臺階,;再后來如果掌握了嵌入式Linux,,看起來好象更上一層樓了。 而現(xiàn)實的情況是很多工程師至今仍然使用變種的80C51單片機開發(fā)產(chǎn)品,,但產(chǎn)品的市場占有率和開發(fā)人員的價值依然堅挺,,對于這種現(xiàn)象我們熟視無睹,所以即便有了很好的基礎(chǔ)技術(shù),,但未必就能夠創(chuàng)造令人滿意的價值,。博主自創(chuàng)業(yè)以來,開發(fā)了穩(wěn)定性高的CAN-bus現(xiàn)場總線系列工控產(chǎn)品,,可以毫不夸張地說,,在國內(nèi)一直具有絕對的競爭優(yōu)勢和市場占有率,口碑也非常之好,,當客戶加上與行業(yè)有關(guān)的軟件之后,,其售價立即上升十倍,這才是真正的價值體現(xiàn),。 當博主在6年前推出第一臺LA1032邏輯分析儀時,,只能賣2800元。今年推出了LAB6000系列高性能邏輯分析儀時,,售價則為16800~29800元,,不曾想到這幾天還賣斷貨。原因何在,?新一代邏輯分析儀是面向終端用戶的高附加值儀器,,其購買對象為開發(fā)高技術(shù)含量產(chǎn)品,,且注重技術(shù)發(fā)展有潛力的高端用戶,,因為能夠?qū)崒嵲谠诘貛椭蛻艚鉀Q實際的難題創(chuàng)造價值,。 閑談GUI的開發(fā)經(jīng)驗 我們不僅使用過WinCE、uC/GUI,,而且還使用過QT,,總體來說感覺都是非常不錯的。要想產(chǎn)品賣得好,,GUI圖形用戶界面是至關(guān)重要的,,并且要求承擔(dān)設(shè)計的美工必須對用戶心理學(xué)、色彩心理學(xué),、人機工程學(xué)和軟件框架結(jié)構(gòu)必須有深入的研究,,最好具有工業(yè)設(shè)計經(jīng)驗。因為這不是技術(shù)活而是藝術(shù),,所以一定要有天賦和靈氣,。 其次就是GUI中用到的圖片,其實是非常講究的,。一般公司開發(fā)的軟件中所使用的圖片都是軟件工程師自己畫的,,稍微大一些的軟件公司雖然配備了專業(yè)的美工,但其圖片質(zhì)量則不敢恭維,。為什么會出現(xiàn)這種糟糕的現(xiàn)象呢,?我們傳統(tǒng)的產(chǎn)品開發(fā)思路,無論做什么都不注重細節(jié),,自己做得不好還非常有理,,因為別人也是這樣的。其次,,我們的習(xí)慣性思維喜歡從頭到尾自己掌控,,只要給別人付費就不愿意,連非常有價值的商業(yè)化操作系統(tǒng)都不愿意支付權(quán)利金,,所以也就更加不愿意花錢購買國外的專業(yè)圖庫了,,總之一句話:給別人賺錢就是不爽。 而我們的做法是向世界級的第一流企業(yè)購買成熟的知識產(chǎn)權(quán),,然后投入人力資源從事基礎(chǔ)研究和開發(fā)買不到的技術(shù),,全力以赴支持技術(shù)創(chuàng)新,最終轉(zhuǎn)化為有競爭力產(chǎn)品,。過去我們也開發(fā)過很多似乎領(lǐng)先的技術(shù),,但最后卻付出了比購買技術(shù)還要大得多的代價。很多時候購買一項技術(shù)從談判到消化只需要2個月,,并且同步與世界先進技術(shù)水平,;而自己開發(fā)卻需要一年以上,后期的維護費用不少,而且技術(shù)水平一般,。有時等自己開發(fā)出來之后,,技術(shù)水平又落后一大截了,這樣的自主創(chuàng)新事實上毫無價值,。 后記:寫到這里,,我突然感到完全有必要寫一篇文章,闡述開發(fā)過程之中的管理之道,,那就是“自主創(chuàng)新一定有價值嗎,?”向大家介紹博主多年來在開發(fā)產(chǎn)品和從事基礎(chǔ)技術(shù)研究的成功經(jīng)驗與失敗的教訓(xùn),希望對更多的企業(yè)和初學(xué)者有所幫助,。 |
|
來自: BlackBluePLC > 《雜篇》