雖然像Ada和C 這樣的語言已經在某些圈子里獲得了一些采用,但是在很大程度上,嵌入式軟件仍然被過程化的和危險的C編程語言所支配。然而,一個有趣的趨勢開始將Python移植到微控制器上。最近,Python 3.5端口,即MicroPython,在業余愛好者和專業嵌入式開發人員中間越來越受歡迎和采用。
MicroPython 組織將 MicroPython 描述為“針對在微控制器上運行而優化的 Python 3 編程語言的精簡和快速實現”。 MicroPython 在裸機上運行,并使用稱為 pyb 的自定義類來訪問主機微控制器的低級外設。 pyb 類為開發人員提供了對中斷、定時器、LED、ADC、PWM、I2C、SPI 和 CAN 等外設的抽象訪問。 對于覺得這些對象無法對微控制器提供足夠控制的開發人員,還有一個 C API 可用于遍歷抽象并直接訪問微控制器寄存器。
已經存在許多不同的MicroPython端口,但是主要的旗艦運行在PyBoard開發平臺。PyBoard基于STM32F405RG微控制器,內置一個運行頻率為168 MHz的ARM Cortex-M4內核和一個硬件浮點加速器。微控制器有1MB的閃存和192 kB的RAM。如果1 MB的閃存空間不夠,嵌入式開發人員可以使用外部高密度微型SD卡來存儲Python腳本。
MicroPython為開發人員提供了一種易于使用、人類可讀的編程語言,它抽象出了硬件層,并允許開發人員專注于應用程序。Python長期以來一直是一種流行的可移植編程語言,以其解釋性語言特性和簡單的學習曲線而聞名。對Python開發人員的需求一直在穩步增長,這種語言已經在許多行業和技術領域得到了應用。Python本身的可移植性允許在目標硬件可用于測試之前很久就開發和測試算法。
開發人員也不應該忘記Python不僅僅是一種腳本語言,還是一種面向對象的編程語言。面向對象的編程技術可以用來創建可移植、可維護、模塊化和可擴展的軟件。
MicroPython 的有趣之處在于它遵循 MIT 軟件許可證,并且可以在 github 上免費獲得用于移植和修改。嵌入式開發人員選擇 STM32F401RE 等功能稍差的 MCU 將成本減半(連同時鐘速度和一些其他功能),同時仍保持 MicroPython 系統的完整性。 更便宜的 MCU 的 C 語言軟件開發成本可能無法應對匹配 MicroPython 的挑戰。
MicroPython能與C競爭或取代C嗎?當然,有充分的理由向更高級的面向對象編程語言發展。然而,總體開發成本仍然是一個灰色地帶,尤其是對于高容量的項目。
毫無疑問,有一點是肯定的:嵌入式軟件開發人員迫切需要新的工具來幫助他們在21世紀的嵌入式系統設計的泥潭中導航。MicroPython可能只是嵌入式開發人員一直在尋找的工具之一。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。