查看: 2963|回复: 0

如何在MicroPython TPYBoard 添加自定义类库

[复制链接]
  • TA的每日心情
    慵懒
    2018-1-6 09:01
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-1-2 14:47:40 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 酥小小酥 于 2018-1-2 14:53 编辑

    开始之前,首先要感谢一下TPYBoard技术交流群(157816561)-云之初晓网友的分享。

    今天简单分享下如何将自己编写的一些Python脚本的类库添加到固件中,在使用时只需import调用,就像使用内置的pyb一样简单便捷;同时还有另外一个重要的功能,就是可以很好的保护源代码。比起生成mpy加密文件这种方式来说,显然添加到固件中会更加安全可靠。


    搭建micropython编译环境

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


    2.下载micropython源码包到本地,我下载到了home目录下。
    sudo git clone --recursive https://github/micropython/micropython
    MicroPython的源码结构

    1.png
    docs/         micropython的说明文档(restructuredText)
    drivers/          一些外接设备的实现例程(eg:ds18b20,nrf24l01)
    examples/ micropython的使用例程
    extmod/         C语言实现的模块
    lib/                 各类芯片的lib文件
    mpy-cross/ 自带的交叉编译器,可以将.py生成.mpy加密文件
    ports/         移植到各类MCU上的源码(eg:stm32,esp8266)
    tests/         测试框架和Python脚本
    tool+9s/         工具
    进入ports目录下你会发现,micropython根据不同的MCU运行平台进行了分类,比如esp8266就是运行在esp8266-WIFI模块上的micropythonstm32是运行在stm32上的,还有cc3200
    2.png
    然后进入stm32/boards目录下,里面又根据stm32不同的系列进行了划分。

    添加自定义Py类库

    3.回到stm32/目录下,将需要添加到固件中的Python脚本类库放到modules/目录下。编译之前,请确保程序运行无误。为了测试新建了一个test.py文件,简单写了两个函数。如下:

    import pyb

    def on():
    pyb.LED(4).on()
    def off():
    pyb.LED(4).off()

    4.执行编译命令,等待编译完成。

    sudo make BOARD=PYBV10

    BOARD参数为stm32/boards/目录下相应的开发板名称。
    本次教程用的是TPYBoardv102(蓝色)开发板,兼容PYBV10,所以选择PYBV10开发板编译。
    若是TPYBoardv102(绿色)基础板,同样选择PYBV10
    若是TPYBoardv102(黑色)开发板,需选择PYBV11

    3.png
    生成的固件在stm32/build-PYBV10/目录下的firmware.dfufirmware.hex文件。
    4.png

    5.dfuhex文件拷贝到本地,进行烧写。

    dfu文件的烧写教程,请参考:http//.tpyboard.com/support/reference11/302.html


    hex文件的烧写需要借助ST-LINK工具,请参考:http//.tpyboard.com/support/reference11/239.html

    6.烧写完毕后进行测试,在main.py文件输入以下内容:
    import pyb
    import test
    test.on()
    pyb.delay(1500)
    test.off()



    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-20 04:17 , Processed in 0.114137 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.