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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論