合格的嵌入式開發者應是多面手,應具備各方面的技能,包括從硬件到軟件到應用(電力系統保護,自動化,控制,人工智能,機器學習等),從單板到系統整機,從技術到管理,甚至吹拉彈唱也需要了解一點,做項目管理時可以提升團隊氣氛和豐富業余生活。
嵌入式知識和技能體系龐大,樣樣精通者鳳毛鱗角,一般都是一專多能,各類技能多少都能說上一點。按照嵌入式開發層次關系,整理嵌入式開發者技能大全如下。
1、處理器
MCU架構及開發。MCU(Microcontroller Unit),俗稱單片機(Single Chip Microcomputer),把中央處理器(CentralProcess Unit,CPU)的頻率和規格作適當刪減,并將內存(Memory)、計數器(Timer)、USB、A/D轉換、UART、PLC、DMA等周邊接口,甚至LCD等驅動電路都整合在單一芯片上,形成芯片級的計算機,為不同的應用場合做不同的組合控制。常見的MCU包括Intel的C51/C8051F系列,Motorola的68K系列,MicroChip的PIC系列等。
MPU架構及開發。MPC指微處理單元,一般不帶外圍器件(如存儲器陣列等),是高度集成的通用結構的處理器。典型如Intel的X86系列、飛思卡爾的PowerPC系列、P1系列,ARM架構處理器等。
DSP架構及開發。DSP采用哈佛結構,同一個時鐘周期內可以多次訪問存儲器,多級指令執行流水結構提高了系統的執行效率,DSP芯片常用于復雜的運算,典型如TI的TMS CXX系列,ADI的SHARC系列、Blackfin系列等。
CPLD&FPGA作為專用集成電路(ASIC)領域中的一種半定制電路而出現,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。通過可編程邏輯單元實現各種算法和組合邏輯。
基于CPLD&FPGA實現程序開發。包括RTL門級邏輯圖設計,VerilogHDL程序設計,VHDL程序設計,XILINX編譯軟件使用,ALTERA編譯軟件使用,低速串、并行通信控制器設計,高速串行通信控制器設計。
3、電路設計和分析
包括模擬電路和數字電路設計,包括器件DataSheet閱讀,原理圖及PCB閱讀等。
4、原理圖/PCB設計工具
5、電路仿真工具使用
電路防護類器件,阻容器件,電感磁珠,DC/DC,晶振,二極管,三極管,穩壓管,光耦,MOS管,IGBT,繼電器,開關和按鍵,LED指示燈,PCB板用接線端子,交流互感器等。
AD,邏輯器件,DA,運放,計數器,觸發器,鎖存器,譯碼器,SRAM,SDRAM,DDR,FLASH,EEPROM,接口芯片等。
8、失效分析與可靠性
物料的構造與工作原理,金相切片,顯微觀察,PCB形變測量,HALT實驗技術,可靠性計算等。
9、硬件測試(器件、模件、整機)
元器件測試方法,模件、整機測試方法,元器件、模件、整機測試問題分析,國標、行標理解,EMC問題分析和解決等。
10、操作系統架構及開發環境
了解操作系統原理及基本編譯原理。操作系統提供CPU資源管理、外設驅動、內存管理、線程/進程管理、文件系統、網絡通訊、安全機制、界面管理等。嵌入式實時操作系統的基本特征是事件響應的快速性和確定性,在嵌入式系統中廣泛應用。
通用操作系統包括windows、Unix、LInux等。目前在嵌入式領域廣泛使用的操作系統包括:嵌入式實時操作系統μC/OS-II、嵌入式Linux、WindowsEmbedded、VxWorks、FreeRTOS、QNX等,以及應用在智能手機和平板電腦的Android、iOS等。
11、底層驅動開發
VxWorks操作系統驅動開發,Linux移植,Linux開發,單板DTS配置以及根文件系統生成(Buildroot),U-BOOT移植和開發,C語言開發,Python語言開發,Makefile編寫,GNU編譯器及工具鏈的使用,Linux操作系統使用。
具體包括以太網驅動,SPI驅動,I2C驅動,文件系統驅動,CAN驅動等。
12、系統軟件設計
面向對象,設計模式,UML,嵌入式多任務開發,重構,多核開發等。了解常用的開發過程,如敏捷編程,測試驅動開發等。
13、系統軟件開發
熟悉開發語言,包括:C,C++,C#,QT,Python,JAVA,等。熟悉WEB 開發,開發規范等。
14、數據結構與算法
常用數據結構和算法,圖論算法,數字信號處理算法,小波算法等。
15、網絡與通信
計算機網絡原理,TCP/IP協議原理及分析,IEC61850規約(建模,MMS,SV,GOOSE等),103規約,104規約,DNP規約,Modbus協議,物聯網Zigbee協議,bluetooth,wireshark等報文分析工具,環網HSR協議,網絡安全等。
16、數據庫
數據庫原理與設計,SQLite/Access/MySQL/SQLServer/Oracle/大數據hadoop等。
17、界面和圖形庫。Zinc,UGL,QT,SVG,MiniGUI等。
18、應用知識(以電力系統自動化為例)
電力系統常識,繼電保護知識,測控知識;智能變電站網絡架構,網分,故障錄波器,保信,遠動等。
19、調試和測試
軟件測試基礎,61850規約測試,網絡測試,時間管理測試,應用功能測試(繼電保護功能等),ATS測試開發與使用,Labview測試程序開發等。
20、項目管理
配置管理如版本管理工具Git使用等,項目計劃與任務劃分,項目進度跟蹤,項目協調等。
-
嵌入式開發
+關注
關注
18文章
1028瀏覽量
47563
原文標題:嵌入式開發者技能大全
文章出處:【微信號:wujianying_danpianji,微信公眾號:單片機精講吳鑒鷹】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論