freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于linux嵌入式開發(fā)板的qt的移植與應(yīng)用(編輯修改稿)

2024-07-15 17:20 本頁面
 

【文章內(nèi)容簡介】 netstat –tlp輸入命令后,如果看到了ssh,說明正常工作了,如果沒有看到ssh,可以重新啟動ssh服務(wù),再用命令:netstat –tlp進(jìn)行確認(rèn),重新啟動ssh服務(wù)可以使用如下命令:/etc/ssh在本設(shè)計(jì)中主要是用來在Windows XP系統(tǒng)和Ubuntu系統(tǒng)之間傳輸文件,這個(gè)軟件的使用方法很簡單,本文不作說明。如果在Windows XP系統(tǒng)下使用ssh軟件時(shí),出現(xiàn)不能登錄到Ubuntu系統(tǒng)的現(xiàn)象,這時(shí)需要檢查Ubuntu系統(tǒng)的IP地址,DNS是否設(shè)置正確,還需要關(guān)閉Ubuntu系統(tǒng)的防火墻,關(guān)閉方法為:ufw disable代碼經(jīng)過編譯以后都要變成CPU可以識別的機(jī)器語言,而幾乎一千種CPU說著一千種語言。由于宿主機(jī)與目標(biāo)機(jī)的CPU一般不相同,宿主機(jī)也就是我們常用的PC機(jī)是以X86為核心的,而目標(biāo)板則是ARM體系結(jié)構(gòu)的,因此需要在宿主機(jī)機(jī)上建立一個(gè)用于目標(biāo)機(jī)的交叉編譯環(huán)境,也就是將各種二進(jìn)制工具程序集成為工具鏈,其中包括如GNU的鏈接器(ld)、GNU的匯編器(as)、ar(產(chǎn)生修改和解開一個(gè)存檔文件)、C編譯器(gcc)以及C鏈接庫(glibc)等等。在一種計(jì)算機(jī)環(huán)境中運(yùn)行的編譯程序,能編譯出在另外一種環(huán)境下運(yùn)行的代碼,我們就稱這種編譯器支持交叉編譯。這個(gè)編譯過程就叫交叉編譯。簡單地說,就是在一個(gè)平臺上生成另一個(gè)平臺上的可執(zhí)行代碼。這里需要注意的是所謂平臺,實(shí)際上包含兩個(gè)概念:體系結(jié)構(gòu)(Architecture)、操作系統(tǒng)(Operating System)。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。以下是交叉編譯器的安裝方法:將交叉編譯工具源碼包通過ssh上傳到Ubuntu,然后通過如下命令進(jìn)行解壓:tar jxvf –C /opt/該解壓命令中,C /opt/參數(shù),表示解壓到/opt/目錄下。解壓之后,我們需要用到的交叉編譯器armnonelinuxgnueabigcc就在/opt/arm2007q1/bin目錄下。為了可以直接輸入交叉編譯器的名稱就可使用它,:export PATH=$PATH:/opt/arm2007q1/bin:vi ~/.bashrc為了使PATH變量生效,可以重新打開一個(gè)終端或者使用如下命令:source ~/.bashrc 安裝tslibtslib 是一個(gè)用于觸摸屏設(shè)備的函數(shù)庫。通過這樣一個(gè)函數(shù)庫,可以將編程者從繁瑣的數(shù)據(jù)處理中解脫出來。為什么會出現(xiàn)這樣的情況呢?因?yàn)橛|摸屏的坐標(biāo)和液晶顯示屏之間的坐標(biāo)并不是一一對應(yīng)的,所以,要讓從觸摸屏上得到的坐標(biāo)正確轉(zhuǎn)換為液晶顯示屏上的坐標(biāo),需要經(jīng)過一個(gè)轉(zhuǎn)換過程。除此之外,tslib還以插件的形式提供了一些附加的功能,比如去除點(diǎn)擊觸摸屏?xí)r的抖動等。Tslib的安裝步驟為,配置,編譯,安裝。將tslib源碼包通過ssh軟件上傳到Ubuntu系統(tǒng)下,然后通過如下命令解壓出來:tar zxvf 在安裝之前還需要安裝一些編譯時(shí)需要用到的文件,可以通過以下命令來安裝這些工具:aptget install automakeaptget install libtool其中automake用于自動生成Makefile。libtool主要的一個(gè)作用是在編譯大型軟件的過程中解決了庫的依賴問題;將繁重的庫依賴關(guān)系的維護(hù)工作承擔(dān)下來,從而釋放了程序員的人力資源。 配置,編譯,安裝tslib進(jìn)入tslib源碼包解壓后所在的目錄,使用./,然后利用configure文件配置tslib,配置tslib使用如下命令:./configure prefix=/usr/local/tslib/ host=armnonelinuxgnueabiprefix參數(shù)是預(yù)設(shè)一個(gè)安裝目錄,host參數(shù)是為編譯時(shí)指定一個(gè)編譯器。配置完成后,就可以編譯了。直接使用make命令,即可編譯。編譯一段時(shí)間之后出現(xiàn)錯誤,提示找不到rpl_malloc,在當(dāng)前目錄查找了rpl_malloc,發(fā)現(xiàn)configure里有define malloc rpl_malloc一行。從configure 腳本相關(guān)代碼知是ac_cv_func_malloc_0_nonnull引起的,可以不讓它檢查了,欺騙configure。echo ac_cv_func_malloc_0_nonnull=yes ,通過以上命令產(chǎn)生一個(gè)cache文件,echo是輸出的意思,然后再重新配置一下,配置命令:./configure prefix=/usr/local/tslib/ host=armnonelinuxgnueabi cachefile=然后編譯安裝即可,安裝使用命令:make install 配置,編譯,為了得到移植需要用到的文件,編譯,安裝,也可以得到ARM版本的,這里我們配置成ARM版本的。,需要在源碼目錄之外的目錄下配置。本設(shè)計(jì)中把源碼包放在了/home/share/qtopia4/目錄下,然后在這個(gè)目錄下新建了一個(gè)配置目錄build,新建配置目錄build使用了命令:mkdir build配置之前,先設(shè)置一下整個(gè)移植過程中需要用到的交叉編譯器,使用vi或者vim命令打開源碼目錄下的如下文件:qtopiacore/qt/mkspecs/qws/linuxarmg++/ 將里面的armlinux全改成armnonelinuxgnueabi。然后再安裝配置過程中需要用到的四個(gè)庫文件和g++編譯器,四個(gè)庫文件如下:libx11dev、libxextdev、libpng12dev、libxtstdev。安裝方法都是使用aptget install。比如安裝g++編譯器,可以使用如下命令:aptget install g++配置之前的準(zhǔn)備工作做好后,就可以配置了,進(jìn)入build目錄,輸入如下配置命令,然后按回車,當(dāng)提示是否接受GPL協(xié)議時(shí),輸入yes,接受即可。大概兩個(gè)小時(shí)之后,配置成功。配置命令如下:../++ arch arm displaysizes 240x320 buildqt uitype home addfont wenquanyi:*:* qtopiasqlite v4l2 removemodule modem removemodule bluetooth removemodule drm removemodule infrared extraqtembeddedconfig xplatform qws/linuxarmg++ embedded arm qconfig qpe shared littleendian webkit qtkbdusb qtlibpng qtlibjpeg qtgif depths 16 qtmousetslib I/usr/local/tslib/include L/usr/local/tslib/lib 關(guān)于配置信息的意義,可以通過輸入. /configure –help 來查看。解釋一下其中幾個(gè)關(guān)鍵的配置選項(xiàng),image dir設(shè)置Qt Extended 的安裝目錄為dir這里為usr/local/Trolltech/。prefix 設(shè)置Qt Extended 運(yùn)行時(shí)的目錄,這里是usr/local/Trolltech/。xplatform 設(shè)定目標(biāo)平臺使用的編譯器,這里設(shè)定為linuxarmg++。我們實(shí)際上使用的是armnonelinuxgnueabig++和armnonelinuxgnueabigcc。配置之前,我們已經(jīng)修改過了。displaysizes 設(shè)定顯示屏的大小,uitype設(shè)置使用什么樣的界面,有mobile和home兩個(gè)選擇。I和L分別是設(shè)定會用到的頭文件和庫文件的路徑。在build目錄下,輸入如下命令:bin/qbuild開始編譯,4個(gè)多小時(shí)后編譯成功。在build目錄下,輸入如下命令:bin/qbuild image開始安裝,大概半個(gè)小時(shí)后安裝成功。 這里的移植指的是,把Ubuntu系統(tǒng)下tslib和QtExtended的安裝文件拷貝到開發(fā)板上相應(yīng)目錄下即可。拷貝方法有:使用網(wǎng)絡(luò)或者U盤或者SD卡。這里使用網(wǎng)絡(luò),我們已經(jīng)在Ubuntu系統(tǒng)下開通了nfs服務(wù),當(dāng)然必須確保開發(fā)板也開通了nfs服務(wù)。具體使用方法是:通過mount命令把Ubuntu系統(tǒng)下的文件掛載到開發(fā)板上,然后再使用cp拷貝命令把文件拷貝到開發(fā)板上。下面說明一下這里用到的mount命令[6]的使用方法:mount –t nfs –o nolock :/home/share /mnt/nfst選項(xiàng)用于設(shè)定文件系統(tǒng)類型,其中的IP為Ubuntu系統(tǒng)的IP地址,IP后面的目錄為Ubuntu系統(tǒng)里面的共享目錄,最后的目錄為開發(fā)板上的目錄,掛載成功后就可以在該目錄下查看Ubuntu系統(tǒng)的/home/share目錄下的所有內(nèi)容了,還可以把里面的文件拷貝到開發(fā)板上。在使用上面的mount命令之前,在Ubuntu系統(tǒng)中,我們需要把tslib和QtExtended的安裝文件拷貝到/home/share目錄下。下面的操作都假設(shè)已經(jīng)掛載好了。 移植tslib首先在開發(fā)板上新建一個(gè)目錄,最好在usr目錄下新建,用來放tslib的安裝文件,新建目錄的命令如下:mkdir –p /usr/local/p參數(shù)確保目錄名稱存在,不存在就新建一個(gè)。然后拷貝tslib的安裝文件到該目錄下,使用命令為:cp /mnt/nfs/tslib –r /usr/local/r參數(shù)表示復(fù)制tslib整個(gè)目錄。 在開發(fā)板的local目錄下新建一個(gè)目錄Trolltech,用來放QtExtended的安裝文件,這個(gè)目錄一定要和配置的時(shí)候設(shè)置的是一致的,否則無法運(yùn)行。新建目錄的命令如下:mkdir –p /usr/local/Trolltech,拷貝命令為:cp /mnt/nfs/ –r /usr/local/Trolltech/ 設(shè)置環(huán)境變量使用vi命令打開一個(gè)文件qtopia4,配置環(huán)境變量,然后保存在/bin目錄下。qtopia4文件的內(nèi)容如下所示:!/bin/shexport TSLIB_TSDEVICE=/dev/input/event0export TSLIB_FBDEVICE=/dev/fb0export TSLIB_CONFFILE=/usr/local/mytslib/etc/export TSLIB_PLUGINDIR=/usr/local/mytslib/lib/tsexport TSLIB_CALIBFILE=/etc/pointercalexport QPEDIR=/usr/local/Trolltech/export PATH=$QPEDIR/bin/:$PATHexport LD_LIBRARY_PATH=$QPEDIR/lib/:/usr/local/mytslib/lib:$LD_LIBRARY _PATHexport QWS_SIZE=240x320export QWS_DISPLAY=LinuxFb:mmWidth100:mmHeight50:0export QWS_MOUSE
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1