LiteOS组件尝鲜-玩转Micropython

举报
Lionlace 发表于 2021/12/10 15:13:27 2021/12/10
【摘要】 MicroPython的由来Python作为一款基础的简单上手的计算机语言,广受开发者喜爱。美中不足的是Python不能实现对底层的操作,在硬件领域不能很好地发挥作用。于是计算机工程师Damien George利用6个月时间研究能否用Python来控制单片机,从而实现对机器人的操作,最终,MicroPython问世了。基本介绍MicroPython旨在能够在微控制器和小型嵌入式系统上实现Py...

MicroPython的由来

Python作为一款基础的简单上手的计算机语言,广受开发者喜爱。美中不足的是Python不能实现对底层的操作,在硬件领域不能很好地发挥作用。于是计算机工程师Damien George利用6个月时间研究能否用Python来控制单片机,从而实现对机器人的操作,最终,MicroPython问世了。

基本介绍

MicroPython旨在能够在微控制器和小型嵌入式系统上实现Python 3.x。MicroPython不依赖底层硬件,理论上可运行在所有的开发板上,但其运行时需要占用一定的内存(内存大小可通过menuconfig菜单中的Micropython Head Size设置,默认为4096字节)。开发板内存太小可能导致其无法运行。

本文档以Linux开发环境及STM32F769IDISCOVERY开发板为例,简单介绍LiteOS上Micropython命令的使用。

开启Mcropython

首先拷贝STM32F769IDISCOVERY的默认配置文件替换当前配置文件,在Linux系统的LiteOS源码根目录下,执行如下命令:

~/Huawei_LiteOS$ cp tools/build/config/STM32F769IDISCOVERY.config .config

执行如下命令打开LiteOS menuconfig菜单。

~/Huawei_LiteOS$ make menuconfig

按如下路径开启Micropython组件及命令。

Components --->
FileSystem --->
[*] Enable RAMFS
Language --->
[*] Enable Micropython
(4096) Micropython Head Size

注:RAMFS为可选组件,如选择该组件,可生成一个/ramfs/hello.py示例文件,在LiteOSshell中执行micropython /ramfs/hello.py命令可查看其运行结果,Micropython组件依赖vfs,开启Micropython组件后,vfs即自动开启。

保存退出,此时LiteOS会从github自动下载Micropython源代码,关于组件下载的详细流程请参考:https://gitee.com/LiteOS/LiteOS_Components#%E5%9C%A8%E7%BA%BF%E7%BB%84%E4%BB%B6%E4%B8%8B%E8%BD%BD%E6%B5%81%E7%A8%8B

待下载完成后,执行如下命令编译LiteOS工程。

~/Huawei_LiteOS$ make clean;make -j

编译成功后将在out/STM32F769IDISCOVERY/lib目录下生成组件静态库文件libmicropython.a,生成的系统镜像文件为Huawei_LiteOS.bin。

注:下载需要Linux主机可以访问互联网,并安装git


Micropython命令

查看Micropython命令是否生效

按上述方法使能Micropython后,命令会被编译进系统镜像文件中。使用串口工具进入shell,输入help命令,如果显示Micropython命令,则表明已经生效。

********Hello Huawei LiteOS********
LiteOS Kernel Version : 5.1.0
build date : Dec 8 2021 10:11:04
**********************************
OsAppInit
cpu 0 entering scheduler
app init!
Hello, welcome to liteos demo!
Huawei LiteOS # help
*******************shell commands:*************************
cd date free help hwi log ls memcheck
micropython mkdir pwd swtmr systeminfo task uname watch
Huawei LiteOS #

查看Micropython命令的使用帮助信息。

进入shell, 输入micropython -h

Huawei LiteOS # micropython -h
Usage: micropython [options]
Options:
-h, --help print this help
-v, --version print tool and library version
FILE input python file
Huawei LiteOS #

运行hello.py文件。

Huawei LiteOS # micropython /ramfs/hello.py
This test run the following script code:
print("Hello, wlorld! I'm Micropython.")
a = 8
b = 512
c = a + b
print(c)
print(b"bytes 3344")
for i in range(4):
print(i)
Hello, wlorld! I'm Micropython.
520
b'bytes 3344\x01'
0
1
2
3
Huawei LiteOS #

Micropython当前的支持的功能还比较有限,后续将持续丰富及改进,以方便使用。


结语

未来我们还会持续新增更多组件、开发板、架构、特性等。

感谢您的阅读,有任何问题、建议,都可以留言给我们,让我们一起进步:

https://gitee.com/LiteOS/LiteOS/issues。

为了更容易找到“LiteOS”代码仓,建议访问https://gitee.com/LiteOS/LiteOS,关注“ Watch”、点赞“Star”、并“Fork”到自己账号下,如图所示。


-end-





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。