交叉编译Python3.6.2,使用海思arm-hisiv200-linux-gcc,移植到arm开发板上

最近在学习Python,感觉使用Python可以快速的写出程序,比之前使用的C语言快多了,能省出很多时间。多学一点知识有更多的选择。本职工作是嵌入式开发,学习了Python后想移植到开发板上,尝试嵌入式软件能不能使用Python快速开发。


1、编译环境

编译电脑:

cat /etc/issue 为 Fedora release 19,

uname -a 为 3.9.5-301.fc19.x86_64

交叉编译器:海思Hi3535的官方编译器arm-hisiv200-linux-gcc,版本gcc version 4.4.1 (Hisilicon_v200(gcc4.4-290+glibc-2.11+eabi+nptl))


2、获取Python3.6.2源码。

本文写于2017年9月16日上午10点。最新的稳定版为Python3.6.2,可以去https://www.python.org/downloads/source/下载源码。

下载后的文件Python-3.6.2.tgz大小是22580749字节。使用tar -zxvf Python-3.6.2.tgz解压。进入解压后的目录。在我电脑上此绝对路径为/home/test/Python-3.6.2/


3、配置相关参数。

因为编译完成后需要运行make install ,把相关的库与头文件以及可执行程序放入一个目录里面,为了不影响Linux 编译电脑的Python环境,我们先建立一个文件夹用于存放最后生成的文件,这个文件夹就是最后需要复制到开发板的所有内容。这里在Python源码的根目录下建立一个mylib的文件夹。在我电脑上此文件夹的绝对路径为/home/test/Python-3.6.2/mylib

下面指定相关编译器为arm-hisiv200-linux-gcc等。--disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no这几个选项的来历是执行./configure XXX时给出的提示,根据提示添加的。

完整的配置参数是:

./configure CC=arm-hisiv200-linux-gcc CXX=arm-hisiv200-linux-g++ AR=arm-hisiv200-linux-ar RANLIB=arm-hisiv200-linux-ranlib --host=arm-hisiv200-linux --build=arm --disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --prefix=/home/test/Python-3.6.2/mylib


4、编译Python3.6.2

如果上面的配置没有出错的话,就可以执行编译的流程了。执行make进行编译。编译成功后执行make install,就可以在mylib文件夹下看到bin  include  lib  share四个文件夹了。

然后tar czvf mylib.tar.gz mylib,压缩文件夹,就可以把mylib.tar.gz复制到开发板上,使用tar zxvf mylib.tar.gz解压后就可以进到bin路径下使用./python3.6执行了。接下来可以建立软连接到此文件就可以执行.py结尾的文件了。


5、测试

在Python交互行里输入print("Hello World!")就可以正常运行了。下面给出编译的mylib.tar.gz,以及json和日历的测试程序。

你可能感兴趣的:(嵌入式)