工程量還是蠻復雜的。這裡針對自己的板子和自己的電腦。
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觸摸屏文件解壓後的文件夾