OKMX6X Python 移植笔记
飞凌嵌入式应用笔记,基于 FETMX6X 核心版 V1.1,IMX6X 系列,Linux 3.0.35
原始文件: /工作相关/飞凌嵌入式imx6全部资料/嵌入式相关(小发光硬件部分)/20200219 孙润民/飞凌电子/OKMX6DL、Q系列产品应用笔记/python移植/Python移植笔记.pdf 文件大小: 892 KB 页数: 12页 提取方式: PDF文本提取(pdf-inspector),text_based类型 处理日期: 2026-09-20
核心内容
本文档详细说明了在飞凌 OKMX6X 开发板上移植 Python 2.7 的完整流程,分为编译和配置两个阶段。
一、Python 编译过程
所需工具包(位于源码目录 Python 移植/工具包):
- Python-2.7.13.tgz
- sqlite-autoconf-3200100.tar.gz
- Python-2.7.13-xcompile.patch.tar.gz
- ntp-4.2.8p10.tar
- setuptools-0.6c11-py2.7.egg
- openssl-OpenSSL_1_0_1b.zip
- zlib-1.2.3.tar.gz
关键步骤:
-
编译 sqlite3(Python 依赖):
./configure --host=arm-none-linux-gnueabi --prefix=$PWD/../sqlite3 make -j8 && make install -
编译 zlib 和 openssl(交叉编译到 arm_install 目录)
-
编译 Python for x86(用于 host 工具):
../Python-2.7.13/configure --prefix=`pwd` make -j8 && make install -
打补丁并配置 ARM 交叉编译:
- 修改 Modules/Setup.dist,取消 zlib 和 _ssl 注释
- configure 时指定
--host=arm-none-linux-gnueabi
-
编译 Python for ARM:
make HOSTPYTHON=../python2_7_13_for_x86_64/python \ HOSTPGEN=../python2_7_13_for_x86_64/Parser/pgen \ BLDSHARED="arm-none-linux-gnueabi-gcc -shared" \ CROSS_COMPILE=arm-none-linux-gnueabi- \ SSL=`pwd` -
编译 ntpdate(网络时间同步工具)
输出目录结构:
output/
├── ntp-4.2.8.p10.tar.bz2
└── sources/
├── openssl-OpenSSL_1_0_1b.tar.bz2
├── python2.7-for-arm.tar.bz2
└── setuptools-0.6c11-py2.7.egg
二、开发板配置
-
解压缩到开发板根目录:
tar xvf python2.7-arm.tar.bz2 -C / tar xvf openssl-OpenSSL_1_0_1b.tar.bz2 -C / -
修改配置:
/lib/pkgconfig/python2.pc:设置 prefix=//bin/python2.7-config:第一行改为#!/bin/python2.7/etc/profile:添加 PYTHONHOME、PYTHONPATH、PATH 环境变量
-
安装 easy_install:
bash setuptools-0.6c11-py2.7.egg -
取消 SSL 全局验证(解决 pip 安装时的 SSL 错误):
import ssl ssl._create_default_https_context = ssl._create_unverified_context -
安装 pip 并测试:
easy_install pip pip install requests python2.7 -c "import requests"
关键要点
- 交叉编译工具链:
arm-none-linux-gnueabi-(需与开发板匹配) - 必须预先编译:sqlite3、zlib、openssl(Python 模块依赖)
- SSL 验证问题:国内镜像源常用,需关闭全局 SSL 验证
- 输出包结构:所有编译产物打包后拷贝到开发板,保持相对路径
关联知识
- 类似嵌入式 Python 移植流程可参考 i.MX-Yocto-Project-用户指南-L4.1.15
- Python 包管理:easy_install → pip 迁移
- 飞凌 OKMX6X 其他应用笔记:GPIO功能应用笔记、LVDS移植应用笔记