藉由与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授权转载;连结原文网址)