Linux系统下的ARM环境搭建

Linux系统下的ARM环境搭建

一、安装交叉编译器

交叉编译器根据个人的开发需要去下载。

  1. 复制交叉编译器压缩包arm-linux-gcc-4.5.1-v6-vfp-20120301到虚拟机根目录下的 /opt 文件下,然后解压到此处。

  2. 添加环境变量

    使用指令 vim /etc/profile 打开文件,在文件中添加以下内容:
    export PATH=/opt/FriendlyARM/toolschain/4.5.1/bin/:$PATH
    

如图所示:
在这里插入图片描述
使用:wq 命令保存退出。
使用source /etc/profile 指令或 重启虚拟机使添加的环境变量生效
查看环境变量是否生效
关闭当前终端,重新打开一个命令行终端,输入arm-linux-gcc -v 看是否能输出编译器版本信息。
如果安装成功可以看到以下信息:在这里插入图片描述
如果输出的版本信息是:Error。
错误说明:因为你的操作系统是Ubuntu 64位的,而交叉编译工具链都是32位执行程序。要成功运行这些交叉编译工具链,需要与这些工具链相关的32位库。
安装库命令如下:

sudo apt-get install lib32ncurses5 lib32z1 lib32stdc++6

安装完成重新编译即可。

二、安装tslib库

把可用的tslib库拷贝到opt目录下,然后解压即可。。
在red hat 中安装tslib库比较麻烦,用直接编译好的即可。
附:如果想自己移植请参考相关资料
注:可在我主页下载系统环境搭建所需要的全部源码包。
三,QT移植

  1. 安装包下载下载地址

    http://download.qt.io/archive/qt/4.8/4.8.7/
    

在这里插入图片描述

  1. 把下载后的安装包拷贝到linux中,注意不要直接用拖动的方法,这种方法有可能导致丢包。可以拷贝到共享目录后再从linux中拷贝。

  2. 创建Makefile文件
    把以下命令编写成一个脚体文件执行(也可以直接在命令行中执行),注意不要带注释。并且\后面不能有任务内容,包括空格,不然运行会报错

    		#!/bin/bash
    		./configure \ #执行的可执行文件
    		-opensource \ #支持开源
    			-confirm-license \ #已配置的许可证
    			-prefix /opt/Qt-4.8.7-tiny4412 \   #QT安装路径 ,可以自行更改
    		-little-endian \ #小端模式
    			-silent \     #编译时不输出无用信息
    			-shared \    #编译共享库
    			-release \    #编译发行版
    			-embedded arm \ #移植到arm平台
    			-xplatform qws/linux-arm-g++  \  #编译平台 .cpp 用的是g++
    			-platform qws/linux-x86-g++ \ *一定要加这个,否则configure时假如你gcc版本太低会报错
    			-webkit \ #浏览器
    			-qt-gfx-transformed \
    			-qt-libtiff \  #使用QT自带的tiff库
    			-qt-libmng  \#使用QT自带的mng库
    		#-gif \ #使用QT自带的gif库
    			-qt-mouse-tslib \ #使用tslib作为QT的使用输入
    			-qt-mouse-pc \  #支持鼠标
    			-no-mouse-linuxtp \ #不支持触摸屏
    			-no-neon \
    			-qt-libjpeg \#使用QT自带的jpeg库
    			-qt-libpng \#使用QT自带的png库
    			-qt-zlib \#使用QT自带的zlib库
    		-nomake tools \ #不编译工具
    			-I /opt/tslib-1.0-tiny4412/include \ #包含文件 根据实际情况去更改
    			-L /opt/tslib-1.0-tiny4412/lib     #连接
    
  3. 执行上一步写的脚本在这里插入图片描述

  4. 修改qmake.conf 文件

    命令:	gedit mkspecs/qws/linux-arm-g++/qmake.conf   
    

修改前:

# qmake configuration for building with arm-linux-g++
#

include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)

# modifications to g++.conf
QMAKE_CC                = arm-linux-gcc 
QMAKE_CXX               = arm-linux-g++ 
QMAKE_LINK              = arm-linux-g++ 
QMAKE_LINK_SHLIB        = arm-linux-g++ 

# modifications to linux.conf
QMAKE_AR                = arm-linux-ar cqs
QMAKE_OBJCOPY           = arm-linux-objcopy
QMAKE_STRIP             = arm-linux-strip

load(qt_config)

修改后:

# qmake configuration for building with arm-linux-g++


include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)

# modifications to g++.conf  添加连接ts库
QMAKE_CC                = arm-linux-gcc –lts  #注意 中间有个空格
QMAKE_CXX               = arm-linux-g++ -lts
QMAKE_LINK              = arm-linux-g++ -lts
QMAKE_LINK_SHLIB        = arm-linux-g++ -lts

# modifications to linux.conf
QMAKE_AR                = arm-linux-ar cqs
QMAKE_OBJCOPY           = arm-linux-objcopy
QMAKE_STRIP             = arm-linux-strip
load(qt_config)
  1. 编译安装
    终端中输入 make && make install 命令。
    此编译过程需要很长时间。按小时来算。。。
  2. 编译完成
    在这里插入图片描述
  3. 把安装路径下的文件复制到开发板中
    linux系统下的opt目录下的Qt-4.8.7-tiny4412 和tslib-1.0-tiny4412 复制到开发板中的opt目录下。(此目录可以自行定义,只是我的脚本中写的是此目录)

在这里插入图片描述

  1. 在开发板的opt目录下创建ts库脚本,用于添加ts库的环境变量。

    	[root@localhost opt]# touch tslib_run.sh
    

    在此脚本中输入以下内容:

    			#!/bin/sh
    		export T_ROOT=/opt/tslib-1.0-tiny4412                 #开发板中的目录 
    		export PATH=$PATH:$T_ROOT/bin                   #可执行程序目录加入环境变量
    		export LD_LIBRARY_PATH=$T_ROOT/lib:$LD_LIBRARY_PATH  #库文件目录
    		export TSLIB_CONSOLEDEVICE=none
    		export TSLIB_FBDEVICE=/dev/fb0                        #framebuffer设备文件
    		#如果输入ts_test 无效,则有可能是此路径不对。
    		export TSLIB_TSDEVICE=/dev/event0    #触摸屏设备文件,有些人的路径为/dev/input/event0
    		export TSLIB_CALIBFILE=/etc/pointercal                   #指定触摸屏校准文件pintercal的存放位置
    		export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf             #tslib模块配置文件
    		export TSLIB_PLUGINDIR=$T_ROOT/lib/ts/                #tslib插件库目录
    

保存退出,在终端输入如下指令

	环境变量生效指令 :source tslib_run.sh
  1. 在开发板的opt目录下创建qt库脚本,用于添加qt库的环境变量。

    [root@localhost opt]# touch qt_run.sh
    

    在此脚本中输入以下内容:

    	#!/bin/sh
    export set QTDIR=/opt/Qt-4.8.7-tiny4412     #QT相关路径         
    export set LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  #库路径 
    export set PATH=$QTDIR/bin:$PATH   
    export set QT_QWS_FONTDIR=$QTDIR/lib/fonts  #qt字体库目录 (QT5 无效)
    #触摸屏 、鼠标,可以通过/proc/bus/input/device看到 ,如果没有,重新编译zImage,把触摸屏驱动添加
    export set QWS_MOUSE_PROTO='tslib:/dev/event0 IntelliMouse:/dev/mice' #有些人的此路径有可能为'tslib:/dev/input/event0'  
    #export set QWS_DISPLAY='/dev/fb0'
    export QT_PLUGIN_PATH=$QTDIR/plugins
    export QWS_SIZE=800x480 #LCD尺寸
    

保存退出,在终端输入如下指令

	环境变量生效指令 :source qt_run.sh
  1. 给以上两个脚本添加权限。

    	[root@localhost opt]# chmod 0777 tslib_run.sh
    	[root@localhost opt]# chmod 0777 qt_run.sh
    
  2. 测试,在开发板中操作
    1.)ts库生效并测试
    在这里插入图片描述
    2)qt库生效

    	[root@ /opt chenxingxing]# source qt_run.sh
    

    3)如果需要开机运行,则需要把这两个脚本在etc/profile 中添加生效命令。
    在这里插入图片描述
    至此,Linux-ARM环境搭建完成。
    附环境搭建资料链接
    https://download.csdn.net/download/zyq949698/12406316

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值