在实际开发中,难免会遇到编译Micropython源码的情况:比如当前固件损坏、固件版本升级、需要裁剪固件节省空间等。本文介绍在Linux环境中编译Micropython源码并下载到TPYBoard运行的流程。
获取Micropython源码
Linux环境下获取Micropython源码非常简单,使用git clone:
git clone https://github.com/micropython/micropython.git
安装arm-none-eabi交叉编译器
到 官网 下载arm-none-eabi安装包,我使用的是gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2。
解压:tar jxvf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
解压后生成目录gcc-arm-none-eabi-5_4-2016q3,编译器指令在bin目录中。
将交叉编译器加入环境变量:
在/etc/profile文件末尾添加export PATH=/opt/mpy_compiler/gcc-arm-none-eabi-5_4-2016q3/bin:$PATH
执行source /etc/profile
输入arm-none-eabi-gcc -v验证编译器安装、设置结果,能够成功返回编译器信息则表示安装成功。
X86 Linux GCC版本约定
我使用的centos默认gcc版本为4.4.7,在编译mpy-cross过程中报错:py/objdict.c:473: error: dereferencing pointer ‘o’ does break strict-aliasing rules,