嵌入式開發(fā)就像一個循環(huán),開發(fā)人員得到一個新項目; 構(gòu)思設(shè)計; 開發(fā)低級微控制器驅(qū)動程序、中間件和應(yīng)用程序代碼; 然后花費(fèi)大量時間來驗證和測試系統(tǒng)。 在產(chǎn)品推出的那一刻,另一個產(chǎn)品開始了一個時間循環(huán),開發(fā)人員開始開發(fā)低級 MCU 驅(qū)動程序、中間件等。
使開發(fā)嵌入式軟件成為一種令人沮喪的體驗的原因在于,雖然新產(chǎn)品具有需要探索和開發(fā)的很酷的特性和技術(shù),但大部分開發(fā)周期都花費(fèi)在學(xué)習(xí)低級 MCU 硬件和編寫驅(qū)動程序上。 低級固件開發(fā)無疑很有趣,但翻閱那些 2000 頁的手冊非常耗時,而且是一個極易出錯的過程。
傳統(tǒng)方法的問題之一是世界各地的工程師都在重復(fù)完全相同的驅(qū)動程序開發(fā),專注于重新發(fā)明輪子。 對驅(qū)動程序開發(fā)和 MCU 的關(guān)注將注意力和時間從產(chǎn)品功能差異化和設(shè)計創(chuàng)新上轉(zhuǎn)移開來。 在一個首先進(jìn)入市場至關(guān)重要的世界中,浪費(fèi)數(shù)月時間來簡單地啟動處理器并與驅(qū)動程序一起運(yùn)行并不是成功的秘訣。
微控制器供應(yīng)商開始提供許多潛在的解決方案,以幫助簡化嵌入式開發(fā)人員的開發(fā)周期。多年來,零部件工廠越來越受歡迎。組件工廠是 STMicroelectronics 的 STM32CubeMx 和 Freescale Semiconductor 的 Processor Expert 等工具。組件工廠非常擅長協(xié)助微控制器的配置和設(shè)置,但通常會生成晦澀難懂且不易于人類閱讀的代碼,或者過于模糊以至于需要花費(fèi)大量時間才能理解它在做什么。組件工廠可以解決 MCU 配置問題,但中間件和第三方組件的集成仍然很困難。
基于微控制器的產(chǎn)品正逐漸變得越來越復(fù)雜,而復(fù)雜性是由于對更多軟件功能的需求而產(chǎn)生的。 微控制器制造商正在認(rèn)識到固件開發(fā)問題,并開始為工程師提供一些解決方案,以幫助使事情變得更容易。 隨著微控制器變得更加強(qiáng)大和復(fù)雜,額外的幫助是不可避免的。 在為運(yùn)行 Windows 或 Linux 的通用計算設(shè)備開發(fā)應(yīng)用程序時,是否有人會挖掘 CPU 的數(shù)據(jù)表并從最低級別的硬件開始? 不會。開發(fā)人員將從 .Net 開始,它是旨在加快開發(fā)速度的框架和庫的集合。
微控制器抽象和生產(chǎn)就緒的驅(qū)動程序和中間件包是不可避免的。 微控制器開始變得非常復(fù)雜,就像 1990 年代早期存在的計算機(jī)處理單元一樣復(fù)雜,并且早于當(dāng)今許多設(shè)備構(gòu)建的框架和計算庫。 與 20 年前在一般行業(yè)中發(fā)生的革命相比,嵌入式開發(fā)人員能否期待一場革命?