gzyueqian
13352868059

嵌入式开发:使用MicroPython进行实时软件开发

更新时间: 2022-09-14 14:13:32来源: 粤嵌教育浏览量:6036

  虽然像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可能只是嵌入式开发人员一直在寻找的工具之一。

免费预约试听课