嵌入式開發者技能大全


合格的嵌入式開發者應是多面手,應具備各方面的技能,包括從硬件到軟件到應用(電力系統保護,自動化,控制,人工智能,機器學習等),從單板到系統整機,從技術到管理,甚至吹拉彈唱也需要了解一點,做項目管理時可以提升團隊氣氛和豐富業餘生活。

嵌入式知識和技能體系龐大,樣樣精通者鳳毛鱗角,一般都是一專多能,各類技能多少都能說上一點。按照嵌入式開發層次關係,整理嵌入式開發者技能大全如下。

 

1、處理器

  MCU架構及開發MCUMicrocontroller Unit),俗稱單片機(Single Chip Microcomputer),把中央處理器(CentralProcess UnitCPU)的頻率和規格作適當刪減,並將內存(Memory)、計數器(Timer)、USBA/D轉換、UARTPLCDMA等周邊接口,甚至LCD等驅動電路都整合在單一芯片上,形成芯片級的計算機,爲不同的應用場合做不同的組合控制。常見的MCU包括IntelC51/C8051F系列,Motorola68K系列,MicroChipPIC系列等。

  MPU架構及開發MPC指微處理單元,一般不帶外圍器件(如存儲器陣列等),是高度集成的通用結構的處理器。典型如IntelX86系列、飛思卡爾的PowerPC系列、P1系列,ARM架構處理器等。

  DSP架構及開發DSP採用哈佛結構,同一個時鐘週期內可以多次訪問存儲器,多級指令執行流水結構提高了系統的執行效率,DSP芯片常用於複雜的運算,典型如TITMS CXX系列,ADISHARC系列、Blackfin系列等。

 

2CPLD&FPGA架構及開發

  CPLD&FPGA作爲專用集成電路(ASIC)領域中的一種半定製電路而出現,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。通過可編程邏輯單元實現各種算法和組合邏輯。 

  基於CPLD&FPGA實現程序開發。包括RTL門級邏輯圖設計,VerilogHDL程序設計,VHDL程序設計,XILINX編譯軟件使用,ALTERA編譯軟件使用,低速串、並行通信控制器設計,高速串行通信控制器設計。

 

3、電路設計和分析

  包括模擬電路和數字電路設計,包括器件DataSheet閱讀,原理圖及PCB閱讀等。

 

4、原理圖/PCB設計工具

CadenceAltiumPADSDXP等。

 

5、電路仿真工具使用

MultisimPspiceADSMATLAB等。

 

6、分立類電子元器件工作原理和選型

電路防護類器件,阻容器件,電感磁珠,DC/DC,晶振,二極管,三極管,穩壓管,光耦,MOS管,IGBT,繼電器,開關和按鍵,LED指示燈,PCB板用接線端子,交流互感器等。

 

7、集成類電子元器件工作原理和選型

        AD,邏輯器件,DA,運放,計數器,觸發器,鎖存器,譯碼器,SRAM,SDRAM,DDR,FLASH,EEPROM,接口芯片等。

 

8、失效分析與可靠性

物料的構造與工作原理,金相切片,顯微觀察,PCB形變測量,HALT實驗技術,可靠性計算等。

 

9、硬件測試(器件、模件、整機)

元器件測試方法,模件、整機測試方法,元器件、模件、整機測試問題分析,國標、行標理解,EMC問題分析和解決等。

 

10、操作系統架構及開發環境

瞭解操作系統原理及基本編譯原理。操作系統提供CPU資源管理、外設驅動、內存管理、線程/進程管理、文件系統、網絡通訊、安全機制、界面管理等。嵌入式實時操作系統的基本特徵是事件響應的快速性和確定性,在嵌入式系統中廣泛應用。

通用操作系統包括windowsUnixLInux等。目前在嵌入式領域廣泛使用的操作系統包括:嵌入式實時操作系統µC/OS-II嵌入式LinuxWindowsEmbeddedVxWorksFreeRTOSQNX等,以及應用在智能手機和平板電腦的AndroidiOS等。

 

11、底層驅動開發

VxWorks操作系統驅動開發,Linux移植,Linux開發,單板DTS配置以及根文件系統生成(Buildroot),U-BOOT移植和開發,C語言開發,Python語言開發,Makefile編寫,GNU編譯器及工具鏈的使用,Linux操作系統使用。

具體包括以太網驅動,SPI驅動,I2C驅動,文件系統驅動,CAN驅動等。

 

12、系統軟件設計

面向對象,設計模式,UML,嵌入式多任務開發,重構,多核開發等。瞭解常用的開發過程,如敏捷編程,測試驅動開發等。

 

13、系統軟件開發

熟悉開發語言,包括:CC++C#QTPythonJAVA,等。熟悉WEB 開發,開發規範等。

 

14、數據結構與算法

常用數據結構和算法,圖論算法,數字信號處理算法,小波算法等。

 

15、網絡與通信

計算機網絡原理,TCP/IP協議原理及分析,IEC61850規約(建模,MMSSVGOOSE等),103規約,104規約,DNP規約,Modbus協議,物聯網Zigbee協議,bluetoothwireshark等報文分析工具,環網HSR協議,網絡安全等。

 

16、數據庫

數據庫原理與設計,SQLite/Access/MySQL/SQLServer/Oracle/大數據hadoop等。

 

17、界面和圖形庫。ZincUGLQTSVGMiniGUI等。

 

18、應用知識(以電力系統自動化爲例)

電力系統常識,繼電保護知識,測控知識;智能變電站網絡架構,網分,故障錄波器,保信,遠動等。

 

19、調試和測試

軟件測試基礎,61850規約測試,網絡測試,時間管理測試,應用功能測試(繼電保護功能等),ATS測試開發與使用,Labview測試程序開發等。

 

20、項目管理

  配置管理如版本管理工具Git使用等,項目計劃與任務劃分,項目進度跟蹤,項目協調等。