爱板网论坛

查看: 126|回复: 1

[原创] [盈鹏飞EVB-P6UL试用]交叉编译python到板子上->照化[3]

[复制链接]

5

主题

0

好友

101

积分

童生

Rank: 2

该用户从未签到

发表于 2017-11-30 11:09:31 |显示全部楼层
本帖最后由 wangao2010 于 2017-11-30 11:27 编辑

零、
    后面做的一些功能会在板子上用到python,所以先在板子上要运行起来python的解析环境;在这里要感谢爱板网和盈鹏飞给的这样的一个环境来验证我的功能。交叉编译python解析环境到盈鹏飞EVB-P6UL(linux-3.14)可谓是一波三折,前前后后折腾了一周多的时间,还好最后成功了。
    先放一些python相关的入门资料在这里;其中网盘中的资源包含我已经交叉编译好的已经在盈鹏飞EVB-P6UL(linux-3.14)板上验证可用的文件,下载下来后直接拷贝到板子上就可以使用的。

一、python网站
1.资料网站
    1.1.python官网:https://www.python.org/
    1.2.python百科:https://baike.baidu.com/item/Python/407313?fr=aladdin
    1.3.runoob网python基础教程:http://www.runoob.com/python/python-tutorial.html
    1.4.廖雪峰的官网python2.7教程:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000
2.交叉编译python的资源
    2.1网盘python2.7.3资源:https://pan.baidu.com/s/1jIelDf4
         网盘资源里有已经交叉编译好的可以直接在盈鹏飞EVB-P6UL(linux3.14)上直接运行的pythonarm压缩包解压后放到SD卡中插入板子可以直接使用。

云盘资料

云盘资料

    2.2交叉编译参考博客参考:(http://blog.csdn.net/dongchangc/article/details/53909852)

二、交叉编译python2.7.3
2.1.编译环境
    PC端用的是运行再物理机上的64位ubutnu16.04LTS桌面版,已经部署好盈鹏飞官网所下载的arm-linux-gcc编译环境
pc机ubuntub版本.png

2.2编译步骤
2.2.1第一步:编译X86版本PYTHON
在PC机上打开超级终端,获取root权限,cd进入到python源码目录:
用#./configure运行configure程序
编译python和Parser/pgen
#make python Parser/pgen
将编译好的pc版python可执行文件和pgen可执行配置文件备份,备份的文件在下面的交叉编译时会用到;
#mv python python_for_build
#mv Parser/pgen Parser/pgen_for_build
清理编译好的项目文件,为后面的交叉编译做准备
#make distclean
2.2.2第二步:给python打补丁
python2.7.3版本对应的补丁放在云盘资源文件夹里,下载下来后放到python原文件根目录下;
#patch -p1 < python-2.7.3-xcompile.patch
执行前要注意python补丁的在文件夹中的位置,还有python补丁文件的首字母大小写;
2.2.3第三步:交叉编译python
a.配置make的环境变量:
#CC=arm-linux-gcc CXX=arm-linux-g++ AR=arm-linux-ar RANLIB=arm-linux-ranlib ./configure --host=arm-linux --build=x86_64-linux-gnu --prefix=/opt/python-arm/
目录文件这个prefix=/opt/python-arm/=号后面填写你需要便宜完成后文件需要存放的目录地址;

make

make

pc create

pc create

b.编译armlinux版程序(这里就用到前面复制的pc版python可执行文件和可执行配置文件)
#make HOSTPYTHON=./python_for_build HOSTPGEN=./Parser/pgen_for_build BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux- CROSS_COMPILE_TARGET=yes HOSTARCH=arm-linux BUILDARCH=x86_64-linux-gnu
c.安装armlinux版程序
#make install HOSTPYTHON=./python_for_build BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux- CROSS_COMPILE_TARGET=yes prefix=/opt/python-arm/
和参考博客不同,在这里最后的--prefix=/opt/python-arm/除了文件目录要改成和配置make环境中目录相同外还需要将--prefix前的两个--去掉。

arm make

arm make

交叉编译完成

交叉编译完成



三、盈鹏飞EVB-P6UL(linux3.14)验证python解析器
                      Hello World大法
    拷贝编译好的文件到SD卡然后将SD卡插入到盈鹏飞EVB-P6UL板上,打开mincom串口超级终端通电,运行python;

sdhelloworld

sdhelloworld



四、结束
      python2.7.3交叉编译到EVB-P6UL(linux3.14),并成功运行;后面会先帮python跑的应用程序放一放。先用C做以太网通信,尝试加上现在物联网常用的mqtt协议。
回复

使用道具 举报

25

主题

12

好友

3473

积分

超级版主

Rank: 8Rank: 8

该用户从未签到

发表于 2017-11-30 13:18:06 |显示全部楼层
勤劳的可依来围观,顺便留个爪
t018f6d54e01f808ab1.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

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

手机版|爱板网 |网站地图  

GMT+8, 2017-12-15 01:03 , Processed in 0.286344 second(s), 12 queries , Memcache On.

苏公网安备 32059002001056号

Powered by Discuz!

回顶部