在过去的几年里,Python已经成为一种热门的程序语言。以著名的Monty Python喜剧小组命名,该语言是面向对象和解释(未编译)。该属性导致Python在Linux和Windows等平台上以及Raspberry Pi等单板计算机上被采用。随着这种广泛且不断增长的采用,人们可能想知道在实时嵌入式系统中是否存在Python的位置。以下是开发人员可能会发现Python在实时嵌入式系统中扮演的五个角色。
设备控制和调试
在嵌入式软件开发过程中,开发人员经常发现自己在分析总线流量,如USB,SPI或I2C。有时,分析仅用于调试目的,但有时需要实际控制总线分析器并将消息发送到嵌入式系统。许多总线分析器和通信工具具有用户友好的界面,可用于控制工具。它们通常还提供了一种开发可用于控制工具的脚本的方法。Python是一种脚本语言,通常支持(有时仅用于)与工具接口和控制。
自动化测试
控制可以通过Python从嵌入式系统发送和接收消息的工具的能力开启了使用Python创建自动化测试的可能性,包括包括回归测试。可以开发Python脚本,将嵌入式系统设置为不同的状态,设置配置,并测试系统与外部世界可能存在的所有干扰和交互。使用Python进行自动化测试的一个优点是可以开发回归测试,不断测试和运行系统。将立即发现导致错误或不符合的任何代码更改。
数据分析
在Web上对Python库的简单搜索表明,有许多免费且功能强大的库可用于开发Python应用程序。Python可用于接收关键的嵌入式系统数据,然后可以将这些数据存储在数据库中或本地进行分析。然后,开发人员可以使用Python开发显示关键参数的实时可视化,或者存储和保存这些参数以供以后分析。使用Python进行数据分析的好处是基础工作已经完成; 功能很简单。
实时软件
事实证明,Python本身就是如此强大和易于使用,以至于Python甚至可以作为编程语言进入实时嵌入式系统。是的,嵌入式软件本身是用Python而不是C / C ++编写的。实时最广泛使用的Python版本是MicroPython端口,设计用于在ARM Cortex-M3 / 4等微控制器上运行。MicroPython并不孤单。Synapse和OpenMV等公司在嵌入式系统中使用Micro Python或自己的Python端口。有兴趣了解更多有关MicroPython的读者可能对DesignNews(EDN姊妹刊物)的持续教育课程感兴趣。还有一些概述文章可以在EDN的其他地方找到。
学习面向对象编程
Python是一种免费的编程语言,可以在多个平台上使用,学生和非编程类型可以轻松学习如何编程。与C不同,该语言也是现代的,并且能够以*形式的脚本类型方式或作为复杂的面向对象的体系结构进行结构化。Python也被证明非常通用。有些情况下,没有编程经验的电气工程师能够利用Python编写有用的测试脚本或以最少的时间投入执行电路板检查。
Python的学习曲线并不陡峭,熟悉它的开发人员发现它是一种易于从其他语言切换的语言。语言本身灵活,并且可以适应在基于微控制器的环境中工作。