嵌入式實(shí)訓(xùn)總結(jié)_第1頁(yè)
嵌入式實(shí)訓(xùn)總結(jié)_第2頁(yè)
嵌入式實(shí)訓(xùn)總結(jié)_第3頁(yè)
嵌入式實(shí)訓(xùn)總結(jié)_第4頁(yè)
嵌入式實(shí)訓(xùn)總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

-.z.實(shí)訓(xùn)總結(jié)ARM體系構(gòu)造主要內(nèi)容ARM簡(jiǎn)介ARM處理器模式ARM的存放器ARM的異常存儲(chǔ)器I/O參考資料詳細(xì)內(nèi)容參加ARM體系構(gòu)造PPT。RealView的使用安裝破解詳細(xì)過程1.將虛擬iso文件解壓縮〔或者用虛擬光驅(qū)裝載〕,雙擊setup.e*e進(jìn)展安裝2.安裝即將完畢的時(shí)候,會(huì)出現(xiàn)一個(gè)窗口,上面有"下一步〞按鈕3.此時(shí),將rvds4cr.crack文件夾的內(nèi)容,拷貝到C:\ProgramFiles\ARM\文件夾4.開場(chǎng)—運(yùn)行—輸入cmd,點(diǎn)擊確定5.輸入ipconfig/all,并回車6.記下"本地連接〞的PhysicalAddress,例如00-25-3D-5B-7C7.將C:\ProgramFiles\ARM\下的rvds.dat以記事本方式翻開8.將"HOSTID=〞后的字符串替換為6中找到的PhysicalAddress,不要橫杠。9.保存關(guān)閉。10.在2中的窗口內(nèi)點(diǎn)擊下一步,之后點(diǎn)擊"...〞按鈕,選擇好rvds.dat之后,點(diǎn)擊Add按鈕,點(diǎn)擊兩次〔或一次〕"是〞之后繼續(xù)安裝。11.最后運(yùn)行C:\ProgramFiles\ARM\下的Crack.bat〔齒輪〕IDE的使用開場(chǎng)—程序—ARM—ARMWorkbenchIDEv4.0啟動(dòng)RealViewIDEFile—New—RealviewProject輸入ProjectName點(diǎn)擊下一步,調(diào)試和發(fā)行都選中,點(diǎn)擊下一步,不需要選擇Targets,直接點(diǎn)擊下一步,體系構(gòu)造選擇Corte*-A8,其他不用改變,點(diǎn)擊下一步,再點(diǎn)擊下一步,之后選擇Finish,即可創(chuàng)立一個(gè)RealView工程。在工程上點(diǎn)擊右鍵可以添加文件夾〔例如src〕,也可以添加文件,注意匯編文件擴(kuò)展名為.s,C語言文件為.c。匯編語言的例子和C語言的例子見"ARM匯編語言實(shí)驗(yàn)〞壓縮包。調(diào)試方法首先編譯工程〔Project—BuildAll〕,之后點(diǎn)擊菜單欄的Debug按鈕〔蟲子樣子〕,選擇加載到RealViewDebugger中,即可開場(chǎng)調(diào)試。點(diǎn)擊Stepin按鈕,即可單步跳入,點(diǎn)擊Stepover按鈕即可過程調(diào)試。有可能需要查看Register的內(nèi)容,這時(shí)需要點(diǎn)擊View菜單下的Register項(xiàng),翻開存放器查看窗口。指令集常用指令集見參考資料"ARM指令集詳解〞。ARM與C語言混合編程共有四種混合編程方式,詳細(xì)信息可以參考資料"ARM中C語言和匯編語言混合編程〞中的內(nèi)容。串口通信方法串口的根本概念,串口通信的方式,通信的數(shù)據(jù)包格式等。詳細(xì)內(nèi)容請(qǐng)參考"串口通信〞PPT。燒寫板子的方法由于各個(gè)開發(fā)板的使用方法并不一樣,因此需要參考用戶手冊(cè)。一般使用過程為:調(diào)至NorFlash方式啟動(dòng),連接超級(jí)終端。根據(jù)超級(jí)終端中的選項(xiàng),選擇操作格式化NandFlash對(duì)于Linu*系統(tǒng)選擇下載bootloader,可能會(huì)使用到DNW,注意按照手冊(cè)安裝usb驅(qū)動(dòng)選擇下載操作系統(tǒng)內(nèi)核選擇下載根文件系統(tǒng)選擇下載Logo對(duì)于WinCE系統(tǒng)選擇下載Bootloader或者STEPLDR下載EBoot到NandFlash調(diào)到NandFlash,并在開機(jī)時(shí)按空格鍵選擇下載WinCE的鏡像文件QT程序編寫環(huán)境的安裝解壓縮穿插編譯器〔EABI〕,tar*vfjEABI….tar.bz2–C/用gedit/etc/profile添加一條pathmunge,詳細(xì)請(qǐng)參見手冊(cè)解壓縮qt-embedded-opensource…tar.bz2,tar*vfjqt-embedded...tar.bz2–C/進(jìn)入/opt/EmbedSky/qt-4.5下,./arm_qt4.5_build進(jìn)展安裝,需要大約1小時(shí)進(jìn)展安裝,之后使用sourcesetARM_Env來設(shè)置環(huán)境變量。qt-*11的安裝:解壓縮tar*vzfqt-*11-opensource-src-4.5.3.tar.gz-C/進(jìn)入解壓后的qt目錄〔-qvfb參數(shù)說明需要編譯qvfb設(shè)備-prefi*/opt/Qt-*11-4.5.3為改變安裝安裝目錄運(yùn)行命令gmake運(yùn)行g(shù)makeinstall,大約需要1小時(shí)左右gedit/etc/profile翻開profile文件,在該文件的最末尾加上以下語句:e*portPATH=/opt/qt-*11-4.5.3/bin:$PATHe*portMANPATH=/opt/qt-*11-4.5.3/man:$MANPATHe*portLD_LIBRARY_PATH=/opt/qt-*11-4.5.3/lib:$LD_LIBRARY_PATHe*portQMAKESPEC=/mkspecs/linu*-g++注銷重新登陸編譯qvfb#cd/#makeQtcreator的安裝是圖形化的,下一步即可,安裝好后,翻開QtCreator后,依次點(diǎn)擊菜單Tools-Options-Qt4-QtVersion,之后需要設(shè)置編譯器的路徑,可參考手冊(cè)設(shè)置。QT工程創(chuàng)立翻開QtCreator,點(diǎn)擊File-newFileorProject選擇Qt4GuiApplication點(diǎn)擊OkName中填入工程名稱,可任取;Createin中填入目錄,可用Browse按鈕選擇一個(gè)路徑,點(diǎn)擊OkRequiredModules中按需求選取,如果不需要可以不用選取,點(diǎn)擊Ne*tClassname中填入類名,可任?。籅aseClass中選擇QWidget,或根據(jù)需要選擇其他,單擊Ne*t按鈕繼續(xù)點(diǎn)擊Finish完成創(chuàng)立工程QT程序編寫在工程窗口中的Forms文件夾下,有至少一個(gè).ui文件,是界面設(shè)計(jì)文件雙擊這個(gè).ui文件,可以在右側(cè)的窗體上添加按鈕等控件可以修改控件的objName,Te*t等屬性,注意,objName是程序中用的名字,而Te*t是顯示給用戶的在按鈕等控件上單擊右鍵,點(diǎn)擊Gotoslot,可以添加槽函數(shù),可以根據(jù)自己需要選擇信號(hào)和槽函數(shù)實(shí)現(xiàn)槽函數(shù),完成需要的功能,例如響應(yīng)用戶按鍵信息等QT例如程序更多的例如程序請(qǐng)參見壓縮包"qtshili〞QT與硬件編程硬件編程最關(guān)鍵的是應(yīng)用驅(qū)動(dòng)程序。首先需要編寫硬件驅(qū)動(dòng)程序,或者利用已有的驅(qū)動(dòng)進(jìn)展QT程序編寫。因此,需要仔細(xì)參閱驅(qū)動(dòng)程序文檔,認(rèn)真查看每個(gè)函數(shù)各個(gè)參數(shù)的含義。開發(fā)硬件相關(guān)QT程序流程:添加ftl.h、unistd.h和sys/ioctl.h三個(gè)頭文件添加一個(gè)private變量,例如intfd;一般在構(gòu)造函數(shù)中,使用open函數(shù)翻開設(shè)備并存下設(shè)備標(biāo)識(shí)符,如fd=open("/dev/PWM-Test〞,O_RDWR);O_RDWR是一種設(shè)備讀取的方法,此處也可以為只讀〔O_RDONLY〕,只寫〔O_WRONLY〕,或者可讀可寫〔O_RDWR〕等可用ioctl函數(shù)操作設(shè)備,進(jìn)展IO操作,也可用read函數(shù)進(jìn)展讀取,write函數(shù)進(jìn)展寫入,需要根據(jù)具體應(yīng)用確定在析構(gòu)函數(shù)中參加::close(fd);關(guān)閉設(shè)備,這樣在程序完畢的時(shí)候自動(dòng)關(guān)閉設(shè)備注意,如果需要判斷設(shè)備是否可用,可以用if語句判斷fd>=0,例如在關(guān)閉設(shè)備時(shí),經(jīng)常需要這個(gè)操作,即,if(fd>=0){::close(fd);}硬件編程例如程序例如程序見壓縮包"apps〞嵌入式移植Bootloader移植解壓縮uboot源代碼,例如tar*vfjuboot-1.1.6.tar.bz2–C/在uboot目錄下修改一些文件,并添加支持自己的板子的源代碼,天嵌的uboot已經(jīng)改好,我們不需要自己修改在uboot目錄下執(zhí)行makeEmbedSky,配置uboot使它適用于我們的板子執(zhí)行make進(jìn)展編譯,編譯出uboot.bin文件即可燒錄Bootloader重要文件及函數(shù)文件名start.Sboard.cmain.c函數(shù)名_startstart_armboot ()main_loop()添加新的命令include/cmd_confdefs.h中需要添加一個(gè)自定義命令的宏定義,例如#defineCFG_CMD_HELLOWORLD 0*00000ULL在mon文件夾下創(chuàng)立一個(gè)命令的源碼文件,如cmd_helloworld.c編寫命令源碼文件內(nèi)容,可以參照cmd_cache.c等在include/configs/EmbedSky.h中的CONFIG_MANDS宏定義的最后一個(gè)元素,括號(hào)前參加|\添加剛剛在cmd_confdefs.h中定義的宏,如添加CFG_CMD_HELLOWORLD以使能命令重新編譯uboot即可使用新命令添加命令的菜單欄顯示翻開mon/cmd_menu.c文件,找到main_menu_usage函數(shù),在printf("Enteryourselection:");前面參加自己的printf,例如printf("[h]Helloworldmand〞);找到menu_shell函數(shù),在case‘Q’:case’q’{…}之后添加自己的case‘H’:case’h’:{…}括號(hào){}中填寫run_mand("Helloworld〞,0);即可內(nèi)核移植使用命令tar*vfjlinu*-2.6.30.4.tar.bz2–C/對(duì)內(nèi)核進(jìn)展解壓縮在內(nèi)核目錄下,輸入makemenuconfigARCH=armCROSS_CMPILE=arm-linu*-翻開配置頁(yè)面內(nèi)核的配置可用loadanalternatefile參加一個(gè)已經(jīng)配置好的文件可使用鍵盤方向鍵和空格、Y、N、M對(duì)其中選項(xiàng)進(jìn)展勾選和去除配置好后,在頂級(jí)菜單中選擇Saveanalternate,并將文件保存為.config文件退出編譯內(nèi)核使用makezImage即可編譯內(nèi)核,會(huì)花費(fèi)一些時(shí)間,編譯好的內(nèi)核可通過超級(jí)終端及DNW燒寫到板子中。詳細(xì)信息更多的詳細(xì)信息,請(qǐng)參考開發(fā)版的移植手冊(cè)。根文件系統(tǒng)移植文件系統(tǒng)移植需要工具BusyBo*,需要先解壓縮并編譯BusyBos,使用命令tar*vfjbusybo*…tar.bz2–C/進(jìn)展解壓縮之后使用命令makemenuconfigARCH=armCROSS_CMPILE=arm-linu*-對(duì)BusyBo*進(jìn)展配置,并用Save選項(xiàng)保存配置,名字任意之后使用make命令進(jìn)展編譯使用makeinstall命令進(jìn)展安裝,會(huì)生成一個(gè)_install文件夾建立一個(gè)自己的文件夾,名為root-2.6.30.4〔可任取〕將_install文件夾全部?jī)?nèi)容拷貝到自己的root-2.6.30.4文件夾下添加一系列目錄〔文件夾〕,詳細(xì)請(qǐng)參考開發(fā)板移植手冊(cè)將一些必要的配置文件參加上述文件夾中進(jìn)入root-2.6.30.4的上級(jí)目錄,輸入命令mkyaffs2imageroot-2.6.30.4roor.bin即可生成根文件系統(tǒng)可將自己的根文件系統(tǒng)燒寫到板子上進(jìn)展測(cè)試驅(qū)動(dòng)程序的移植編寫驅(qū)動(dòng)程序的源文件,如helloworld.c,并添加到內(nèi)核源碼〔內(nèi)核移植中解壓縮出的〕的相應(yīng)目錄下,例如,字符設(shè)備需要添加到drivers/char/修改drivers/char/中的Kconfig,在menu"Characterdevices〞,后面參加一個(gè)菜單項(xiàng),如configHELLOWORLD tristate"Helloworlddriver〞 dependsonARCH_S3C2440修改drivers/char/中的Makefile文件參加目標(biāo)文件,如obj-$(CONFIG_HELLOWORLD)+=helloworld.o,注意文件名字的大小寫使用makemenuconfigARCH=armCROSS_CMPILE=arm-linu*-配置內(nèi)核,在Drivers菜單項(xiàng)下的CharacterDevices下會(huì)出現(xiàn)Helloworld驅(qū)動(dòng)程序,用鍵盤M按鍵選中在內(nèi)核源碼目錄下使用命令makeSUBDIR=drivers/char/modules對(duì)驅(qū)動(dòng)模塊進(jìn)展編譯,會(huì)在drivers/char/生成helloworld.ko文件通過超級(jí)終端發(fā)送到板子上,即可使用insmod命令加載,如insmodhelloworld.ko可以使用rmmod命令卸載驅(qū)動(dòng),如rmmodhelloworld.ko工程——嵌入式電子書設(shè)計(jì)程序解釋見源碼注釋??赡軉柕膯栴}: 程序如何運(yùn)行?程序首先運(yùn)行的是mian函數(shù),由main函數(shù)中創(chuàng)立一個(gè)應(yīng)用程序類,和一個(gè)電子書的窗體類,通過調(diào)用電子書窗體類的show()方法,讓這個(gè)電子書窗口顯示出來,同時(shí)調(diào)用應(yīng)用程序的e*ec()方法,讓應(yīng)用程序運(yùn)行起來。電子書如何讀取存儲(chǔ)器中的文件?首先調(diào)用QT中翻開文件的函數(shù),顯示一個(gè)翻開對(duì)話框,讓用戶選擇一個(gè)文件,之后使用Qfile類對(duì)文件進(jìn)展翻開操作。由于需要支持中文,所以采用QTe*tStream類讀取文本,采用QTe*tCodec類提供GBK的編碼器,使用read函數(shù)進(jìn)展讀取。電子書如何顯示文字?采用QPlainTe*tEdit控件顯示文字,并通過這個(gè)空間的QScrollBar〔滾動(dòng)條類〕控制文字的位置,實(shí)現(xiàn)上滾和下滾。電子書如何翻頁(yè),如何查看上一行、下一行?電子書

溫馨提示

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

評(píng)論

0/150

提交評(píng)論