當(dāng)前位置:首頁 > 公眾號精選 > 大魚機器人
[導(dǎo)讀]一名從事10多年嵌入式行業(yè)的老兵,用多年來從事這個行業(yè)的經(jīng)驗及獨特視角,為想從事嵌入式系統(tǒng)方向的大學(xué)畢業(yè)生、以及剛從事這個行業(yè)、處在迷茫期的小伙伴們指點迷津。 大神可跳過。

一名從事10多年嵌入式行業(yè)的老兵,用多年來從事這個行業(yè)的經(jīng)驗及獨特視角,為想從事嵌入式系統(tǒng)方向的大學(xué)畢業(yè)生、以及剛從事這個行業(yè)、處在迷茫期的小伙伴們指點迷津。 大神可跳過。
一、什么是嵌入式產(chǎn)品系統(tǒng)?
嵌入式系統(tǒng)是一種用來控制特定的設(shè)備、實現(xiàn)特定功能,以MCU或微處理器、片上系統(tǒng)(SOC)作為核心,軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計算機系統(tǒng)。
通常,嵌入式系統(tǒng)是一個控制程序存儲在ROM中的嵌入式處理器控制板。
嵌入式系統(tǒng)的核心是由一個或幾個預(yù)先編程好以用來執(zhí)行少數(shù)幾項任務(wù)的微處理器或者M(jìn)CU組成。與通用計算機能夠讓用戶自由安裝軟件不同,嵌入式系統(tǒng)上的軟件通過編程器燒寫到ROM或Flash中,通常是暫時不變的;所以經(jīng)常把嵌入式系統(tǒng)中的軟件稱為“固件”。
我們身邊常見的手表、洗衣機、照相機、微波爐、汽車等都使用了嵌入式系統(tǒng),有的比較簡單由單個前后臺程序?qū)崿F(xiàn)整個控制邏輯,功能比較復(fù)雜的還包含嵌入式操作系統(tǒng)。

二、嵌入式系統(tǒng)開發(fā)做些什么?

1、硬件開發(fā)。 分析產(chǎn)品需求,選擇適合系統(tǒng)需求的MCU或片上系統(tǒng)(SOC)以及外圍的基本元器件(電阻、電容、電感),利用CAD(計算機輔助設(shè)計)軟件設(shè)計電路原理圖,PCB圖,當(dāng)然硬件設(shè)計還包括芯片設(shè)計,F(xiàn)PGA,CPLD的應(yīng)用。
2、嵌入式軟件開發(fā)。 在硬件電路板完成設(shè)計后,根據(jù)嵌入式系統(tǒng)要實現(xiàn)的功能,利用集成開發(fā)環(huán)境,用匯編、C/C++等高級語言,編寫程序去實現(xiàn)硬件功能,最終實現(xiàn)整個嵌入式系統(tǒng)的特定功能。
3、軟硬件連調(diào) 、測試,BUG排除,直到產(chǎn)品穩(wěn)定的進(jìn)行批量生產(chǎn)。
4、做好軟件的版本管理, 根據(jù)功能需求不斷升級和更新軟件;
?

三、嵌入式系統(tǒng)的應(yīng)用領(lǐng)域

工業(yè)控制、交通管理、信息家電、智能家居、POS網(wǎng)絡(luò)、環(huán)境工程、國防航空、物聯(lián)網(wǎng)??梢哉f,嵌入式系統(tǒng)在我們的時代無處不在。

?

四、嵌入式系統(tǒng)開發(fā)必備的知識體系

  • 數(shù)字電路
  • 計算機技術(shù),計算機的硬件架構(gòu)
  • MCU微處理器架構(gòu)
  • 大規(guī)模集成電路(芯片)應(yīng)用
  • 熟練掌握一門高級編程語言,C或C++在嵌入式系統(tǒng)中應(yīng) 用比較廣泛,個人認(rèn)為,C語言是萬言之父,嵌入式系統(tǒng)開發(fā)的第一編程語言;
  • 數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫方面的知識
  • 常用數(shù)字電路通訊接口,I2C、SPI、UART、USB。
  • 通信協(xié)議及編程技術(shù):TCP/IP協(xié)議、802.11,Bluetooth, GPRS、GSM、CDMA等。
  • 建議在開發(fā)中使用linux系統(tǒng),可以加深對操作系統(tǒng)的理解,熟悉并理解一種嵌入多實時操作系統(tǒng),如Vxworks,RTX,uCos、嵌入式linux。
  • 離散數(shù)學(xué)
  • 熟練掌握一種電路設(shè)計軟件,如Altium designer,Power PCB等。
  • 良好的英文閱讀能力

?

五、嵌入式系統(tǒng)開發(fā)流程



嵌入式系統(tǒng)軟件開發(fā)常用平臺及工具:

  • KEIL C51
  • KEIL MDK
  • IAR
  • 51版,STM8版,STM32版,AVR版
  • 嵌入式linux
  • Arduino IDE

目前我們在使用的主流開發(fā)平臺是Arduino,Arduino開發(fā)平臺有以下優(yōu)勢:
無數(shù)全球開源的庫,使用C或C++均可以進(jìn)行開發(fā),全世界有無數(shù)工程師在為它貢獻(xiàn)開源代碼。
入門非常簡單容易,既適合業(yè)余的電子愛好者、創(chuàng)客、軟件工程師,也適合專業(yè)的電子嵌入式產(chǎn)品設(shè)計。
支持AVR的多款單片機,STM32 、STM8的多款主流微處理器。
強大的資源庫讓你迅速實現(xiàn)你的產(chǎn)品原型。
?

六、嵌入式系統(tǒng)設(shè)計的職業(yè)規(guī)劃


職業(yè)規(guī)劃一:硬件工程師/電子工程師

初級階段(相關(guān)專業(yè)3個月到半年)
  1. 熟悉電路原理圖,熟悉電子元器件種類,技術(shù)參數(shù),封裝等。
  2. 能根據(jù)電路原理圖進(jìn)行PCB布局、排板;
  3. 具備一定的電路板焊接技能;
中級階段(相關(guān)專業(yè)1年左右)
能根據(jù)硬件設(shè)計原理框圖,元器件選型清單,在項目負(fù)責(zé)人的指導(dǎo)下繪制電路原理圖,繪制庫里沒有的元器件封裝,并能根據(jù)產(chǎn)品結(jié)構(gòu)安裝要求設(shè)計PCB各種外形,完成元器件布局,布線,知道完成整塊PCB板的設(shè)計,并能對接PCB生產(chǎn)商,完成PCB板的制作生產(chǎn)。
元器件選型采購 PCB樣板焊接,具備一定的焊接技能,焊接的過程中可以發(fā)現(xiàn)PCB設(shè)計中的問題和不太完美的地方,下次排板的時候進(jìn)行改進(jìn)。 電路板調(diào)試焊接可靠,板上的所有電源測試點正常,對接交付嵌入式軟件工程師。
高級階段
能根據(jù)項目或產(chǎn)品需求編寫整體設(shè)計方案,設(shè)計硬件系統(tǒng)框圖,完成實現(xiàn)電路功能所需的元器件選型,電路性能設(shè)計計算,可靠性分析與預(yù)計,產(chǎn)品成本核算,配合結(jié)構(gòu)工程師進(jìn)行產(chǎn)品的外殼設(shè)計,產(chǎn)品測試與檢驗標(biāo)準(zhǔn)制定,指導(dǎo)完成產(chǎn)品生產(chǎn)工藝制定。

職業(yè)規(guī)劃二:嵌入式軟件工程師

初級階段(相關(guān)專業(yè)3個月到半年)
  1. 熟悉C語言的語法,數(shù)據(jù)結(jié)構(gòu)、指針、隊列、鏈表的這些C語言的基礎(chǔ)概念要有一個比較清晰的認(rèn)識;
  2. 能熟練使用一種基礎(chǔ)的嵌入式開發(fā)平臺,如KEIL、IAR、Arduino等,對怎么建立一個項目工程、編繹、鏈接、生成目標(biāo)代碼、如何把代碼燒寫到嵌入式硬件的MCU中,對這個流程要能熟練操作。
  3. 需要熟悉一種處理器、MCU的硬件組成,架構(gòu)、IO及外設(shè)的應(yīng)用、系統(tǒng)時鐘、運行頻率、存儲代碼空間、堆、棧這些和編程相關(guān)的概念和知識一定要搞清楚。
  4. 具備讀和理解他人代碼的能力,能根據(jù)軟件流程圖和功能需求理清代碼的邏輯,要此基礎(chǔ)上要據(jù)功能變更對代碼進(jìn)行一些局部修改,并完成調(diào)試。
中級階段(1到2年)
  1. 具備獨立編碼的能力,能根據(jù)軟件設(shè)計說明書、軟件開發(fā)需求獨立進(jìn)行一個產(chǎn)品或項目的程序框架構(gòu)思、代碼編寫、程序調(diào)試、軟硬件連調(diào)連測、Bug排除、功能交付。
  2. 能看懂嵌入式產(chǎn)品或項目的電路原理圖、清楚軟硬件在一個嵌入式產(chǎn)品的角色,用軟件去控制硬件、實現(xiàn)產(chǎn)品的整體功能;
  3. 能協(xié)助硬件工程師、產(chǎn)品經(jīng)理分析、排除和解決產(chǎn)品設(shè)計中存在的問題,實現(xiàn)軟硬件設(shè)計協(xié)同;
  4. 要能熟練掌握嵌入式硬件系統(tǒng)種常用的各種通信總線的編程和應(yīng)用,如I2C、SPI、USB、RS485、Modbus、CAN、以太網(wǎng)等。
  5. 至少熟悉一種嵌入式操作系統(tǒng)的架構(gòu)、能基于操作系統(tǒng)進(jìn)行一些較為復(fù)雜的項目編程,能較為清晰的理解嵌入式操作系統(tǒng)基于任務(wù)、進(jìn)程通訊的設(shè)計框架;并能在嵌入式操作系統(tǒng)下移植一些底層硬件的驅(qū)動程序。
  6. 建立軟件版本管理意識,能熟練利用一些工具進(jìn)行代碼版本管理;
  7. 具備一定的文檔編寫能力,如軟件流程圖、軟件測試說明書、軟件使用說明書等。
高級階段(5年左右)
到這個階段,你已經(jīng)是一名合格的嵌入式軟件工程師了,接下來的工作除了不斷提升軟件代碼編寫的能力、效率,更重要是要提升你用軟件去解決實際問題的能力了。
  1. 能根據(jù)產(chǎn)品、項目的需求進(jìn)行較為復(fù)雜項目的軟件架構(gòu)設(shè)計、分析需求、整理和編寫軟件開發(fā)需求說明、編寫軟件設(shè)計功能說明書、能清晰的劃分軟件的各件功能模塊,組織團(tuán)隊進(jìn)行各個功能模塊的協(xié)同設(shè)計;
  2. 具備多人遵循共同的規(guī)則和接口協(xié)同編碼,并具備多人代碼的整合能力、代碼集成、BUG排除、系統(tǒng)連調(diào)能力;
  3. 能根據(jù)產(chǎn)品需求制定與其它硬件或軟件系統(tǒng)的通信協(xié)議、開發(fā)文檔,并組識進(jìn)行通信協(xié)議的編程實現(xiàn)、通信連調(diào)、具備與其它部門或公司的技術(shù)合作、協(xié)調(diào)、溝通能力。
  4. 具備專業(yè)、行業(yè)行業(yè)的英文技術(shù)文檔、論文、技術(shù)手冊的熟練、快速閱讀能力。
  5. 具備一定的互聯(lián)網(wǎng)、物聯(lián)網(wǎng)知識、對各種網(wǎng)絡(luò)通訊技術(shù)有豐富的知識積累,并能熟練運用 ;如TCP/IP、WIFI、GSM、4G、LORA等等,具備連網(wǎng)類產(chǎn)品和項目的開發(fā)能力;
  6. 熟悉一種服務(wù)器或上位計算機的軟件設(shè)計架構(gòu),能理解和掌握面向?qū)ο缶幊?,理解嵌入式軟件編程和通用計算機軟件編程的區(qū)別和共同點,具備一定能通用計算機軟件設(shè)計能力,并能獨立實現(xiàn)計算機/服務(wù)器軟件和嵌入式系統(tǒng)軟件的通信、協(xié)同設(shè)計。
  7. 能熟練使用linux開源操作系統(tǒng),熟悉這種開源操作系統(tǒng)的架構(gòu)、常用命令操作、程序運行機制,并能基于linux操作系統(tǒng)進(jìn)行軟件開發(fā)。

職業(yè)規(guī)劃三:系統(tǒng)架構(gòu)師
達(dá)到這個階段,就如它的名字一樣,架構(gòu),主要的工作就不是來進(jìn)行具體的軟件編碼了,當(dāng)然要達(dá)到這個水平,也是從編碼開始、了解細(xì)節(jié)、才能進(jìn)行架構(gòu)設(shè)計,因為編碼出現(xiàn)錯誤、影響的不過是一段代碼的執(zhí)行BUG。
但如果架構(gòu)也出現(xiàn)設(shè)計上錯誤或不合理,可能直接關(guān)系到一個產(chǎn)品或項目整體功能、性能、甚至是一個產(chǎn)品或項目研發(fā)的成敗。所以,一個好的系統(tǒng)架構(gòu)師,一定是一名優(yōu)秀的程序員。
  1. 到這個階段,如果你還在一個組織里,你已經(jīng)不太可能是孤軍奮戰(zhàn)了;在大企業(yè)里,你可能是一個技術(shù)主管,在小企業(yè)里,你應(yīng)該是技術(shù)總監(jiān)那一類的了,所以這個階段你除了擁用很好的技術(shù)功底,還要具備管理團(tuán)隊的能力了;
  2. 具備軟硬件協(xié)同進(jìn)行總體設(shè)計的能力、具備充分利用技術(shù)來解決問題的能力;
  3. 你需要站在公司的層面,對接業(yè)務(wù)、對接市場和客戶,根據(jù)市場和需求來設(shè)計產(chǎn)品或項目的實現(xiàn)技術(shù)路線、總體技術(shù)方案;
  4. 你需要站要整體的角度考慮產(chǎn)品項目的成本、按成本要求進(jìn)行技術(shù)路線優(yōu)化,充分利用好人資源、提高人效、降低研發(fā)成本,為公司創(chuàng)造效益;
  5. 你需要全方位擴展你的知識面,對產(chǎn)品中所應(yīng)用到的技術(shù)都要有充分的風(fēng)險評估能力,要能解決團(tuán)隊在研發(fā)過程中出現(xiàn)的各種技術(shù)難題。

-END-

| 整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有 |
|?如有侵權(quán),請聯(lián)系刪除 |

往期好文合集


為什么自己設(shè)計的嵌入式系統(tǒng)不如工業(yè)級產(chǎn)品穩(wěn)定?

干貨:嵌入式系統(tǒng)設(shè)計開發(fā)大全!(萬字總結(jié))

嵌入式行業(yè)真的沒有前途嗎?

最 后

若覺得文章不錯,轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等! 在公眾號內(nèi)回復(fù)「更多資源」,即可免費獲取,期待你的關(guān)注~ ?

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉