V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
turnipsmart
V2EX  ›  问与答

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

  •  
  •   turnipsmart · 2018-03-24 09:26:00 +08:00 · 1601 次点击
    这是一个创建于 2465 天前的主题,其中的信息可能已经有所发展或是发生改变。

    接触过 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 添加自定义类库》的教程。

    1 条回复    2018-03-31 11:12:44 +08:00
    AlanGreen
        1
    AlanGreen  
       2018-03-31 11:12:44 +08:00 via Android
    请问啥时候会更新 「添加自定义类库」 的教程哇
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   844 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:32 · PVG 05:32 · LAX 13:32 · JFK 16:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.