概述
略.
环境及代码
虚拟机环境
笔者用的Ubuntu 16.04;
Ubuntu虚拟机镜像下载
交叉编译工具
- 根据不同平台选择不同的编译工具下载即可
这里笔者用的 RV1109平台开发板;
对应交叉编译工具为 gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
交叉编译工具下载 - 增加环境变量
下载解压好交叉编译工具,将编译工具加入到环境变量中;
根据实际路径修改;
vi bashrc
export PATH=/home/zwc/work/Tools/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin:/home/zwc/work/Tools/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/usr/bin:$PATH
- 执行命令
source ~/work/Tools/bashrc
LIBFFI
Micropython的编译需要依赖库libffi, 可以使用shell命令直接安装此库,但是交叉编译需要使用源码进行编译后才能编译成功;
wget ftp://sourceware.org/pub/libffi/libffi-3.0.13.tar.gz
tar zxvf libffi-3.0.13.tar.gz
cd libffi-3.0.13/
./configure --host=arm-linux-gnueabihf
make
生成的库及中间文件在libffi-3.0.13/arm-unknown-linux-gnueabihf/.libs
中;
实现
最后一句需要在一行中进行编译;
cd micropython
make -C mpy-cross
cd ports/unix
CFLAGS="-I/home/zwc/work/micropython/libffi-3.0.13/arm-unknown-linux-gnueabihf/include" LDFLAGS="-L/home/zwc/work/micropython/libffi-3.0.13/arm-unknown-linux-gnueabihf/.libs -lffi" CROSS_COMPILE=arm-linux-gnueabihf- make V=1
编译成功生成 micropython 可执行程序,放到开发板中执行即可
C库链接
亦可通过链接一些C库, 后续待完善
可先参考 Micropython链接C库