接觸過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 添加自定義類庫》的教程。