通用技能樹
軟件
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設計經驗。