當前位置:編程學習大全網 - 編程語言 - 怎樣做壹個優秀的嵌入式工程師?

怎樣做壹個優秀的嵌入式工程師?

壹、嵌入式工程師必備技能總覽

在介紹學習路徑之前,我們先來了解壹下要成為壹個優秀的嵌入式開發工程師,需要具備哪些技能。我們從硬件和軟件兩部分來介紹。

v 硬件部分:

1. 了解主要器件(電阻、電容、電感、各類二極管、三極管、場效應管、邏輯門電路等)。

2. 熟悉萬用表的用法,熟悉以上器件的測試方法和測試原理。

3. 了解器件封裝的常見類型和特點(直插、表貼、QFNP、BGA、SOT等)。

4. 掌握使用示波器、邏輯分析儀進行測量的方法。

5. 熟知常見器件間通信方式和總線。

6. 能熟練閱讀器件手冊(datasheet)並根據項目需求對器件進行選型、電路原理圖繪制、電路板布局布線,配合結構工藝完成電路板設計。

7. 能根據故障現象對電路板進行測量排查,找出錯誤並修正。

8. 掌握基本的手焊、拆焊、飛線技能。

v 軟件部分:

1. 熟練掌握C語言,熟悉位操作,位段和對齊方式等概念。

2. 掌握基本的匯編語言。

3. 熟悉編譯連接的過程和編譯指令。

4. 理解程序運行中堆與棧的分配和使用。

5. 熟悉linux系統操作和gcc編譯工具、Makefile編寫。

6. 熟悉主流嵌入式CPU的架構(如ARM)

7. 熟悉內核態和用戶態,了解不同程序運行的狀態和編程註意事項。

8. 熟悉系統引導流程,能移植uboot和操作系統,構建根文件系統和設備樹。

9. 掌握各類驅動程序模塊的編寫方法和編譯方法。

10. 熟悉網絡編程原理和數據庫編程。

11. 了解UART,IIS,IIC,CAN,SPI等接口協議並能調試相關設備。

12. 了解至少壹種物聯網應用層協議如MQTT等。

13. 了解常見的低功耗無線通信模塊的使用如wifi,藍牙,ZigBee。

二、學習路徑和重點

確實,我們嵌入式工程師需要掌握的知識很多,上述的每個知識點都可以展開作為壹個單獨學科或者專題進行討論。上面繁多的技能要求可能讓很多同學望而生畏,不過我們嵌入式工程師的任務主要是工程實現,而不是理論研究,因此對於上面的知識點,我們不需要特別深入的了解,只需要在概念、原理和實踐方向進行理解和轉化,讓我們在工程實踐中能受這些理論的指導,利用這些理論完成設計和調試即可。

有壹些同學有這樣的疑問:我以後的工作目標是嵌入式軟件工程師,那我還需要硬件部分的知識嗎?這個問題的答案是肯定的,主要有以下2個原因:

1. 嵌入式工程師沒有嚴格的軟硬件區分。

嵌入式工程師在實際工作中要不斷和硬件打交道,硬件工程師提供了原理圖和PCB布局布線圖,我們嵌入式工程師要根據數據手冊,器件編程指南以及硬件工程師提供的原理圖進行軟件設計,需要對設計進行上板驗證,需要調試除錯,這都需要我們有紮實的硬件設計功底,否則就需要不斷的去找硬件工程師來咨詢,必然會拖慢整個項目的進度。

2. 要想成為優秀的嵌入式軟件工程師,壹定要熟知硬件知識。

優秀的嵌入式工程師會參與項目的需求分析,器件選型等硬件設計工作,這不僅需要我們有豐富的行業經驗,更需要我們有紮實的硬件基礎。

另外,驅動編寫等工作要求我們必須清晰的了解硬件的特性,如總線速度、時延、單雙工模式、是否有緩沖、是否支持DMA等等,了解硬件的特性才能充分挖掘硬件潛力,提升速度和穩定性。

又如,在和硬件工程師壹起調試設備問題時,嵌入式軟件工程師需要根據硬件特點編寫對應的測試程序,如並行總線的數據相位測試、串行差分信號的眼圖測試,都需要嵌入式軟件工程師編寫對應的測試程序。如果嵌入式軟件工程師沒有相應的硬件知識,溝通成本會陡然增加,項目延期風險也就大大增加了。

綜上,要做優秀的嵌入式工程師,而不是渾渾噩噩混日子的小工,就要嚴格要求自己,把硬件知識也補上來。

  • 上一篇:北上廣深的程序員進入:畢業時間,學歷,職位,待遇,城市呢?
  • 下一篇:什麽學歷可以學計算機,我初中畢業可以嗎?
  • copyright 2024編程學習大全網