历史上的今天
返回首页

历史上的今天

今天是:2025年02月11日(星期二)

正在发生

2020年02月11日 | 移植Python2到TQ2440

2020-02-11 来源:eefocus

环境


Python:2.7.13


开发板: TQ2440


工具链: arm-none-linux-gnueabi-gcc 4.8.3


概述


前面已经把Python3移植到TQ2440上面的,现在我们移植Python2,基本跟Python3移植步骤类似。


一、工具链

参考 http://www.cnblogs.com/pengdonglin137/p/6740164.html#_lab2_2_0


 


二、配置

下面是配置脚本mk1_conf.sh:


 1 #!/bin/bash

 2 

 3 /home/pengdonglin/disk_ext/Python/Python2/Python-2.7.13/configure --prefix=`pwd`

 4     --host=arm-linux

 5     --build=x86_64-linux-gnu

 6     --enable-ipv6

 7     --enable-shared

 8     ac_cv_file__dev_ptmx="yes"

 9     ac_cv_file__dev_ptc="no"

10     LDFLAGS="-L/home/pengdonglin/disk_ext/TQ2440/rootfs/SQlite3/lib

11     -L/home/pengdonglin/disk_ext/TQ2440/rootfs/Readline/lib

12     -L/home/pengdonglin/disk_ext/TQ2440/rootfs/Termcap/lib

13     -L/home/pengdonglin/disk_ext/TQ2440/rootfs/Zlib/lib"

14     CPPFLAGS="-I/home/pengdonglin/disk_ext/TQ2440/rootfs/SQlite3/include

15     -I/home/pengdonglin/disk_ext/TQ2440/rootfs/Readline/include

16     -I/home/pengdonglin/disk_ext/TQ2440/rootfs/Termcap/include

17     -I/home/pengdonglin/disk_ext/TQ2440/rootfs/Zlib/include"

18     LDLAST="-L/home/pengdonglin/disk_ext/TQ2440/rootfs/SQlite3/lib

19     -L/home/pengdonglin/disk_ext/TQ2440/rootfs/Readline/lib

20     -L/home/pengdonglin/disk_ext/TQ2440/rootfs/Termcap/lib

21     -L/home/pengdonglin/disk_ext/TQ2440/rootfs/Zlib/lib"


配置完成之后,修改Modules/Setup,打开readline,将下面这行取消注释:


readline readline.c -lreadline -ltermcap

修改Makefile,将:

SVNVERSION=>---svnversion $(srcdir)

修改为:

SVNVERSION=


三、编译

下面是编译脚本mk2_mk.sh


 1 #!/bin/bash

 2 

 3 make HOSTPYTHON=/home/pengdonglin/disk_ext/Python/Python2/x86_64/python

 4     HOSTPGEN=/home/pengdonglin/disk_ext/Python/Python2/x86_64/Parser/pgen

 5     BLDSHARED="arm-linux-gcc -shared"

 6     CROSS_COMPILE=arm-linux-

 7     CROSS_COMPILE_TARGET=yes

 8     HOSTARCH=arm-linux

 9     BUILDARCH=x86_64-linux-gnu

10     -j4


四、安装

下面是安装脚本mk3_install.sh


1 #!/bin/bash

3 make install HOSTPYTHON=/home/pengdonglin/disk_ext/Python/Python2/x86_64/python

4     BLDSHARED="arm-linux-gcc -shared"

5     CROSS_COMPILE=arm-linux-

6     CROSS_COMPILE_TARGET=yes

7     prefix=`pwd` 


五、测试


[root@tq2440 ~]# python2 /usr/lib/python2.7/test/test___all__.py

test_all (__main__.AllTest) ... BaseHTTPServer

Bastion

CGIHTTPServer

ConfigParser

Cookie

DocXMLRPCServer

HTMLParser

MimeWriter

... ...

ok

----------------------------------------------------------------------

Ran 1 test in 38.408s

OK



完。


推荐阅读

史海拾趣

海芯科技(AVIA)公司的发展小趣事

海芯科技一直将产品研发视为公司发展的核心动力。经过长时间的研发与试验,公司成功推出了一系列具有市场竞争力的产品。这些产品不仅性能稳定、质量可靠,而且具有广泛的应用领域。随着产品在市场上的逐步推广和应用,海芯科技逐渐获得了客户的认可和信赖,市场份额也逐步扩大。

EPIGAP公司的发展小趣事

EPIGAP公司非常重视创新文化的建设。公司鼓励员工提出新的想法和创意,并为员工提供充分的支持和资源。此外,EPIGAP还积极引进和培养人才,建立了一支高素质、专业化的研发团队。这支团队在公司的发展历程中发挥了至关重要的作用,不断推动公司产品的升级换代和技术创新。

Electro-Mech Components Inc公司的发展小趣事

EMC一直致力于技术研发和创新能力的提升。公司拥有一支专业的研发团队,不断投入资金和人力进行新产品的研发和技术创新。通过不断的努力,EMC在电气元件领域取得了多项专利和技术成果,其产品质量和技术水平在行业中处于领先地位。同时,EMC还积极参与行业标准的制定和推广工作,为推动整个行业的发展做出了积极贡献。

Helicomm公司的发展小趣事

在1966年,Electro-Mech Components, Inc. (EMC)做出了一个重要的战略决策——在墨西哥北下加利福尼亚州的蒂华纳开设一家制造工厂。这个决定标志着EMC正式进军国际市场,并开始了其在全球范围内的业务布局。蒂华纳工厂的建立为EMC带来了更低的制造成本和更广阔的市场前景。随着工厂规模的逐渐扩大,EMC的产品线也日益丰富,从最初的发光按钮开关逐渐扩展到指示灯和多开关互锁组件等多个领域。

Auris公司的发展小趣事

Auris公司在技术研发方面取得了显著成果。其中,一款名为Auris Robotic Endoscopy System(ARES)的医疗机器人尤为引人注目。这款机器人能够通过精准的操控,帮助医生在不切口的情况下发现早期肺癌,提高了诊断的精确性。20XX年,食品与药品监督管理局(FDA)正式批准了ARES机器人的使用,这是对Auris公司技术实力和产品质量的高度认可。

Echelon_Corporation公司的发展小趣事

Echelon Corporation于1988年在美国加州成立,其初衷是开发和推广先进的通信和控制技术。在成立初期,Echelon便推出了其标志性的LonWorks控制网络平台。该平台采用了开放的通信协议,使得不同厂商的设备可以无缝连接和通信,为工业自动化、建筑自动化等领域带来了革命性的变化。LonWorks平台的成功推出,为Echelon在电子行业奠定了坚实的基础。

问答坊 | AI 解惑

MCGS组态软件设计及其应用

一、引言     过去工业控制计算机系统的软件功能都靠软件人员编程实现。工作量大,软件通用性差,且易产生错误。随着工业控制要求的不断提高,专门用于工业控制的组态软件应运而生,它是一套功能齐全的组态生成工具软件,通用性强,而 ...…

查看全部问答>

ARM c程序的问题

_irqHandler PROC    1. STMFD   sp!,{r0-r4,r12,lr}    2. mov     r4,#0x80000000  //中断控制寄存器首地址(假设的)    3. ldr     r0,[r4,#0] ...…

查看全部问答>

请教一个sd卡驱动的问题

最近在做sd卡驱动的移植,读手册时有几个参数看不明白。比如,我板子的sd卡控制器寄存器有两个位可以设置sd卡dma的类型,原文如下: DMA type: It indicates which DMA transaction type is used. These 2 bits are valid when the DMA_EN is e ...…

查看全部问答>

wince 桌面快捷方式

请问: wince中的文件夹有没有后缀名? 我想把一个名为NandFlash的文件夹,放到桌面快捷方式, 我在WINCE500\\PLATFORM\\SMDK2440\\FILES创建了一个NandFlash.LNK文件,里面写上22#\\windows\\NandFlash 我又在Project.bib 里面加上 NandFlash ...…

查看全部问答>

请教: 文件读写

本帖最后由 dontium 于 2015-1-23 13:25 编辑 #include(iostream.h) #include(stdio.h) fid=fopen(\\"d:/en_dsp/enc.sea\\",\\"rb\\"); if (fid==NULL)     {      cout<<\\"can\\\'t open f ...…

查看全部问答>

PCI设备识别不正常

首先我的程序在某些主板上是可以正常工作的(具体型号我也搞不懂),设置的是从设备,内部只有从设备状态机。没有接入奇偶检验,仲裁和热插拔。 问题是在一些主板上发现设置为从设备时无法找到设备,设置为主设备可以找到,但是通过软件读取配置信 ...…

查看全部问答>

0

居然要全部下完才能都打开?这个有点不厚道…

查看全部问答>

LM3S程序求教

//————————————————头文件————————————————————#include \"inc/hw_ints.h\"//硬件中断#include \"inc/hw_memmap.h\"#include \"inc/hw_types.h\"//硬件类型#include \"driverlib/gpio.h\"//GPIO#include \"dri ...…

查看全部问答>

RAW_TASK.C 具体教学问题

RAW_TASK.C具体教学问题1  raw_task_create教学问题: 1 代码是怎么实现系统只能创建一个 idle 任务的? 2 RAW_TASK_OBJ 结构体第一个成员task_stack 的地址等于结构体的地址吗? 3 RAW_TASK_OBJ 结构体成员中task_stack 为什么是放在第 ...…

查看全部问答>

最近申请了一个省创项目,关于无线通信的战术动作命令腕表,不知带怎么开始,望大...

二、项目研究背景(可以是已有的基础,与本项目有关的研究积累和已取得的成绩,已具备的条件,尚缺少的条件及方法等)    随着社会的发展,人们身边的不安全因素越来越多。当人们处于特殊紧急环境,并且需要及时对威胁自己或他人的生命安 ...…

查看全部问答>