久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

博客專欄

EEPW首頁 > 博客 > 嵌入式系統開發者需要掌握什么技術?

嵌入式系統開發者需要掌握什么技術?

發布人:電子禪石 時間:2023-02-14 來源:工程師 發布文章

說實話,問題中嵌入式開發這個話題有點龐大,畢竟它涵蓋的領域和范圍很寬泛。作為一個在嵌入式軟件開發方面工作了十多年的老程序猿,這么多年過來也在通過不停的自學和各類項目的歷練中,不斷積累自己的嵌入式軟件開發的技能棧。


這里也借題主的問題寶地,梳理一下嵌入式軟件開發方向的技能棧,以期對題主和廣大嵌入式軟件愛好者有所幫助。畢竟是站在個人的經歷角度分享,如有缺失敬請諒解。

作為嵌入式軟件開發,其實可以細分為:

  1. 嵌入式MCU軟件開發工程師;

  2. 嵌入式Linux底層(BSP)軟件開發工程師;

  3. 嵌入式Linux應用開發工程師;

  4. 嵌入式FPGA算法開發工程師

我這么多年,從MCU開發及Linux應用開發起步,在合伙創業過程中自學并通過項目實踐構建了Linux底層驅動技能棧,FPGA算法工程師僅僅因為與公司的相應同事有過交際集,這里就不過多闡述FPGA算法工程師的技能棧,防止給大家帶跑偏了。

1. 嵌入式MCU軟件開發工程師

【基本武器】

  • C語言編碼能力(數據結構,常用算法,指針和數組,結構體和位域等)

  • MCU的理論知識(時鐘樹,內存,中斷,GPIO,功能外設(uart,iic,dma等)等)

  • MCU的編碼方式(寄存器/庫函數),編譯下載過程(根據題主選擇的MCU來學習)

  • 基本的電路連線圖能看懂(MCU的管腳如何連接到外界器件等)

  • 實時操作系統編碼能力(ucos,freertos,liteos等等)

  • 業務場景知識(根據題主嵌入式產品場景而定)

【升級武器】

  • 軟件架構設計能力

  • 示波器,邏輯分析儀使用(調試通信器件使用)

  • 讀取反匯編能力(定位Bug時候可能用到)

  • 掌握通信協議(串口232通信,485通信,iic協議,spi協議,tcp/ip,can協議等等)

2. 嵌入式Linux應用開發工程師

【基本武器】

  • Linux C語言編碼能力(數據結構,常用算法,指針和數組,結構體和位域等)

  • Linux常用功能API(多線程,多進程,鎖類,進程/線程通信機制相關等)

  • Linux Shell使用(基本的Linux操作能力)

  • Makefile/GDB調試

  • 掌握通信協議(串口232通信,485通信,iic協議,spi協議,tcp/ip,can協議等等)

  • 業務場景知識(根據題主嵌入式產品場景而定)(比如視頻,那么rtsp,h264編碼,視頻基礎)

【升級武器】

  • 軟件架構設計能力

  • 讀取反匯編能力(定位Bug時候可能用到)

  • Linxu操作系統理解(用戶態,內核態,中斷機制,內存機制等)

3. 嵌入式Linux底層(BSP)開發工程師

【基本武器】

  • Linux C語言編碼能力(數據結構,常用算法,指針和數組,結構體和位域等)

  • Linux裁剪,移植,編譯

  • Linxu操作系統理解(用戶態,內核態,中斷機制,內存機制等)

  • Linux Shell使用(Linux操作能力)

  • bootloader(uboot等)修改

  • 基本調試用通信方法(uart,tcp/ip)

【升級武器】

  • Linux驅動開發能力

  • Linux內核機制

  • 等等

以上根據個人的工作經歷中使用的技能棧總結,難免存在遺漏。畢竟每個嵌入式工程師從事的行業不同,技能棧也會有所不同。


以上建議,也僅供題主和廣大嵌入式軟件愛好者參考。

作者:snowdream
鏈接:https://www.zhihu.com/question/449050796/answer/1782550929
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



關鍵詞: 職業發展

技術專區

關閉