IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
一、嵌入式工程師必備技能總覽
在介紹學(xué)習(xí)路徑之前,我們先來(lái)了解一下要成為一個(gè)優(yōu)秀的嵌入式開(kāi)發(fā)工程師,需要具備哪些技能。我們從硬件和軟件兩部分來(lái)介紹。
v 硬件部分:
1. 了解主要器件(電阻、電容、電感、各類二極管、三極管、場(chǎng)效應(yīng)管、邏輯門電路等)。
2. 熟悉萬(wàn)用表的用法,熟悉以上器件的測(cè)試方法和測(cè)試原理。
3. 了解器件封裝的常見(jiàn)類型和特點(diǎn)(直插、表貼、QFNP、BGA、SOT等)。
4. 掌握使用示波器、邏輯分析儀進(jìn)行測(cè)量的方法。
5. 熟知常見(jiàn)器件間通信方式和總線。
6. 能熟練閱讀器件手冊(cè)(datasheet)并根據(jù)項(xiàng)目需求對(duì)器件進(jìn)行選型、電路原理圖繪制、電路板布局布線,配合結(jié)構(gòu)工藝完成電路板設(shè)計(jì)。
7. 能根據(jù)故障現(xiàn)象對(duì)電路板進(jìn)行測(cè)量排查,找出錯(cuò)誤并修正。
8. 掌握基本的手焊、拆焊、飛線技能。
v 軟件部分:
1. 熟練掌握C語(yǔ)言,熟悉位操作,位段和對(duì)齊方式等概念。
2. 掌握基本的匯編語(yǔ)言。
3. 熟悉編譯連接的過(guò)程和編譯指令。
4. 理解程序運(yùn)行中堆與棧的分配和使用。
5. 熟悉linux系統(tǒng)操作和gcc編譯工具、Makefile編寫(xiě)。
6. 熟悉主流嵌入式CPU的架構(gòu)(如ARM)
7. 熟悉內(nèi)核態(tài)和用戶態(tài),了解不同程序運(yùn)行的狀態(tài)和編程注意事項(xiàng)。
8. 熟悉系統(tǒng)引導(dǎo)流程,能移植uboot和操作系統(tǒng),構(gòu)建根文件系統(tǒng)和設(shè)備樹(shù)。
9. 掌握各類驅(qū)動(dòng)程序模塊的編寫(xiě)方法和編譯方法。
10. 熟悉網(wǎng)絡(luò)編程原理和數(shù)據(jù)庫(kù)編程。
11. 了解UART,IIS,IIC,CAN,SPI等接口協(xié)議并能調(diào)試相關(guān)設(shè)備。
12. 了解至少一種物聯(lián)網(wǎng)應(yīng)用層協(xié)議如MQTT等。
13. 了解常見(jiàn)的低功耗無(wú)線通信模塊的使用如wifi,藍(lán)牙,ZigBee。
二、學(xué)習(xí)路徑和重點(diǎn)
確實(shí),我們嵌入式工程師需要掌握的知識(shí)很多,上述的每個(gè)知識(shí)點(diǎn)都可以展開(kāi)作為一個(gè)單獨(dú)學(xué)科或者專題進(jìn)行討論。上面繁多的技能要求可能讓很多同學(xué)望而生畏,不過(guò)我們嵌入式工程師的任務(wù)主要是工程實(shí)現(xiàn),而不是理論研究,因此對(duì)于上面的知識(shí)點(diǎn),我們不需要特別深入的了解,只需要在概念、原理和實(shí)踐方向進(jìn)行理解和轉(zhuǎn)化,讓我們?cè)诠こ虒?shí)踐中能受這些理論的指導(dǎo),利用這些理論完成設(shè)計(jì)和調(diào)試即可。
有一些同學(xué)有這樣的疑問(wèn):我以后的工作目標(biāo)是嵌入式軟件工程師,那我還需要硬件部分的知識(shí)嗎?這個(gè)問(wèn)題的答案是肯定的,主要有以下2個(gè)原因:
1. 嵌入式工程師沒(méi)有嚴(yán)格的軟硬件區(qū)分。
嵌入式工程師在實(shí)際工作中要不斷和硬件打交道,硬件工程師提供了原理圖和PCB布局布線圖,我們嵌入式工程師要根據(jù)數(shù)據(jù)手冊(cè),器件編程指南以及硬件工程師提供的原理圖進(jìn)行軟件設(shè)計(jì),需要對(duì)設(shè)計(jì)進(jìn)行上板驗(yàn)證,需要調(diào)試除錯(cuò),這都需要我們有扎實(shí)的硬件設(shè)計(jì)功底,否則就需要不斷的去找硬件工程師來(lái)咨詢,必然會(huì)拖慢整個(gè)項(xiàng)目的進(jìn)度。
2. 要想成為優(yōu)秀的嵌入式軟件工程師,一定要熟知硬件知識(shí)。
優(yōu)秀的嵌入式工程師會(huì)參與項(xiàng)目的需求分析,器件選型等硬件設(shè)計(jì)工作,這不僅需要我們有豐富的行業(yè)經(jīng)驗(yàn),更需要我們有扎實(shí)的硬件基礎(chǔ)。
另外,驅(qū)動(dòng)編寫(xiě)等工作要求我們必須清晰的了解硬件的特性,如總線速度、時(shí)延、單雙工模式、是否有緩沖、是否支持DMA等等,了解硬件的特性才能充分挖掘硬件潛力,提升速度和穩(wěn)定性。
又如,在和硬件工程師一起調(diào)試設(shè)備問(wèn)題時(shí),嵌入式軟件工程師需要根據(jù)硬件特點(diǎn)編寫(xiě)對(duì)應(yīng)的測(cè)試程序,如并行總線的數(shù)據(jù)相位測(cè)試、串行差分信號(hào)的眼圖測(cè)試,都需要嵌入式軟件工程師編寫(xiě)對(duì)應(yīng)的測(cè)試程序。如果嵌入式軟件工程師沒(méi)有相應(yīng)的硬件知識(shí),溝通成本會(huì)陡然增加,項(xiàng)目延期風(fēng)險(xiǎn)也就大大增加了。
綜上,要做優(yōu)秀的嵌入式工程師,而不是渾渾噩噩混日子的小工,就要嚴(yán)格要求自己,把硬件知識(shí)也補(bǔ)上來(lái)。
>>本文地址:http://m.littlerockbway.com/zhuanye/2019/48087.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?
07月15日Java
咨詢/試聽(tīng)07月15日Python+人工智能
咨詢/試聽(tīng)07月15日Web前端
咨詢/試聽(tīng)07月15日UI設(shè)計(jì)
咨詢/試聽(tīng)07月15日大數(shù)據(jù)
咨詢/試聽(tīng)07月15日Java
咨詢/試聽(tīng)07月15日Python+人工智能
咨詢/試聽(tīng)07月15日Web前端
咨詢/試聽(tīng)07月15日UI設(shè)計(jì)
咨詢/試聽(tīng)07月15日大數(shù)據(jù)
咨詢/試聽(tīng)