栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

NXP i.MX6ULL 移植python3.9.5

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NXP i.MX6ULL 移植python3.9.5

项目场景:

在眺望电子TW-AC6G-EVM开发板上移植python3.9.5:

编译环境及开发包:
主机:ubuntu18.04
交叉编译器:arm-linux-gnueabihf-gcc
QT5.12.8:qt-everywhere-opensource-src-5.12.8
开发板:TW-AC6G-EVM
Linux:Linux-4.1.15
串口工具:Xshell

注意:本文章的所有命令涉及到的路径均为眺望电子官方环境路径,需根据自身实际环境改变。本文所演示的平台来自于眺望电子 iMX6ULL ARM嵌入式平台,这是一个基于NXP iMX6ULL ARM处理器,主频800MH在 Cortex-A7的核心板。


解决方案: 1.Python3.9.5源码下载&解压

Python官网地址:https://www.python.org/downloads/source/,进入后点击如图1.1下载python3.9.5源码。

拷贝相应的源码Python-3.9.5.tar.xz到Ubuntu进行解压,命令如下:

xz -d Python-3.9.5.tar.xz
tar xvf Python-3.9.5.tar
2.编译HOST解释器

在交叉编译的时候需要在HOST PC上运行对应版本的Python程序,所以需要先编译HOST PC上面用的Python,运行以下命令

cd Python-3.9.5/
./configure --prefix=$PWD/../_install_host --enable-shared
make -j4
make install
make distclean

–-prefix指定的目录可自行修改,但不要放在Python-3.9.5目录里,因为后续执行make distclean会清掉一些文件。

把生成HOST PC端即_install_host目录中的bin和lib,加到环境变量里面去,后续交叉编译就会自动找到python3了,其指令如下:

export PATH=/home/twdz/_install_host/bin:$PATH
export LD_LIBRARY_PATH=/home/twdz/_install_host/lib:$LD_LIBRARY_PATH

输入以上指令后,在Ubuntu输入python3 指令 如图2.2所示:

3.配置交叉编译工具链

这里采用的是arm-linux-gnueabihf交叉编译工具链

/home/twdz/ctools/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc

配置交叉编译工具链命令如下:

cd Python-3.9.5/
mkdir _install
./configure --host=arm-linux-gnueabihf --build=armv7 --prefix=$PWD/_install --enable-ipv6 --enable-shared ac_cv_file__dev_ptmx="yes" ac_cv_file__dev_ptc="no"

–host是交叉编译工具链,–build表示编译出来的程序运行的处理器,–prefix表示安装目录。

4.编译&安装

在Python-3.9.5目录中,运行以下命令

make -j4
make install

安装完成后如图4.3所示

5.移植到开发板

将交叉编译出来的python目录(即图4.1中_install目录)中的 /bin/* 复制到开发板的/usr/bin中,将/lib/*复制到开发板的 /usr/lib中。

6.测试Python3.9.5

在开发板中输入python3,出现图6.1所示的信息。

测试python基础模块的导入如图6.2所示,退出Python可按Ctrl+Z键或输入exit()。

7.编译Python3其他模块

请根据其他相应模块先独自交叉编译,编译出对应的lib、include目录后,在第2小节configure配置命令中加入对应的目录,如下以下指令中的LDFLAGS、CPPFLAGS参数

./configure --host=arm-linux-gnueabihf --build=armv7 --prefix=$PWD/_install --enable-ipv6 --enable-shared ac_cv_file__dev_ptmx="yes" ac_cv_file__dev_ptc="yes" LDFLAGS="-L/home/twdz/zlib-1.2.11/build/lib" CPPFLAGS="-I/home/twdz/zlib-1.2.11/build/include"

此次测试了zlib模块的移植,如图7.1所示能成功加载zlib。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/350146.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号