x3399linux平臺用戶手冊_第1頁
x3399linux平臺用戶手冊_第2頁
x3399linux平臺用戶手冊_第3頁
x3399linux平臺用戶手冊_第4頁
x3399linux平臺用戶手冊_第5頁
免費預覽已結(jié)束,剩余54頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

本手冊歸屬市九鼎創(chuàng)展科技所有,并保留一力非九創(chuàng)同(式)何位個不擅摘錄本手冊部分或全部,違者其。敬告在售開發(fā)板冊會經(jīng)常更新,請在手冊,不再另行通知版本說如果您對文檔有所疑問,您可以在辦公時間(星期一至星期五上午9:00~12:00;下午 、留言到BBS(。::銷售 E- 銷售與服務網(wǎng)絡 :號X4418/ibox4418x6818/ibox6818x3288/x3399 ...................................................................................................................2第1章編譯 編譯 第2章燒寫linuxQT映 第3章QT文件系統(tǒng)的搭 buildroot 配置 編譯 安裝QT 第4章qttest測試程 使用QT_demo測試LED 使用QT_demo測試U 第5章linux底層開發(fā)示 mp3 掛載TF 掛載U 第6章linux應用開發(fā)示 o mplayer移 第7章安裝debain操作系 安裝debain源碼 編譯 更新 第8章其他產(chǎn)品介 第1安裝依賴包sudoapt-getsudoapt-getinstallgit-coregnupgflexbisongperflibsdl1.2-devlibwxgtk3.0-devbuild-essentialzipcurlzlib1g-devgcc-multilibg++-multilibsudoapt-getsudoapt-getinstallgit-coregnupgflexbisongperflibsdl1.2-devlibwxgtk3.0-devbuild-essentialzipcurlzlib1g-devgcc-multilibg++-multilibgenromfslibc6-dev-i386libncurses5-devx11proto-core-devlibx11-devccachelibgl1-mesa-devlibxml2-utilsxsltprocunzipgperflsb-corelib32z1-devlib32ncurses5-devlzop系統(tǒng)時,請使用android6.0的源碼包。 -在android6.0源碼下執(zhí)行如下命令編譯uboot,編譯完成后映像文件RK3399MiniLoaderAll_V1.05.bin(因版本不同,名稱不一定相同)以及uboot.img會到out/release -linux內(nèi)說明:QTandroid6.0android的內(nèi)核,請使用android6.0的源碼包。 -android源碼下執(zhí)行如下命令編譯linuxkernel.img、resource.img會到out/release -編譯linux文件系 - - sudoapt-getinstall 再執(zhí)行./mk.shb指令即可正常編譯了。編譯完成后,最終打包好的文件系統(tǒng)linux-rootfs.imgout/releaseQT5.6QT inux.img文件系 - -updainux.img為整個QT系統(tǒng)升級文件的單一映像,包括了uboot,內(nèi)核,文件系統(tǒng)統(tǒng),。Windows下燒寫映像文tools\x3399燒寫工具\windowsDriverAssitant_v4.5.zip文件,打開 tools\x3399燒寫工具\windows下的AndroidTool_Release_v2.38.zip文件,得到AndroidTool_Release_v2.38文件夾,打開AndroidTool.exe,選擇“升級固件”選項卡,LOADER設備,然后點擊升級,即可開始升級過程(注:如果提示發(fā)現(xiàn)一個ADB設備,點擊切換按鈕切換成LOADER設備即可。解壓光盤tools\x3399燒寫工具\windows下的FactoryTool-v1.42e.rar文件,打開3USB、DCrecovery鍵(VOL+鍵)USB口發(fā)linux下燒寫映像文件 work@ubuntu:~/LinuxUpgradework@ubuntu:~/LinuxUpgradeToolv1.24$cp work@ubuntu:~/LinuxUpgradeToolv1.24$sudo CDDI命令 config.iniUF即可升級,請用上一節(jié)介紹了通過upgrade_tool燒寫固件updainux.img的方法,熟悉三星迅速。其實,upgrade_tool工具同樣支持類似于fastboot的燒寫方式。到out/release。第一步:打開串口終端,并打開,用于適時串口調(diào)試信息第二步:按住RECOVERY鍵,連接USBOTGuboot打印信息將會提示已經(jīng)進入USB模式。如果接通電源后沒來得及按住RECOVERY鍵,在按住RECOVERY鍵的同時,再按下復位鍵即可。out/release sudo–kkernel.img(燒寫內(nèi)核sudo–ssystem.img(燒寫文件系統(tǒng)sudoresourceresource.img(燒寫資源文件sudosudoRK3399MiniLoaderAll_V1.05.bin燒寫sudoubootuboot.imgparameter.txt(uboot,必須指sudo sudowork@ubuntu:~/rktool$sudoapt-getinstallbuild-essentialfakerootwork@ubuntu:~/rktool$gitclone work@ubuntu:~/rktool$cdrkflashkitwork@ubuntu:~/rktool$work@ubuntu:~/rktool$sudoapt-getinstallbuild-essentialfakerootwork@ubuntu:~/rktool$gitclone work@ubuntu:~/rktool$cdrkflashkitwork@ubuntu:~/rktool$./wafwork@ubuntu:~/rktool$sudoapt-getinstallpython-gtk2行l(wèi)s命令查看下即可。 work@ubuntu:~/rktool/rkflashkit$work@ubuntu:~/rktool/rkflashkit$rkflashkit--helpUsage:<cmd>[args][<cmd>[args]...] List Flashpartitionwithimagecmp@<PARTITION><IMAGEFILE> Comparepartitionwithimagefilebackup@<PARTITION><IMAGEFILE>Backuppartitiontoimagefile Erasepartition RebootForexample,flashdevicewithboot.imgandkernel.img,thenreboot:sudorkflashkitflash@bootboot.img@kernel.imgkernel.imgreboot第3QT buildroot將的buildroot包拷貝到ubuntu系統(tǒng)用戶 并解壓,得到buildroot 令終端進入buildroot ,執(zhí)行make 進入options菜單 退回上一級,進入packages ,再進入Graphiclibrariesandapplications ,選擇Qt5,如下圖所示:Qt,它對應QT4.8版本。進入Qt5 cp.config到此,buildroot配置完成。默認配置保存在buildroot根 的.config中,可以備cp.configmakebuildrootbuildroot會會依賴一些第rootfs.ext2output/images。測試QT5默認示 ogclock這時,在開發(fā)板上可以看到有一個時鐘圖案被繪制出來(會覆蓋默認的QTTEST程序),./rasterwindow ./rasterwindow ./windows./windows ./drilldown./drilldown ./books ./books./masterdetail ./masterdetail 通常使用QTCreator創(chuàng)建基于QT的工程。在QT官網(wǎng)的QT安裝包,下到ubuntu的用 編譯QTCreator開ImageCompositionExample示例,它是一個疊加顯示的示例,找到該示例,單擊即下面該示例編譯到開發(fā)板上運行。使用QTCreator打開上面的示例工程,如下選擇Projects1DesktopQt5.5.0GCC64bit64位的GCC2debugrelease模式,debug模式34qmake5為調(diào)試按鍵,第四個為編譯按鈕。框圖6為一些輸出信息,如CompileOutput,會給出整個編譯的信息。在左測框中選擇Build&Run,在后邊選擇QtVersions,默認Manual為空,Auto-detected選擇默認的qmake,它將運行在X86平臺的linux系統(tǒng)上,因此要手動添加在ARM平臺上運行的qmake。Manual為空,Auto-detected為支持X863264位的GCC,這將直接導致編譯出來只能在PC機上運行。點擊Add,選擇GCC,如下圖所示:在Name中重命名,以區(qū)別ARM和PC平臺,如命名為GCC-ARM-LINUX,它將再回到QT的工程界面,發(fā)現(xiàn)框圖1中的配置仍然針對PC機,點擊框圖1中注意,這時默認Manual仍然為空,點擊Add,會彈出一個有很多選項的 第4qttest測試程QT_demoLED使用QT_demo測試蜂鳴進入QT5.6.1系統(tǒng)后,默認會運行自主編寫的測試demo,測試界面如下使用QT_demo調(diào)節(jié)使用QT_demo測試使用QT_demo測試使用QT_demo測試觸摸 使用QT_demo測試連通,則會添加DNS,如果沒有連通,則會提示相應錯誤,如下圖所示:QT_demoTFQT_demoUU盤接到開發(fā)板的任何一個USBHOSTUdiskTest,數(shù)據(jù)框中會列出使用QT_demo測試點擊Reboot使用QT_demo測試第5linux底層開5.1 連接串口后,可以通過PC09 在運行程 的指令后面添加一個”&”即可。如音樂時使用如下命令: 中止程序的運段音頻文件,可以按ctrl+c退出程序。但是如果程序在運行,那么按ctrl+c就不管用了。這時可以使用kill命令。屏幕抓圖 本文檔中的各個,都是采用gsnap這個工具進行抓圖的。進入QT圖形界面后,我 這時在當前test_pic.jpggsnap移植步驟在后面會有詳細TF的內(nèi)容。將TF卡插到開發(fā)板的任意卡槽,串口終端會有如下提示: 將會自動生成一個名叫mmcblk1p1的塊設備文件。它就是對應的TF卡的 查看 下的內(nèi)容,即是TF卡中的內(nèi)容,如下圖所示的內(nèi)容。U盤后,串口終端會有如下提示: U盤設備文件, 查看 保存系統(tǒng)時鐘 掉電保存數(shù)據(jù)到cp qu.mp3ext4文件系統(tǒng),因此可以很方便的保存數(shù)據(jù),確保掉電后數(shù)據(jù)不丟失。如從Ucp qu.mp3重啟開發(fā)板,發(fā)現(xiàn)在root仍然存在剛才拷備的這首歌曲,說明掉電后數(shù)據(jù)并設置開機自動運行程序自動批處理文件。啟動位于/etc/init.d/rcS中,可以將自己想要開機運行的程序或是 這時,開機后就會名叫start.mp3的音樂了。注意start.mp3需要在當前執(zhí)行指令所在。查看開發(fā)板內(nèi)存信息X33992GBLPDDR3SDRAMuboot第6linux應用開本手冊給出的所有應用程序全部在九鼎創(chuàng)展x3399開發(fā)板上運行,這里僅給出了一些 o在 o.c和makefile兩個文件 這是一個最基礎的應用程序,如果 了交叉編譯工具(exporto o.c- o o.c- o可執(zhí)行文件,可以使用file命令查詢執(zhí)行文件是否為ARM體系文件: 到 aarch64-linux-gnu-gcc–ooo.crm oaarch64-linux-gnu-gcc–ooo.crm o 數(shù)學函數(shù)庫調(diào)mkdirmkdircdmathvimmath.c#include<stdioh>#include#include<stdioh>#include<stdlib.h>#include<math.h>int{doublea=9.0;return}LDFLAGS=-lm-static${CC}-o$@$^rm-fmath${CC}-o$@$^rm-fmath多線程編程示mkdirmkdircdthreadvimthread.c#include<stddefh>#include<stdioh>#include<unistdh>#include"pthreadh"voidfunction1(void);voidfunction2(void);int#include<stddefh>#include<stdioh>#include<unistdh>#include"pthreadh"voidfunction1(void);voidfunction2(void);intfunc_flag=0;{pthread_treader;}void{{{}}}}void{{{}}}LDFLAGS=-lpthreadLDFLAGS=-lpthread-${CC}-o$@$^rm-fthreadmakethread多進程編程示Linuxforkfork時,系統(tǒng)將產(chǎn)生一個與當前進#include#include<unistd.h> pid= {pid_tpid;if(pid<0){return1;}elseif(pid=={while{printf("thechildprocessisrunningnow.pid=%d\n",getpid());sleep(1);//linux延時函數(shù),延時1秒}}{while{printf("theperentprocessisrunningnow.pid=%d\n",getpid());}}return}LDFLAGS=-lpthread-${CC}-o$@$^rm-fprocess ${CC}-o$@$^rm-fprocessmakefile編程示在上面的很多測試程序?qū)嵗校季帉懥艘恍┖唵蔚膍akefile文件。下面介紹makefile的基本的語法。這里給出三個文件:main.c,func.c,func.h。主程序在main.c中,在main.c中程序會調(diào)用func.c中的函數(shù),func.c中的函數(shù)又會用到func.h中定義的變量。#include#include"func.h"externintfd;intmain(intargc,char{if(fd==-1){printf("opendevice%serror\n",DEVICE_NAME);return0;}{printf("opendevice%sok!}{}returnreturn}#includevoid{}#includevoid{}#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/ioctl.h>#defineDEVICE_NAME #defineLED_ON0x11#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/ioctl.h>#defineDEVICE_NAME #defineLED_ON0x11intLED測試程序,人為的分成的三個文件。的目的不在于分離代碼,而在于學習makefile的編寫方法。aarch64-linux-gnu-gcc-omkfilemain.ofunc.oaarch64-linux-gnu-gcc-cmain.c-omain.ofunc.o:func.cfunc.haarch64-linux-gnu-gcc-cfunc.caarch64-linux-gnu-gcc-omkfilemain.ofunc.oaarch64-linux-gnu-gcc-cmain.c-omain.ofunc.o:func.cfunc.haarch64-linux-gnu-gcc-cfunc.c-orm-fmkfilemakemain.cfunc.cmain.ofunc.o文件,最后將這兩個.o文件打包到可執(zhí)行文件mkfile中。這時將mkfile文件到開發(fā)板運行,效果和前面的是一樣的??梢詧?zhí)行makeclean指令清除生成的.o文件和可執(zhí)行文件。rm-fmkfilerm-fmkfile可見,這次比上面的完整版要簡化多了。前面通過變量OBJS定義了要編譯的源文件,變量CC給出了交叉編譯工具。$@表示目標文件的全稱,即mkfile,$^表示所有被依賴的文件,并以空格分開,即main.ofunc.o。后面的clean為清除指令,執(zhí)行makeclean后會執(zhí)行clean后面的指令。需要注意的是,rm指令后面千萬不要使用$@符號來表征要刪除的目標文件,因為這時候$@已經(jīng)不再表示mkfile了,而表示clean。同樣,使用make指令 文件mkfile。main.ofunc.o,第二句定義了變量CC,將它賦值為一個交叉編譯工具定義。變量時,稱為my.so(image.o),則$@為my.so,而$%為image.o${CC}-o$@rm-fmkfile對比以上幾種編譯方式,不然發(fā)現(xiàn),其實最簡的還是第一種,因為它就一句話就${CC}-o$@rm-fmkfile發(fā)現(xiàn),單獨對main.c和func.c兩個文件編譯的指令已經(jīng)去掉了。前面提到,makefile具有強大的推理功能,在生成目標文件mkfile時,makefile會推理出它需要main.c和mplayer移有兩種移植mplayer,第法就是直接mplayer源碼包,手動配置編譯環(huán)境,再通過交叉編譯環(huán)境編譯。該方法比較傳統(tǒng),有更方便的方法,直接在buildroot中選在buildroot的config配置選項中,進入packages->Audioandapplica

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論