AN0076 应用笔记 |
Micropython Based On AT32 RTT |
前言
本文档主要讲述如何在基于AT32 RT-Thread的源码包中开启并下载Micropython开源包,并简单描述和展示了Micropython在AT32系列MCU上正常运行起来后的现象及python语句的执行结果。
支持型号列表:
支持型号 | AT32F系列 |
目录
1 AT32 RTThread Micropython快速使用方法.. 5
2 menuconfig配置开启Micropython. 6
3 在线download Micropython包... 8
表目录
图目录
以AT-START-F403A示例,其资源如下:
图1. AT-START-F403A V1.0
rt-thread源码请到RT-Thread · GitHub进行下载。
AT32支持RTThread的BSP包在rt-thread的存放目录结构为xxx/rt-thread/bsp/at32。
Note: rt-thread源码包的使用方法请采用rt-thread官方提供的ENV工具及用户手册进行配置和使用。
- menuconfig配置开启Micropython
打开ENV工具,以下以at32f403a-start为例,切换目录到at32f403a-start包目录下,运行menuconfig。按menuconfig操作方式逐级进入并打开Micropython配置项。流程如下:RT-Thread online packages ---> language packages---> [ * ]MicroPython: A lean and efficient Python implementation for …
图示及操作如下:
- 打开menuconfig后可看到如下图例,按键盘方向下键移动光标到RT-Thread online packages并点击回车键
图2 online packages
- 显示如下界面时,使用键盘方向下键移动光标到language packages并点击回车键
图3 language packages
- 显示如下界面时,将光标移动到MicroPython: A lean and efficient Python …并点击键盘空格键, [*]即表示配置已选中。逐级退出menuconfig并保存配置。
图4 Micropython配置项
注:为保证python能正常运行,最好确保将启动python的线程的堆栈大小配置为>=8192。如在shell中来使用python,则配置RT-Thread Components ---> Command shell ---> (4096)The stack size for finsh thread。选中此处回车后的对话框中将4096修改为>=8192
注:需保证外网连接正常
- 使用命令pkgs --upgrade,运行成功后显示如下:
图5 pkgs源更新
- 再使用命令pkgs --update,运行成功后显示如下:
图6 pkgs下载
- 当Micropython包下载完成后可在xxx/rt-thread/bsp/at32/at32f403a-start目录下看到新增了一个packages文件夹,点击打开即可看到新下载的micropython-v1.10.4源码包就存放在此。内容如下:
图7 Micropython源码包
在ENV控制台输入如下命令可生成IDE开发工程和编译。
scons –target=mdk5 | 生成keil_v5工程文件 |
scons –target=mdk4 | 生成keil_v4工程文件 |
scons –target=iar | 生成iar工程文件 |
scons | 使用gcc交叉编译工具链进行编译 |
编译完成后下载运行。PC串口接上USART1,在串口控制台输入help命令(或串口工具发送help字符串)后可看到有关python的命令及介绍。操作及内容如下:
\ | / - RT - Thread Operating System / | \ 4.0.3 build Mar 30 2020 2006 - 2020 Copyright by rt-thread team msh />help RT-Thread shell commands: python - MicroPython: `python [file.py]` execute python script list_fd - list file descriptor date - get date and time or set [year month day hour min sec] version - show RT-Thread version information list_thread - list thread list_sem - list semaphore in system list_event - list event in system list_mutex - list mutex in system list_mailbox - list mail box in system list_msgqueue - list message queue in system list_memheap - list memory heap in system list_mempool - list memory pool in system list_timer - list timer in system list_device - list device in system … |
当输入python命令即可看到MicroPython运行及显示了当前Micropyhon的版本信息等,再在Python控制台输入python命令print(“hello world”),可看到python能正常打印,操作及显示如下:
python MicroPython v1.10.3.99 on 2019-09-24; Universal python platform with RT-Thread Type "help()" for more information. >>> print("hello world") hello world >>> |
如需深入测试与使用可编写python脚本来运行,举例如现有test.py可运行,可在console输入命令,执行结果以脚本内容为准,操作如下:
\ | / - RT - Thread Operating System / | \ 4.0.3 build Mar 30 2020 2006 - 2020 Copyright by rt-thread team msh />python test.py … |