2021-12-16 15:00:59|已瀏覽:247次
嵌入式操作系統(tǒng)(EmbeddedSystem)是指以應用為中心、以計算機技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。舉例來說,大到油田的集散控制系統(tǒng)和工廠流水線,小到家用VCD機或手機,甚至組成普通PC終端設(shè)備的鍵盤、鼠標、硬盤、Modem等均是由嵌入式處理器控制的。
一、為什么要學嵌入式軟件開發(fā)?好處是什么?
(1)目前國內(nèi)外這方面的人都很稀缺。一方面,是因為這一領(lǐng)域入門門檻較高,不僅要懂較底層軟件(例如操作系統(tǒng)級、驅(qū)動程序級軟件),對軟件專業(yè)水平要求較高(嵌入式系統(tǒng)對軟件設(shè)計的時間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業(yè)IT人員很難切入這一領(lǐng)域;另一方面,是因為這一領(lǐng)域較新,目前發(fā)展太快,很多軟硬件技術(shù)出現(xiàn)時間不長或正在出現(xiàn)(如ARM處理器、嵌入式操作系統(tǒng)、MPEG技術(shù)、無線通信協(xié)議等),掌握這些新技術(shù)的人當然很找。嵌入式人才稀缺,身價自然就高,越有經(jīng)驗價格就越高。其實嵌入式人才稀少,根本原因可能是大多數(shù)人無條件接觸,這需要相應的嵌入式開發(fā)板和軟件,另外需要有經(jīng)驗的人進行指導開發(fā)流程。
(2)與企業(yè)計算等應用軟件不同,嵌入式領(lǐng)域人才的工作強度通常低一些(但收入不低)。搞企業(yè)應用軟件的IT企業(yè),這個用戶的系統(tǒng)搞完了,又得去搞下一個用戶的,而且每個用戶的需求和完成時間都得按客戶要求改變,往往疲于奔命,重復勞動。相比而言,搞嵌入式系統(tǒng)的公司,都有自己的產(chǎn)品計劃,按自己的節(jié)奏行事。所開發(fā)的產(chǎn)品通常是通用的,不會因客戶的不同而修改。一個產(chǎn)品型號開發(fā)完了,往往有較長一段空閑時間(或只是對軟件進行一些小修補),有時間進行充電和休整。另外,從事嵌入式軟件的每個人工作范圍相對狹窄,所涉及的專業(yè)技術(shù)范圍就是那些(ARM、RTOS、MPEG、802.11等),時間長了這些東西會越搞越有經(jīng)驗,賣賣老本,幾句指導也夠讓那些初入道者琢磨半年的。若搞應用軟件,可能下一個客戶要換成一個完全不同的軟件開發(fā)平臺,那就苦了。
(3)哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,那么嵌入式是一個不錯的主意,這可不像應用軟件那樣容易被盜版。土木學院有一個叫啟明星的公司開發(fā)出一個好象叫“工程e”的掌上PDA(南校區(qū)門口有廣告),施工技術(shù)人員用該PDA可當場進行土木概預算和其它土木計算,據(jù)說銷路特好。我認識的某大學老師,他開發(fā)的飯館用的點菜PDA(WinCE平臺,可無線連網(wǎng)和上網(wǎng)),據(jù)他說銷路不錯,飯館點點PDA讓客戶點菜,多顯派頭檔次。我記得00級2+2班當年有一組同學在學Windows程序設(shè)計課程時用VC++設(shè)計了一個功能很強的點菜系統(tǒng)做為課程項目,當時真想建議他們將這個軟件做成PDA,估計會有些銷路(上;疖囌灸蠌V場的Macdonald便使用很漂亮的PDA給用戶點食品,像摸像樣的)。這些PDA的硬件設(shè)計一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設(shè)計軟件就變成自己的產(chǎn)品了。
二、十大課本上學不到的妙招
1、離開舒適圈
雖然當了多年的工程師、但自認是系統(tǒng)與軟件技術(shù)“通才”的DSP與嵌入式軟件開發(fā)顧問公司Jetperch創(chuàng)辦人MattLiberty建議,不斷更新并提升原本擅長的技術(shù)雖然很重要,但嵌入式工程師若能擴展自己的知識領(lǐng)域會更有益。走出舒適圈,挑戰(zhàn)自我、去學習原本不熟悉的東西,包括工程以外的知識,例如與客戶、同事之間的互動,將會收獲良多。
2、學習利用搜索引擎
當了多年工程師、自認是“看得懂系統(tǒng)架構(gòu)的軟件人”的PTRGroup首席科學家MichaelAnderson認為,不要閉門造車,要善用開放源碼世界的信息,很多常見的設(shè)計問題其實透過因特網(wǎng)就能找到同領(lǐng)域菁英貢獻的程序代碼;嵌入式工程師們要走出自己的小世界擁抱社群,與同領(lǐng)域的其他工程師們相互交流、互相幫助,而這也是開放源碼世界的精神。
3、學習那些讓因特網(wǎng)實現(xiàn)的技術(shù)
具備多年嵌入式工程師經(jīng)驗的獨立產(chǎn)品設(shè)計與顧問公司AuriumTechnologies總經(jīng)理KenWada認為,多數(shù)嵌入式領(lǐng)域工程師都知道如何撰寫C或C++語言程序,但有時候這樣的技能是不夠的;他建議嵌入式工程師學習因特網(wǎng)有關(guān)的技術(shù),對職業(yè)生涯發(fā)展會有加分效果,例如他目前負責的幾個開發(fā)案,都是在嵌入式系統(tǒng)中嵌入虛擬(virtual)的XML,好讓一些小型連網(wǎng)設(shè)備能具備“即插即用”的運作模式。
4、熟悉實時操作系統(tǒng)(RTOS)
在工程人才招募機構(gòu)RandstadTechnologies負責嵌入式產(chǎn)業(yè)領(lǐng)域的解決方案經(jīng)理HenryWintz表示,目前產(chǎn)業(yè)界對于熟悉RTOS的工程師需求很高,也愿意提供更高的薪資水平;因此他鼓勵沒有接觸過RTOS的嵌入式工程師從一些較小型的系統(tǒng)著手,累積相關(guān)技術(shù)經(jīng)驗。此外他也發(fā)現(xiàn)產(chǎn)業(yè)界對嵌入式Linux人才有不少需求,主要是因為這種操作系統(tǒng)具備較大的設(shè)計彈性。
5、了解最新的處理器
有超過多年嵌入式軟件工程師經(jīng)驗的Embedded.fm工程師EleciaWhite表示,除了要深入了解C或C++等基本程序語言,有時也要認識一些熱門的新程序語言以因應特殊設(shè)計需求,但更重要的是了解最新的處理器技術(shù);處理器才是嵌入式系統(tǒng)的本質(zhì)。因為我們的系統(tǒng)資源有限,我們需要了解可用的資源有哪些。
6、培養(yǎng)多元化技能與系統(tǒng)觀
擔任近多年工程師、具備許多不同領(lǐng)域技術(shù)經(jīng)驗的技術(shù)顧問公司Rebelbot顧問JenCostillo建議,原本從事較小型系統(tǒng)架構(gòu)(例如MCU)開發(fā)的工程師,可以開始去熟悉更大的系統(tǒng)(例如Linux驅(qū)動程序),反之亦然。嘗試著去開發(fā)手機應用程序、或者是學習后端服務(wù)器的相關(guān)技術(shù),能讓你開啟完全不同的觀點;他并建議工程師去熟悉開放性硬件,現(xiàn)在市面上有不少現(xiàn)成的開發(fā)板,能讓工程師專注于學習獨特算法的開發(fā)。
7、要能熟悉開放源碼軟件
擁有多年工程師經(jīng)驗的FreescaleSemiconductor數(shù)字網(wǎng)絡(luò)全球軟件開發(fā)部門總監(jiān)RobOshana表示,客戶往往會要求在系統(tǒng)中整合一大堆軟件,因此所有的嵌入式工程師需要熟悉各種軟件;他建議工程師避免只專長單一領(lǐng)域,因為那可能會阻礙你的成長。對嵌入式工程師來說,確保自己對軟硬件技術(shù)都很了解,是非常寶貴的價值。
8、建立系統(tǒng)級的工程思維
自詡為高信賴度嵌入式系統(tǒng)專家、擔任了多年工程師的E2V電子系統(tǒng)總工程師AdamTaylor認為,嵌入式工程師擁有系統(tǒng)導向的思維是很重要的,有不少開發(fā)案遇到問題,就是因為沒有在開發(fā)初期充分考慮基準、驗證策略以及兼容性驗證計劃等項目;此外每個嵌入式工程師都應該具備優(yōu)良的項目管理技巧,力求準時完成負責的項目。具備能明智因應技術(shù)與項目風險的能力,對職業(yè)生涯發(fā)展會很有幫助。
9、學習無線連結(jié)技術(shù)
自認是低階嵌入式工程師、有多年工作經(jīng)驗的iRobot資深首席軟件工程師ChrisSvec建議,嵌入式工程師需要在接下來1~3年學習無線連結(jié)技術(shù),特別是Wi-Fi與藍牙低功耗(BLE);因為現(xiàn)在的嵌入式設(shè)備(至少各種消費性電子都是)與使用者智能手機連結(jié)的主要(或唯一)方式,就是透過這些無線技術(shù),雖然Wi-Fi與BLE不一定會是嵌入式系統(tǒng)的標準配備,但熟悉這些技術(shù)對嵌入式工程師來說會很實用。
10、要能明確表達自己的想法與意見透過文字或繪圖
Micrum總裁JeanLaBrosse認為,無論是哪一種工程師,都需要能有效表達自己的想法與意見;往往有些菜鳥工程師無法清晰表達自己的想法,因為抓不到重點,而最好的解決方法是練習將之圖形化,例如畫出流程圖。這聽起來好像有點過時,但有時利用各種圖框組合來整理自己的思緒、表達想法會是很有用的,例如iPad的iThoughts應用程序。
本文由培訓無憂網(wǎng)達內(nèi)教育課程顧問老師整理發(fā)布,更多課程信息可關(guān)注嵌入式開發(fā)培訓或添加老師微信:15033336050注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.universityresearchassociates.com/news-id-8085.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注嵌入式開發(fā)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050