EasyARM-i.MX283A 開發環境配置筆記

EasyARM-i.MX283A 開發環境配置筆記

準備開發環境所需的文件:
在這裏插入圖片描述
已上傳網盤,自行下載
鏈接:https://pan.baidu.com/s/1C3SB3UR5Yfn8huMj5kP7GA
提取碼:gy1y

一、創建虛擬機

使用:ubuntu-12.04-desktop-i386.iso
鏈接:https://pan.baidu.com/s/1fVtGD74s7-raClCYlmS87g
提取碼:3622

選擇網絡橋接模式 4G

Ctrl + alt + T 打開終端
sudo apt-get update 升級安裝包相關的命令,刷新可安裝的軟件列表(但是不做任何實際的安裝動作)
sudo apt-get upgrade: 進行安裝包的更新(軟件版本的升級)

二、安裝交叉編譯器

(一)解壓

複製 arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 到虛擬機
解壓 tar xjvf arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

(二)配置

1.修改 全局配置文件

sudo vi /etc/profile
sudo vi/root/.bashrc

2個文件都在末尾添加 export PATH=$PATH:/home/ttmk/form_windows/arm-2011.03/bin/
按ESC退出編輯
輸入 :wq 回車 保存並退出

輸入“. /etc/profile”(點+空格+文件名),執行 profile 文件,使剛纔的改動生效

2.安裝32位兼容庫

若此時還不能使用,需要安裝32位兼容庫
輸入 sudo apt-get install ia32-libs

三、NFS服務器

(一)安裝NFS軟件包

vmuser@Linux-host ~$ sudo apt-get install nfs-kernel-server #安裝 NFS 服務器端
vmuser@Linux-host ~$ sudo apt-get install nfs-common #安裝 NFS 客戶端

(二)添加 NFS 共享 目錄

1.配置

sudo vi /etc/exports
末尾添加
/nfsroot *(rw,sync,no_root_squash)

2.新建文件夾

根目錄下
sudo mkdir /nfsroot
sudo chmod -R 777 /nfsroot
sudo chown –R nobody /nfsroot

3.啓動NFS服務

sudo /etc/init.d/nfs-kernel-server start

(三)固定IP地址

ubuntu中的設置內找到network打開。
在這裏插入圖片描述

(四)創建根文件目錄

rootfs_imx28x.tar.bz2 複製到虛擬機
sudo cp /home/ttmk/form_windows/rootfs_imx28x.tar.bz2 /nfsroot/
cd /nfsroot
sudo tar xjvf rootfs_imx28x.tar.bz2

(五)開發板使用虛擬機根文件系統啓動

1. u-boot 內按空格停止啓動內核
2.修改 U-boot 的 bootargs 環境變量

,該變量保存了內核的啓動參數。設置內核 NFS 啓動
的參數一般格式爲:
setenv bootargs root=/dev/nfs rw console=(consolecfg)nfsroot=(consolecfg) nfsroot=(serverip):(rootpath)ip=(rootpath) ip=(ipaddr):(serverip):(serverip):(gatewayip):(netmask):(netmask):(hostname)::off

根據上面的配置,我們的開發板設置爲:
setenv bootargs ‘root=/dev/nfs rw console=ttyAM0,115200n8 nfsroot=192.168.31.206:/nfsroot/
rootfs ip=192.168.31.205:192.168.31.206:192.168.31.1:255.255.255.0:ttmk:eth0:off mem=64M’

3.保存配置重啓

在這裏插入圖片描述

(六)恢復爲本地啓動

在這裏插入圖片描述

四、安裝 tslib1.4

(一)準備工作

$ sudo apt-get install autoconf
$ sudo apt-get install automake
$ sudo apt-get install libtool

(二)解壓/安裝

tar -zxvf tslib-1.4.tar.gz

$ cd tslib
$ ./autogen.sh
$./configure --prefix=/home/ttmk/myapp/tslib --host=arm-none-linux-gnueabi ac_cv_func_malloc_0_nonnull=yes

(–prefix 指定安裝路徑,用戶可以自行指定 tslib 的安裝目錄。
–host 指定交叉編譯器,如果交叉編譯器是 arm-none-linux-guneabi-gcc,則指定
arm-none-linux-guneabi。)

make

make install

(三)配置

安裝成功後在指定的安裝目錄下出現四個文件夾
在這裏插入圖片描述

vi ts.conf
然後去掉第二行的註釋
在這裏插入圖片描述

(四)移植到開發板

cp -r /home/ttmk/myapp/tslib /nfsroot/rootfs/usr/local/tslib

(五)設置開發板環境

修改開發板根目錄的 /etc/profile

末尾加入
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=TSLIBROOT/etc/ts.confexportTSLIBPLUGINDIR=TSLIB_ROOT/etc/ts.conf export TSLIB_PLUGINDIR=TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export QWS_MOUSE_PROTO=/dev/input/event0
export LD_LIBRARY_PATH=LDLIBRARYPATH:LD_LIBRARY_PATH:TSLIB_ROOT/lib

(六)測試校準

開發板下運行
cd /usr/local/tslib/bin
#./ts_calibrate

五、編譯QT

(一)解壓QT安裝包

tar -zxvf qt-everywhere-opensource-src-4.7.3.tar.gz

(二)安裝G++

apt-get install g++

(三)編譯QT

1.創建build-qt.sh

#!/bin/sh
./configure -prefix /home/ttmk/myapp/qt-4.7.3-arm -opensource -confirm-license -release -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -no-qt3support -depths 16,18,24,32 -no-qvfb -no-svg -no-cups -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-openssl -shared -no-largefile -no-accessibility -no-xrender -no-webkit -no-gtkstyle -nomake examples -nomake doce -nomake demos -plugin-mouse-pc -plugin-mouse-tslib -little-endian -plugin-mouse-linuxtp -fast -lrt -qt-mouse-tslib -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT -I /home/ttmk/myapp/tslib/include -L /home/ttmk/myapp/tslib/lib

2.運行build-qt.sh

chmod 777 build-qt.sh
./build-qt.sh


如果出現如下錯誤,
The tslib functionality test failed!

   You might need to modify the include and library search paths by editing

    QMAKE_INCDIR and QMAKE_LIBDIR in

      /work/nfs_root/qt-everywhere-opensource-src-4.7.0/mkspecs/qws/linux-arm-g++

可能是arm-none-linux-gnueabi-gcc沒有找到 ,檢查環境變量是否正確

3.make

時間比較久

若出現錯誤:
`swpb %al,%r13b,[%rbx]’

build-qt.sh中 arm改成armv7

如果出現錯誤:
usr/bin/ld: cannot find -lxx

輸入以下命令安裝庫來解決
apt-get install libxx-dev

其中xx可以被替換爲其他字符

詳細解決方法請參考博文(https://blog.csdn.net/lyc_daniel/article/details/11149123)解決

4.make install

安裝完成後,在安裝目錄下出現qt-4.7.3-arm ,

在qt-4.7.3-arm/lib下file libQtCore.so.4.7.3 如果是intel80386平臺的,則說明安裝出錯,可能是make錯誤後又重新make導致的,建議刪除整個解壓包重頭開始安裝。

如果是ARM的則沒問題。

在這裏插入圖片描述

在開發板新建usr/local/qt-4.7.3-arm目錄, 將lib 和 plugins移植到開發板usr/local/qt-4.7.3-arm中

修改開發板的etc/profile文件
在末尾添加
export QTDIR=/usr/local/qt-4.7.3-arm
export LD_LIBRARY_PATH=QTDIR/lib:QTDIR/lib:QTDIR/plugins/imageformats:LDLIBRARYPATHexportQTPLUGINPATH=LD_LIBRARY_PATH export QT_PLUGIN_PATH=QTDIR/plugins /* 指定 Qt 插件路徑 /
export QT_QWS_FONTDIR=$QTDIR/lib/fonts /
指定 Qt 字體路徑 */

六、安裝QT SDK

(一)安裝

sudo apt-get install qt-sdk

(二)配置

虛擬機下修改 ~/.bashrc 文件 ,末尾添加
alias qmake-arm=/home/ttmk/myapp/qt-4.7.3-arm/bin/qmake
然後執行 source ~/.bashrc , 使修改生效

(三)測試

使用
$ qmake-qt4 -v
$ qmake-arm -v
測試qmake是否配置正常

七、使用Qt Creator

八、QT ARM編譯測試

(一)用Qt Creator建立工程,項目在虛擬機測試完成後,提取工程文件出來

(二)使用qmake-arm 來編譯工程

在這裏插入圖片描述

如果在make的時候出現 /usr/bin/ld: cannot find -lQtCore

那麼很有可能你的qt-4.7.3-arm編譯的有問題,用file 命令檢查編譯出來的庫是否是ARM的

(三)移植到開發板運行

將編譯出來的可執行文件,cp到開發板

在這裏插入圖片描述

在開發板上運行
export QWS_MOUSE_PROTO=tslib:/dev/input/event0指定鼠標設備
再運行cat /dev/input/event0 | hexdump ,點擊屏幕,測試鼠標設備,看看串口是否有數據輸出
按CTRL+Z 停止測試

輸入指令 ./hello -qws 運行程序。-qws 指明這個 Qt 程序同時作爲一個窗口服務器運行,在目標板上啓動的第一個 Qt 程序應使用此參數啓動。

啓動後開發板如圖所示
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章