arm linux 移植 python3.6】的更多相关文章

背景: 人生苦短,我用Python. 说明: 编译Python的嵌入式版需要解释器解析setup.py从而编译Python的模块,因此需要先编译出host的解释器.(有点像Go语言) Python : Python 3.7.6 编译: ## # Copyright By Schips, All Rights Reserved # https://gitee.com/schips/ # File Name: make.sh # Created : Tue 24 Dec 2019 04:20:51…
背景 本来想着把 x265编译到ffmpeg里面,搞定了x265的编译:但是一直报ERROR: x265 not found using pkg-config这个错误,我按照网上的资料,查看了ffbuild/config.log,也修改了 .pc 也export 了,可是还是不行.好像是与数学库有关,但是添加了-lm -stdc++ 都无济于事. 先把 x265 交叉编译的成果分享出来,有空再试着搞搞 Ubuntu 移植 ffmpeg + x264 arm linux 移植 FFMPEG库 +…
背景 Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. 从Go1.4之后Go语言的编译器完全由Go语言编写,所以为了从源代码编译Go需要先编译一个1.4版本的Go版本. 所以,搭建go语言开发环境(版本>1.4)只需要: 1)编译go1.4版本,设置好GOROOT_BOOTSTRAP 2)然后再执行脚本编译安装GO1.4以上版本(任何支持的平台都可以) 注意,go的安装/移植 比较奇怪,它是以 源码包当前的路径作为根目录…
前言 我们在这里做2件事情: 1)编译 paho.mqtt.mosquitto 2个开源项目的c版本库(mosquitto库没有用上) 2)编译好 依赖 paho.mqtt的库编写例程 + mosquitto 服务器. host平台 :Ubuntu 16.04 arm 平台 : s5p6818 ssl : openssl-1.0.2t MQTT-client : paho.mqtt.c 现在我们就来进行MQTT客户端的移植. MQTT服务器(Broker)在很多 云服务器中自带了,没有特殊需求是…
背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264. FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视频的完整解决方案. librtmp用来接收.发布RTMP协议格式的数据.FFmpeg支持RTMP协议,将librtmp编译进去后支持协议RTMPE.RMT…
背景: PHP 是世界上最好的语言. host平台 :Ubuntu 16.04 arm平台 : 3531d arm-gcc :4.9.4 php :7.1.30 zlib :1.2.11 libxml2 : 2.9.9 libiconv :1.15 主机准备: 使用以下脚本 ## # Copyright By Schips, All Rights Reserved # https://gitee.com/schips/ # File Name: make.sh # Created : Fri 2…
背景 由于业务需要,需要hi3531d主板上加入对于HP打印机的支持. 通过与产品经理,技术主管的沟通:通用支持是不现实的,只要求彩色打印,先不考虑打印机的价格,只要支持一款打印机即可. 注意: Linux下支持打印机有很多局限性,并非每一种打印机型号都被支持.惠普打印机的支持是最好的. 过程: 根据网友的资料,有关Linux打印系统只要从上到下能够连一条线通即可组成一套打印系统. 寻找合适的软件方案: 使用CUPS + IJS: 前往:"Open Printing"进行查找.根据支持…
背景 调试工具gdb的使用对于嵌入式Linux开发人员来说是一项不可少的技能. 目前,嵌入式 Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机程序.用KGDB调试系统内核和用gdbserver调试用户空间程序. 这三种调试方法的区别主要在于,目标机远程调试stub 的存在形式的不同,而其设计思路和实现方法则是大致相同的. 我们最常用的是调试应用程序.就是采用gdb+gdbserver的方式进行调试.在很多接在情况下,用户需要对一个应用程序…
背景 在一些网络环境下,需要静态IP不够现实,需要使用DHCP进行自动获取IP地址. udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微μ- DHCP -客户端client(μDHCPc). 前提:在KERNEL中需要将 Packet socket(CONFIG_PACKET)和IP: DHCP support(CONFIG_IP_PNP_DHCP)编译进内核或编译成模块. 在内核中添加以下选项: Networking ---> [*] Networking support…
背景: 在产品开发中可以使用rsync进行大文件的拷贝,断点续传. host平台 :Ubuntu 16.04 arm平台 : 3531d   rsync   :3.1.3 arm-gcc :4.9.4 主机准备: 为了方便管理,创建有关的目录 mkdir rsync cd rsync mkdir compressed install source 下载并解压有关的源码:   cd compressed #下载包 wget -c https://rsync.samba.org/ftp/rsync/…
背景: host平台 :Ubuntu 16.04 arm平台 : S5P6818 jpeg :v9c arm-gcc :4.8.1 主机准备: 运行以下脚本: ## # Copyright By Schips, All Rights Reserved # https://gitee.com/schips/ # File Name: make.sh # Created : Fri 22 Nov 2019 11:49:30 AM CST ## #!/bin/sh BASE=`pwd` BUILD_H…
背景: 由于学习了摄像头有关的开发,顺理成章地接触了这个部分. 搭建环境 openCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. OpenCV : v4.2…
背景: 公司用的产品主板支持wifi接口,为了加强产品的功能,做wifi的底层支持. 有关知识点:浅谈 Linux 内核无线子系统 概览 主要的流程如下: 内核配置 + 有关驱动的移植 + 软件的移植 + 软件的配置 内核配置 # WIFI驱动 Networking support <*> RF switch subsystem support ---> [*] Power off on suspend (NEW) <*> Generic rfkill regulator d…
移植ARM linux下远程连接工具dropbear 原文地址:http://www.cnblogs.com/NickQ/p/9010529.html 移植zlib 下载地址:https://github.com/madler/zlib/archive/v1.2.10.tar.gz 获取zlib并解压 wget https://github.com/madler/zlib/archive/v1.2.10.tar.gz -O zlib-1.2.10.tar.gz tar -zxvf zlib-1.…
ARM QT移植详细步骤教程 米尔SAM9X5和A5D3X上默认的Qt版本是4.5.3,当这个版本的Qt库不能满足实际开发需求时,可通过此方法制定Qt开发.运行环境. 移植的步骤如下: 1.下载新版qt: 2.编译tslib: 3.编译qt: 4.配置编译后的qt,以便在主机上用qmake编译适用目标板的qt应用: 5.拷贝lib文件到目标板. 一.下载qt和tslib 比如要安装4.8.5版本,则下载 qt-everywhere-opensource-src-4.8.5.tar.gz, 米尔百…
接着前一篇博文. 在上一篇博文中我们用NFS挂载根文件系统的方式启动了系统,接下来我们把移植了Python3的根文件系统固化到NandFlash中,但是由于linux-4.9目前不支持Yaffs2文件系统,所以我们用Jiffs2文件系统. 下面我们分为几部分: 1.移植mtd-utils工具 2.固化根文件系统到NandFlash中 3.支持Telnet   平台 硬件:TQ2440  64MB内存 256MB NandFlash bootloader:U-Boot 2015.04 kernel…
平台 硬件:TQ2440  64MB内存 256MB NandFlash bootloader:U-Boot 2015.04 kernel:linux-4.9 Python: Python-3.6.0 工具链:arm-none-linux-gnueabi-gcc  4.8.3   概述 现在树莓派很火,在树莓派上面用户可以通过Python来控制板子上面的GPIO资源, 然后我想TQ2440也应该做到这一点. 将来根文件系统会通过NFS的方式挂载到开发板上面.   正文 一.工具链 登录这个网址:…
/********************************************************************************* * ARM Linux Qt 5.x.x 无标题栏 * 说明: * 以前Qt 4.x.x版本是直接有标题栏,但现在的Qt 5.x.x没有了标题栏,从参考文章里 * 可以看出,是需要另外移植窗口管理器的. * * 2017-1-6 深圳 南山平山村 曾剑锋 ***************************************…
linux移植问题汇总(一) 在此记录移植linux过程中出现的问题以及解决方法. 项目GitHub地址 linux3.0.80:https://github.com/numbqq/linux-3.0.80_for_tiny210linux3.3.5:https://github.com/numbqq/linux-3.3.5_for_tiny210uboot2014.04:https://github.com/numbqq/uboot201404_for_tiny210 1.移植linux ke…
转自:http://www.veryarm.com/1491.html ARM Linux启动流程大致为:bootloader ---->kernel---->root filesystem.bootloader 是一上电就拿到cpu 的控制权的,而bootloader实现了硬件的初始化.bootloader俨然就成了Power on 之后”第一个吃螃蟹”的代码. 谈到这就得想到硬件机制是如何满足这个功能的了.CPU内部一般都集成小容量的SRAM (又叫stapping stone,垫脚石),…
一.工具准备工作  要想在ARM平台上移植一套Apache+Msql+PHP的Web型服务器. 所用物理机系统: Ubuntu 14.04 LTS(64位) 交叉编译环境:   arm-linux-gnueabihf-gcc-4.7.3(32位) gcc-4.8.4(64位) 所需源码:       Httpd-2.4.3.tar.gz Pcre-8.31.tar.gz Apr-1.4.6.tar.gz Apr-util-1.4.1.tar.gz Mysql-5-1-51.tar.gz Ncur…
在Linux移植之内核启动过程start_kernel函数简析中已经指出了start_kernel函数的调用层次,这篇主要是对具体的tag参数列表进行解析. 1.内存参数ATAG_MEM参数解析 2.命令行参数ATAG_CMDLINE解析,以传入的命令参数bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0为列: 1).noinitrd参数解析过程,当你没有使用ramdisk启动系统的时候,你需要使用noinitr…
1.准备交叉编译环境 环境说明:Windows 7 64位 此过程需要: (1)Qt库开源代码,我使用的是5.7.0版本: (2)Perl语言环境5.12版本以上: (3)Python语言环境 2.7 版本以上: (4)Windows平台上的MinGW开发工具集(内含本地编译器gcc.g++ 4.9以上版本,支持c++11): (5)Windows平台上的交叉编译器arm-linux-gnueabihf(gcc.g++4.9以上版本,支持c++11). 1.1.下载Qt库源代码 到Qt官网官网h…
在Linux移植之内核启动过程引导阶段分析中从arch/arm/kernel/head.S开始分析,最后分析到课start_kernel这个C函数,下面就简单分析下这个函数,因为涉及到Linux的内容较多,这里只是简单介绍下内核启动流程.先看一下内核启动的流程框图,截图来自<嵌入式Linux应用开发完全手册>.内核引导阶段已经分析过,接下来分析一下内核启动的第二阶段. 1.start_kernel函数全局概览 2.start_kernel函数调用层次 1.start_kernel函数全局概览,…
在Linux移植之make uImage编译过程分析中已经提到了uImage是一个压缩的包并且内含压缩程序,可以进行自解压.自解压完成之后内核代码从物理地址为0x30008000处开始运行.下面分析在进入C之前内核做的一些工作,以下是内核启动过程中打印出来的信息,其中Uncompressing Linux就是在自解压代码.make uImage编译的最后也给出了链接脚本arch/arm/kernel/vmlinux.lds,以及链接的顺序arch/arm/kernel/head.o 是第一个.…
在Linux移植之make uImage编译过程分析中罗列出了最后链接生成vmlinux的过程.可以看到在每个子目录下都有一个built-in.o文件.对于此产生了疑问built-in.o文件是根据什么产生的. arm-linux-ld -EL -p --no-undefined -X -o vmlinux -T arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o arch/arm/kernel/init_task.o init/built-in…
在Linux移植之make uImage编译过程分析中分析了uImage文件产生的过程,在uImage产生的过程中,顺带还产生了其它的一些中间文件.这里主要介绍几个比较关键的文件 1.linux-2.6.22.6\include\config\auto.conf.inux-2.6.22.6\include\linux\autoconf.h文件的生成过程 2.include\asm-arm\Mach-types.h文件的生成过程 1.inux-2.6.22.6\include\config\aut…
编译出uboot可以运行的linux内核代码的命令是make uImage,下面详细介绍下生成linux-2.6.22.6/arch/arm/boot/uImage的过程: 1.vmlinux.Image.uImage.zImage的区别 2.vmlinux生成过程简介 3.uImage生成过程简介 1.vmlinux.Image.uImage.zImage的区别,在执行make uImage之后会在%生成如下几个文件Image.uImage.zImage. vmlinux是可引导的.压缩的内核…
在Linux移植之移植步骤中已经将Linux移植的过程罗列出来了,现在分析一下Linux的配置过程,将分析以下两个配置过程: 1.make s3c2410_defconfig分析 2.make menuconfig分析 1.make s3c2410_defconfig分析 首先从顶层Makefile开始分析,找到类似smdk2410_defconfig的目标.找到了%config目标.表示后缀为config的目标遵循这个规则,config %config前面的config是一个Kconfig关键…
Linux下Python3的源码编译安装和卸载方法 [日期:2019-06-21] 来源:博客园  作者:wuli潇萧 [字体:大 中 小]     (一)Linux下软件的源码编译安装和卸载方法 Linux下正常的编译安装/卸载 源码的安装一般由3个步骤组成: 配置(configure) 编译(make)          #编译产生的所有文件仅仅在当前目录下,可以查看MakeFile文件查看编译内容 安装(make install).    #执行MakeFile的INSTALL方法 con…