藉由與MicroPython團隊持續的合作開發,我們(編按:這裡指 Arduino 團隊)在此很高興向大家宣佈一項強大的新功能。
這項功能是什麼呢?
由即將發佈的版本(v1.23)開始,MicroPython 將基於產業標準 OpenAMP 框架(註一),在多核心微控制器上,提供對非對稱多重處理(AMP)的支援。(更多相關訊息,請參閱MicroPython openamp模組文件 。)
這使Arduino使用者能在多核心模組上,同時運行Arduino sketch與MicroPython程式,並在兩者之間進行通訊。而支援的開發板,包括了Arduino GIGA R1 WiFi、Portenta H7 及Nicla Vision。
Arduino與MicroPython之間的通訊,是透過使用遠端程序呼叫(Remote Procedure Call, 簡稱RPC,註二)來實現。這使Arduino用戶能受益於使用MicroPython的簡單性,同時解鎖從 MicroPython 對 Arduino 的所有豐富函式庫的存取。
若您發現自己想在專案中使用MicroPython,但卻被這個僅適用於Arduino語言的函式庫所困擾……您的問題現在已經解決了!
MicroPython AMP支援以下重要功能:
‧ 最小且用戶友好的 API
‧ 與 Arduino 的 RPC 函式庫相容
‧ 遠端處理器生命週期管理,例如載入韌體及啟動輔助核心。
‧ 支援同步及非同步遠端程序呼叫
‧ 從 MicroPython 存取 Arduino 的函式庫
關於MicroPython AMP更多詳細資訊,請參閱 Arduino 文件上,有關將 MicroPython 與 RPC 函式庫結合使用的雙核教程。
小結:您說話,我們聆聽!
MicroPython AMP 的功能,已出現在 Arduino 社群的願望清單上一段時間,因此,我們為社群用戶帶來這一項新的功能而感到自豪!我們更極為期待,看看這項新功能將為 Arduino 社群帶出何種創意的應用程式。最後,請在下方發表評論,或於專案中心分享您的努力!
(感謝Arduino.cc官網開放授權,使我們得以翻譯這篇文章,特此致謝!若讀者想要進一步閱讀原文,請點擊:閱讀原文,謝謝。)
註釋
註一:OpenAMP(Open Asymmetric Multi-Processing)是一項開放原始碼的軟體框架,專為非對稱多處理(AMP)系統的開發而設計。而OpenAMP提供了以下功能,可簡化 AMP 系統的開發及管理:
‧ 跨平台支援: OpenAMP 可在各種硬體平台上運作,包括了ARM、x86及PowerPC 。
‧ 可擴充性:OpenAMP的目的,在於容易擴展以適應新的處理器及設備。
‧ 靈活性:OpenAMP 提供各種API和工具,可讓開發人員根據需要自定義其系統。
註二:在分散式計算中,遠端程序呼叫(Remote Procedure Call)是一項電腦通訊協定。透過這項通訊協定,使執行於一台電腦的程式得以呼叫另一個位址空間(通常為一個開放網路的一台電腦)的子程式。這使得程式設計師得以如同呼叫本地端程式一般,無需額外為這個互動作用撰寫程式碼(改寫自維基百科遠端程序呼叫的條目內容)。
(本文由VMAKER授權轉載;連結原文網址)