歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

關於QT程序下載到開發板的一些步驟總結

工程量還是蠻復雜的。這裡針對自己的板子和自己的電腦。

1.選擇合適的內核和bootloader

先找到開發板資料中的E:/開發板資料/AC2440 Linux/LQ035NC111_tc images 把這個裡面的鏡像文件內核uImage先燒進板子,前提是用u-boot。

E:/開發板資料/AC2440 Linux/utuLinuxfor2440V1.5.3中的s3c2440_recover.tar.bz2解壓到虛擬機下,然後解壓,出現utu2440-qtopia-1.7-touchscreen.tar.gz 把這個壓縮包拷貝到外面的一個文件夾裡 這裡是根目錄下/qtscreen 之後再解壓,今後這個文件夾成為NFS文件夾

2.在虛擬機上配置NFS服務

進入虛擬機的任務欄中的系統->管理->服務器設置->NFS  目錄/qtsceen 主機* 設置為讀寫 然後在第三欄用戶訪問中把第一個打鉤

進入虛擬機的任務欄中的系統->管理->服務器設置->服務->把nfs和portmap兩個服務打開

設置虛擬機的IP 用setup設置成和板子一個IP網段 如192.168.1.199 然後設置service network restart 如果都成功 在ifconfig看一下是不是這個ip

最後打開超級終端,網線把PC和開發板連接好,進入u-bootloader以後再把那一長串復制進去,回車,然後boot,回車

如果成功 就進去,觸摸屏顯示出QT的屏幕

如果在虛擬機任務欄中找不到圖形界面的NFS配置菜單,也可以在shell中執行setup->系統服務中開啟nfs和portmap服務,在防火牆設置中關閉所有防火牆

設置NFS共享目錄 ,將根目錄“/qtscreen”設置為共享目錄的方法:

# vim    /etc/exports

在其中輸入:/qtscreen    *(rw,sync,no_root_squash)

重新啟動服務:/etc/rc.d/init.d/nfs restart    或    service nfs restart

3.配置NFS文件夾下的QT文件

先在NFS 即/qtsceen/usr中建立一個和/usr/local/Trolltech/QtopiaCore-4.3.0-arm/lib一樣的路徑 如/qtsceen/usr/local/Trolltech/QtopiaCore-4.3.0-arm/lib

將rcS文件拷貝至NFS文件夾/etc/init.d文件夾下,將原文件替換

在NFS文件夾/etc/profile文件中添加export set QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"

將/usr/local/Trolltech/QtopiaCore-4.3.0-arm/bin中的qmake文件重命名為qmake_arm放在/usr/bin下

在一個QT的C源文件文件下刪除不需要的其他文件,然後執行qmake_arm -project ,qmake_arm 和 make  在虛擬機上執行編譯生成的二進制文件時如果出現一句bash: ./tech_clk: cannot execute binary file

說明是在ARM板下執行的文件了,最後把這個可執行文件(如tech_clk)放到NFS文件夾下(如/qtsrceen)

打開開發板,進入u-boot後重新輸入setenv bootargs 'console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.199:/qtscreen ip=192.168.1.15:192.168.1.1:192.168.1.1:255.255.255.0:www.yctek.com:eth0:off'

然後boot回車,進入開發板的linux系統,ls找到剛才編譯好的文件,最後輸入/tech_clk -qws

大功告成

如果屏幕的指針式反方向的,則需要把正確的lib庫拷貝到/qtsceen/usr/local/Trolltech/QtopiaCore-4.3.0-arm/lib中

PS:其中

請寫字板或者UltraEdit等軟件打開,linux打開的話,也最好采用不自動換行的軟件打開,保證以下內容格式不變化。

如果用記事本打開,有的電腦記事本的自動換行會把一下內容格式破壞,復制粘貼到串口終端會有問題。

注意這裡的192.168.1.102是指的你pc端linux的ip地址,請根據實際情況修改。

使用utu-bootloader:

setenv bootargs 'console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.102:/utuLinux/s3c2440/s3c2440_recover ip=192.168.1.15:192.168.1.1:192.168.1.1:255.255.255.0:www.yctek.com:eth0:off'

使用vivi:

param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.102:/utuLinux/s3c2440/s3c2440_recover ip=192.168.1.12:192.168.1.1:192.168.1.1:255.255.255.0:www.yctek.com:eth0:off

setenv bootargs 'console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.199:/qtsrceen ip=192.168.1.15:192.168.1.1:192.168.1.1:255.255.255.0:www.yctek.com:eth0:off'

192.168.1.199 是虛擬機的IP

/qtscreen  是QT觸摸屏文件解壓後的文件夾

Copyright © Linux教程網 All Rights Reserved