每個嵌入式工程師需要的關鍵技能流利的用于編寫操作系統的編程語言,例如C:對組件級別的硬件的理解;以及輕松跨越軟件和硬件的能力,這些都是當今嵌入式工程師的全部核心技能。 嵌入式開發所包含的技術的多樣性和不斷擴展的功能,那么什么樣的技能對于工程師來說具有重要的競爭力,使其在就業市場中具有競爭力并發展其職業。 無需成為電氣工程師或芯片設計師,但是需要了解一些硬件。了解地址和數據總線,I2C和SPI等接口總線以及GPIO的工作原理。還應該具有有關GPIO及其相關電壓之類的基本電子學背景。這可以幫助您了解將嵌入式硬件與現實世界連接的基礎知識。 除此之外,還需要確定您對設備驅動程序,移植操作系統還是讓操作系統從頭開始運行感興趣。這些都需要具有讀取制造商數據表的能力,知道什么是寄存器以及如何操作寄存器中的位的能力。另一方面,如果只想專注于軟件,那么應用程序是僅嵌入(即,資源受限)還是具有實時和/或實時功能?對安全至關重要的影響?嵌入式,實時性和安全性至關重要,它們在許多方面都具有相關性,但是它們不是一回事,它們都需要稍微不同的技能。所有這些技能都可以學習。但是,大多數人都無法嘗試解決所有這些領域,特別是在他們的職業生涯初期。但是,可以制定一個計劃,該計劃從嵌入資源限制的“公正”開始。然后,轉到實時(軟實時和硬實時)。最后是對安全至關重要的(由于設計不良而導致的最苛刻的實時域)。 當今的嵌入式工程師有望熟悉開源技術,例如Linux,Zephyr,Tensorflow或RISC-V。實際上,開源技術和許可在嵌入式軟件中正變得無處不在。此外,SoC級的軟件優化技能對于性能,內存和功耗優化都越來越重要。隨著要求嵌入式工程師使用專用的硬件加速器(例如GPU,DSP,視頻,視覺,安全性和神經網絡加速器)做更多的事情,系統級的思考將變得更加重要。
|