板子申请了也有一段时间了,也快到评测截止时间了,想着做点有意思的东西,正好前一段时间看到过可以在MCU上移植MicroPython的示例,就自己尝试一下,记录移植过程。
MicroPython是什么程序猿中有句俗语:人生苦短,我用Python。Python的强大和易用性让它不仅可以写网站,编程序,在嵌入式领域也有一席之地。
MicroPython,是Python3编程语言的一个完整软件实现,包括Python标准库的一小部分,用C语言编写,经过优化可在微控制器和受限环境中运行。MicroPython是运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符(REPL)来立即执行所支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问低层硬件的模块。
MicroPython官方网站:MicroPython - Python for microcontrollers (http://www.micropython.org/)
MicroPython中文社区:micropython - 中文社区(http://www.micropython.org.cn/bbs/ )
从官方网站我们可以了解到,官方开发板主要有以下几种:
PYB Nano V1.1基于STM32F401
PYB Nano V2基于STM32F411
另外还支持其他系列的开发板:
WiPy
MicroPython移植和板子关系不大,主要支持的是芯片,如果自己的板子芯片是上面的这些型号,也可以刷MicroPython固件,对应的IO口需要更改,而且需要重新编译生成对应的固件。具体操作方法可以查看:官方Github地址:https://github.com/micropython/micropython,里面包括了源代码和Linux下的编译方法。开发板固件下载:MicroPython downloads(http://www.micropython.org/download)
Nucleo-F411RE移植MicroPython固件正好MicroPython支持本次申请的Nucleo-F411RE开发板,就试着把刷成MicroPython的固件,尝试一下使用Python来开发STM32,具体移植过程。
1.准备工作下载完成后,安装DFU下载软件DfuSeDemo,非常简单,一路Next就行,在选择安装目录时,可以选择非系统盘。
3.硬件连接由于Nucleo-F411RE板子的USB口是连接到ST-Link调试器,并没有一个连接到STM32 USB引脚的接口,所以我使用的是这种转接板,把USB的5个信号转接成5个排针,并和板子上的引脚连接:
转接板 | 开发板 |
---|---|
VBUS | 3.3 |
D- | PA11 |
D+ | PA12 |
IO | GND |
GND | GND |
和串口下载程序一样,使用DFU烧录固件前,也要先把STM32切换为系统存储器启动模式:即下载模式。上电之前要先设置BOOT0=1,BOOT1(PB2)=0,然后烧录MicroPython固件。
安装Putty,打开串口终端,选择ST-Link虚拟串口号,波特率115200
按一下板子上的黑色复位按键,串口输出:
) -- get a pin and configure it for IO mode m, pull mode p
点亮板载的绿色LED,串口输入命令点亮和熄灭LED
更多Python控制外设的命令:Quick reference for the pyboard (http://docs.micropython.org/en/latest/pyboard/quickref.html)
参考资料作者: whik, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3887760.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
Lgnited 2020-12-18 09:36
pidaneng 2020-9-3 22:31
泥人 2019-7-18 11:55
curton 2019-6-5 20:50