TPYBoard MicroPython 固件开发教程使用 mpy-cross 工具生成 mpy 文件

2018-03-24 09:26:00 +08:00
 turnipsmart

接触过 Python 语言的人都知道,Python 可以编译成.pyc 文件,它是一种二进制文件,可以提高程序的加载速度,同时 也是一种保护源代码的有效方法。那么在 micropython 中,又该如何保护源程序呢? 贴心的 micropython 创始人也提供了类似的功能,可以将.py 文件编译成.mpy 文件。接下来,介绍一下具体的实现步骤。(本文主要以 Linux Ubuntu 系统为例)

搭建 micropython 编译环境

1.安装 arm-none-eabi-gcc 交叉编译工具和 gcc 编译器。

2.下载 micropython 源码包到本地,我下载到了 home 目录下。

生成 mpy 文件

1.切换到 /home/micropython/mpy-cross 目录执行 make,编译生成 mpy-cross 工具。

2.在 mpy-cross 目录新建一下 test.py 文件,输入点亮 LED4,用于测试。

import pyb

pyb.LED(4).on()

3.执行编译 mpy 文件的命令。

其他相关功能可查看同目录下的 README.md 文件。

4.命令执行成功后,你就能发现同目录下出现了一个 test.mpy 文件。

5.将 test.mpy 文件拷贝放到 TPYBoard v10x 的 TPFLASH 中,直接在 main.py 中 import 即可。

import test

6.重置 TPYBoard 使其重新运行程序,大家就会看到 LED4 亮起来了。

注意: 如果运行时出现“ ValueError: invalid .mpy file ”错误的话,需要更新一下 TPYboard 的 micropython 固件(最新版本是 1.9.3)。

micropython 官方下载地址: http://micropython.org/download

DFU-USB 接口烧写固件参考: http://tpyboard.com/support/reference11/302.html

ST-LINK 烧写固件参考: http://tpyboard.com/support/reference11/239.html

虽然是进行了加密编译成了 mpy 文件,但是还有一些缺陷,毕竟 mpy 文件仍然是存放在 TPFLASH 或 TF 卡中,很容易被别人拷贝,也很有可能会被反编译出来。 是否可以直接将 Python 脚本文件直接编译在固件中呢?答案显然是可以!想知道的话,

下一篇我分享下《 TPYBoard Micropython 添加自定义类库》的教程。

1608 次点击
所在节点    问与答
1 条回复
AlanGreen
2018-03-31 11:12:44 +08:00
请问啥时候会更新 「添加自定义类库」 的教程哇

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/440952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX