1. 程式人生 > 其它 >嵌入式工程師技能樹

嵌入式工程師技能樹

通用技能樹

軟體

C/C++語言程式設計經驗、程式設計能力、應用開發、OOP面向物件程式設計方式、軟體框架、
C指標、檔案IO、程序執行緒、高階IO、
對C++中的智慧指標、多執行緒、網路程式設計有深入的認識和有專案實踐經驗。
QT專案開發能力,GUI設計、參與過商業專案開發,至少2個以上專案開發經驗,

組合語言、ARM彙編指令集、(編譯原理)交叉編譯工具的選項設定,

精通嵌入式資料庫
演算法,入棧出棧、入隊出隊、插入和刪除連結串列、
資料結構(FIFO)、堆疊、佇列、棧、單向和多向連結串列
作業系統原理
MySQL資料庫語言基本語句,獨立完成簡單的增刪改查
在紙上正確寫出無語法和邏輯錯誤的基本演算法:氣泡排序/二分查詢/連結串列基本操作

shell指令碼編寫、Makefile語法、Python、Matlab
運用指令碼標準化自動化輔助處理常見的問題,
所以運用指令碼語言shell、Makefile、JAVA、Python

OS入門、FreeRTOS/linux/ecos/ucos/wince/VxWorks,

  • 工作內容

根據要求寫程式、
根據程式碼找BUG、
編寫程式碼說明書、

硬體

微控制器軟硬體知識:中斷系統、各種外設模組、時鐘系統
原理圖、電路圖、PCB
對8位、16位、32位MCU,LPC564xx、STM32、A7、A9等ARM晶片進行專案開發

51系列微控制器、ARM/MIPS架構知識
熟悉模電數電基礎和電路設計,熟悉網路技術,熟悉各種晶片外圍電路設計和設計經驗,最好有現成的專案產品。

通訊

底層(UART/USART-TTL/232/485、IIC、SPI、IIS、CAN)、DQ通訊協議及其驅動
上層(USB、IDE、TCP/IP、乙太網口、SDIO)

工具

嵌入式開發環境搭建、
開發機linux系統的安裝、
相關工具(TFTP、NTP)的使用和配置、
開發環境搭建,keil、IAR、git開發工具、Xshell、eclipse、tftp、
gcc、g++程式設計工具,在linux下編譯執行C/C++開發的小型專案
vim編輯器
gdb偵錯程式

除錯

示波器、萬用表、

其他

程式設計習慣和風格,程式穩定可靠,

參加過商業專案開發,

編寫規範的概要和詳細設計文件

有豐富的嵌入式多工軟體系統分析和設計能力

能否可以在專案中獨當一面?能獨立完成專案系統方案

開發過程或者產品出現問題時懂得解決?解決系統故障和問題、熟悉專案管理流程

能否站在使用者的角度編寫說明書?良好的文件編寫能力和習慣,能夠編寫規範的概要和詳細設計文件

懂得一個專案完整流程怎麼完成?

專業單詞和片語,較強的合作精神,上進心、吃苦、加班996?良好的英文閱讀能力及較強的學習能力是從事這一領域工作的基礎

晶片手冊英文版>中文版

瞭解軟體開發工程,生命週期全過程——需求、設計、實現、測試、釋出、維護,具有良好規範的程式設計習慣和文件編寫習慣

良好的程式設計習慣

獨立編寫超過1萬行的模組或工程

與他人合作完成超過10萬行模組或工程

掌握10萬行程式碼的模組或工程的內部主要邏輯

學歷,多少年工作經驗,

有創新精神,抗壓能力強,吃苦耐勞,善於溝通,態度認真等等等等

嵌入式軟體工程師

U-BOOT

分析、配置、移植、定製編寫bootloader

linux核心

分析、簡單的配置、編譯、燒寫移植、裁剪、定製系統模組
模組、記憶體、程序、裝置、中斷、同步

根檔案系統

製作映像檔案、移植busybox、glibc

驅動程式編寫

LED、按鍵、擴充套件串列埠、網絡卡、硬碟、SD卡、LCD、USB、攝像頭驅動、NAND、AV

驅動框架

platform框架、input子系統框架

GUI桌面應用系統

基於Qtopia和C++、基於X移植

linux進階

多程序、多執行緒、執行緒池技術、網路程式設計

嵌入式驅動工程師

編寫和移植各種晶片驅動,如音訊晶片、影象晶片
優化硬體裝置驅動,如溫溼度感測器
【驅動層】linux下的BSP包開發和構建、編寫linux裝置驅動為上層提供API介面,對硬體功能除錯
【進階層】boost
【進階層】ffmpeg音視訊
熟悉linux核心
至少熟悉掌握一個驅動或模組的內部原理
精通控制理論,精通電路設計,
精通匯編,編譯器,二進位制工具;
精通通訊技術;精通硬體原理圖;精通PCB設計;精通計算機結構;
精通各種硬體驅動開發,精通bootloader,精通linux核心以及裁剪,
精通多執行緒程式設計,精通各種網路協議,精通各種匯流排協議,
精通各種媒體封裝格式,編解碼;

嵌入式應用工程師

核心除錯技術(新增kgdb補丁,棧回溯、gdb除錯)
應用程式除錯技術
編寫業務邏輯程式
呼叫驅動工程師提供的介面裝置
【應用層】linux的發行版、linux下的socket和opencv網路程式設計、熟悉TCP/IP協議工作原理
【系統層】linux、windows、塞班、android、ios常用命令和系統架構、android系統的開發和優化,瞭解系統排程、訊號量、鎖機制

嵌入式硬體工程師

自動化,電子,通訊等專業,
他們要求熟悉電路等知識,非常熟悉各種常用元器件,掌握類比電路和數位電路設計的開發能力,熟悉硬體開發模式和設計模式,
熟悉各種晶片及外圍裝置,熟悉8位16位32位處理器嵌入式硬體平臺開發。有的要求有FPGA的開發經驗,
精通常用的硬體設計工具:Protel/PADS(PowerPCB)/Cadence/OrCad。一般要有4~8層高速PCB設計經驗。