Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >zynq平台移植python3.10.5

zynq平台移植python3.10.5

作者头像
Linux兵工厂
发布于 2023-02-28 04:53:38
发布于 2023-02-28 04:53:38
1.1K00
代码可运行
举报
文章被收录于专栏:Linux兵工厂Linux兵工厂
运行总次数:0
代码可运行
  • 主机:ubuntu16.04
  • 下载python3.10.5源码(https://www.python.org/downloads/release/python-3105/)

1. x86下安装python3.10.5

在交叉编译python3之前需要在ubuntu主机上安装对应的x86版本,因为交叉编译时需要用到python解释器。ubuntu16.04下安装python3.10.5

1.1 安装ctypes模块需要的库文件libffi

  • 下载libffi-3.4.2源码(https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz)
  • 编译
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar zxvf libffi-3.4.2.tar.gz
cd libffi-3.4.2
./configure --disable-docs
make
make install

1.2 编译安装python3.10.5

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar xvf Python-3.10.5.tar
cd Python-3.10.5
export LD_LIBRARY_PATH=/usr/local/lib
export LD_RUN_PATH=/usr/local/lib
./configure --enable-optimizations LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I /usr/local/include"
make
make install

2. 交叉编译python3.10.5

交叉编译ctypes模块需要的库文件libffi

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar zxvf libffi-3.4.2.tar.gz
./configure --prefix=/opt/Xilinx2018_zynq/zynq_Python/Modules/libffi --build=x86_64-linux-gnu --target=arm-linux-gnueabihf --host=arm-linux-gnueabihf CC=/opt/Xilinx/SDK/2018.3/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-gcc CXX=/opt/Xilinx/SDK/2018.3/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-g++ AR=/opt/Xilinx/SDK/2018.3/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-ar RANLIB=/opt/Xilinx/SDK/2018.3/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-ranlib --disable-docs
make
make install

2.1 交叉编译python3.10.5

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar xvf Python-3.10.5.tar
cd Python-3.10.5
export LD_LIBRARY_PATH=/opt/Xilinx2018_zynq/zynq_Python/Modules/libffi/lib
export LD_RUN_PATH=/opt/Xilinx2018_zynq/zynq_Python/Modules/libffi/lib
./configure --prefix=/opt/Xilinx2018_zynq/zynq_Python/zynq_Python3.10.5 --build=x86_64-linux-gnu --target=arm-linux-gnueabihf --host=arm-linux-gnueabihf CC=/opt/Xilinx/SDK/2018.3/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-gcc CXX=/opt/Xilinx/SDK/2018.3/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-g++ AR=/opt/Xilinx/SDK/2018.3/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-ar RANLIB=/opt/Xilinx/SDK/2018.3/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-ranlib ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=yes --disable-ipv6 --with-ensurepip=yes --enable-optimizations LDFLAGS="-L/opt/Xilinx2018_zynq/zynq_Python/Modules/libffi/lib" CPPFLAGS="-I/opt/Xilinx2018_zynq/zynq_Python/Modules/libffi/lib"
make 
make install

2.2 打包python文件到目标板

  • tar cvf zynq_Python3.10.5.tar zynq_Python3.10.5
  • cp libffi.so.8.1.0 至目标板/usr/lib/
  • cd /usr/lib && ln -s libffi.so.8.1.0 libffi.so && libffi.so.8;libffi库是ctypes模块所需要的
  • tar zynq_Python3.10.5.tar至相应的目录,在/usr/bin/目录下建立python3解释器的软连接:cd /usr/bin && ln -s /app/zynq_Python3.10.5/bin/python3.10 python3

至此,python3环境已移植到目标板,运行python3命令来验证

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux兵工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
移植zynq平台下UbertoothOne运行环境
Ubertooth One是一款开源蓝牙扫描嗅探器,当然了,也可以扫描嗅探低功耗蓝牙,Ubertooth One是适用于蓝牙实验的开源2.4 GHz无线开发平台。
Linux兵工厂
2023/02/28
1.1K0
移植zynq平台下UbertoothOne运行环境
一步一步解读神经网络编译器TVM(二)——利用TVM完成C++端的部署
在上一篇文章中<一步一步解读神经网络编译器TVM(一)——一个简单的例子>,我们简单介绍了什么是TVM以及如何利用Relay IR去编译网络权重然后并运行起来。
老潘
2023/10/19
1.4K0
一步一步解读神经网络编译器TVM(二)——利用TVM完成C++端的部署
Qt5.7.1添加支持openssl
将新生成的libQt5NetWork、libQt5WebSocket相关的库文件替换;然后再把openssl相关的库libssl、libcrypto放在目标板下
Linux兵工厂
2023/02/28
1.6K0
Qt5.7.1添加支持openssl
一次搞定 Arm Linux 交叉编译
交叉编译其实是相对于本地编译(native build)来说的,我相信大家最开始学习 C/C++ 这些语言的时候,都是在电脑上写程序,然后在电脑上编译生成可执行文件,最后在电脑上运行。程序的编辑——》编译——》运行,整个过程都是在一台 X86 电脑上。
HackforFun
2020/01/13
30K7
一次搞定 Arm Linux 交叉编译
python及第三方库交叉编译
  网上关于python的交叉编译的文章很多,但是关于python第三库的交叉编译的文章就比较少了,而且很多标题是第三方库的交叉编译,但是实际上用到的都是不需要交叉编译就能用的库,可参考性不强,最近关于python及其第三方库的交叉编译也踩了不少坑,记录一下!
Se7eN_HOU
2022/10/05
5.5K1
python及第三方库交叉编译
嵌入式Linux:编译和使用Protobuf库
Protobuf(Protocol Buffers)是由 Google 开发的一种轻量级、高效的结构化数据序列化方式,用于在不同应用之间进行数据交换和存储。它可以用于多种编程语言,并支持自动生成代码,使得数据结构定义和序列化/反序列化过程更加简洁和高效。
不脱发的程序猿
2024/05/26
8440
嵌入式Linux:编译和使用Protobuf库
zynq平台蓝牙协议栈移植
虚拟机环境:Ubuntu16.04.3 编译安装bluez-libs-3.36 下载 (http://www.bluez.org/download/) ./configure --prefix=/opt/bluez/bluez-libs-3.36 --host=arm-linux --target=arm-linux CC=arm-linux-gnueabihf-gcc make sudo make install 编译安装expat-2.5.0 下载 (https://github.com/libe
Linux兵工厂
2023/02/28
2.8K0
zynq平台蓝牙协议栈移植
交叉编译的Linux的头文件路径
我们交叉编译Linux的时候可能需要添加新的头文件,这个头文件放在哪里。编译应用程序和内核程序不太一样,分别说。
用户9736681
2023/02/20
11.1K0
交叉编译的Linux的头文件路径
python能开发arm_获得通用技能的方法
看了很多资料介绍如何将python移植到嵌入式设备当中,但总感觉杂乱五章,还移植不成功,但是经过我的多方摸索,成功的探索出了一条阳光大道,供各位网友借鉴参考。
全栈程序员站长
2022/11/07
9780
python能开发arm_获得通用技能的方法
交叉编译环境的安装
我们在Linux中使用自带的gcc和g++编译器进行编译的程序是针对X86架构的。而我们开发板大多都是ARM或者其他架构的开发板,我们就需要编译出针对其他架构的程序。
手撕代码八百里
2021/09/26
2.5K0
让终端支持播放mp3,移植mp3解码库libmad和madplay到嵌入式linux
MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3)。LIBMAD 提供 24 -bit 的 PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3 数据解码工作。
杨永贞
2020/08/04
2.8K0
Qt-4.8.7交叉编译平台的搭建、移植详解( aarch32、aarch64 、mips64)「建议收藏」
1. 准备下载相关的交叉编译器gcc (1)、aarch32架构的交叉编译器 因为系统是ubuntu 14-04的版本,可以直接使用安装的方式去安装aarch32架构的交叉编译器。也可以按照aarch64架构的方式去下载aarch32的交叉编译器,建议g++版本低一点,4.8.4左右。 sudo apt-get install g++-arm-linux-gnueabihf 执行命令成功后,使用 命令 arm-linux-gnueabihf-g++ -v 查看到安装的版本值,安装成功! 版本值显示如下图:
全栈程序员站长
2022/11/07
9.8K0
嵌入式linux实时操作系统及应用编程pdf(嵌入式linux都有哪些调试信息)
项目遇到一个问题,就是程序在Ubuntu下运行的时候是正常的,至少大部分时候运行是正常的,但是移到开发板上,就会出现段错误。这时候突然想到了GDB,从来都没有接触过调试工具,以前的调试都是使用printf直接打印的方式!!!效率极低!准备鸟枪换炮!!!
全栈程序员站长
2022/07/30
2.9K0
protobuf在嵌入式linux下的移植及c语言调用
关于什么是protobuf,网上搜搜一大堆,很多人用的都还是json,以为json是多种语言传输数据是万能的,看完了protobuf的实现,就明白了简单高效才是王道。
杨永贞
2020/08/05
7.1K0
AD936x+ZYNQ搭建收音机(三)-终篇
非官方板卡也需要在官方提供的历程上进行修改,这样节省时间,而且AD936X的IP也需要参考官方的IP。
碎碎思
2021/06/09
1.5K0
AD936x+ZYNQ搭建收音机(三)-终篇
【分享】MPSoC交叉编译例子
有工程师反馈,使用A53交叉编译器直接编译最简单的C文件,编译器也报告。"stdio.h: No such file or directory"
hankfu
2020/10/26
1.2K0
【分享】使用Xilinx PetaLinux ARM64 SDK,交叉编译第三方软件
以前为ARM64编译软件包,直接在Makefile里指定交叉编译器、sysroot的路径,就能成功编译。
hankfu
2022/03/23
2.8K0
移植python2.7.3到arm li
http://blog.csdn.net/lz_obj/article/details/52620276
py3study
2020/01/06
4K1
curl交叉编译方法
arm平台curl交叉编译方法。 基于curl + openssl + zlib 的方式组建arm上的https客户端,其中curl作为http客户端,openssl提供https支持,zlib负责处理gzip压缩的http报文。
coderhuo
2023/10/21
1.1K0
curl交叉编译方法
linux_aarch64_qt环境搭建
armv7是ARMv7-A指令集架构的缩写,其中“A”表示“应用程序级别”。ARMv7-A架构是ARM架构的第七代,支持32位指令和地址。它是2011年前的大多数ARM芯片所采用的架构,包括Cortex-A7、Cortex-A9和Cortex-A15等。
用户5908113
2024/03/20
5940
linux_aarch64_qt环境搭建
相关推荐
移植zynq平台下UbertoothOne运行环境
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档