




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、實訓(xùn)總結(jié)ARM體系結(jié)構(gòu)主要內(nèi)容(1) ARM簡介(2) ARM處理器模式(3) ARM的寄存器 (4) ARM的異常(5) 存儲器I/O參考資料詳細(xì)內(nèi)容參加ARM體系結(jié)構(gòu)PPT。RealView的使用安裝破解詳細(xì)過程1. 將虛擬iso文件解壓縮(或者用虛擬光驅(qū)裝載),雙擊setup.exe進行安裝2. 安裝即將結(jié)束的時候,會出現(xiàn)一個窗口,上面有“下一步”按鈕3. 此時,將rvds4cr.crack文件夾的內(nèi)容,拷貝到C:Program FilesARM文件夾4. 開始運行輸入cmd,點擊確定5. 輸入ipconfig/all,并回車6. 記下“本地連接”的Physical Address,例如
2、00-25-3D-5B-7C7. 將C:Program FilesARM下的rvds.dat以記事本方式打開8. 將“HOSTID=”后的字符串替換為6中找到的Physical Address, 不要橫杠。9. 保存關(guān)閉。10. 在2中的窗口內(nèi)點擊下一步,之后點擊“.”按鈕,選擇好rvds.dat之后,點擊Add按鈕,點擊兩次(或一次)“是”之后繼續(xù)安裝。11. 最后運行C:Program FilesARM下的Crack.bat(齒輪)IDE的使用開始程序ARMARM Workbench IDE v4.0啟動RealViewIDEFileNewRealview Project輸入Project
3、Name點擊下一步,調(diào)試和發(fā)行都選中,點擊下一步,不需要選擇Targets,直接點擊下一步,體系結(jié)構(gòu)選擇Cortex-A8,其他不用改變,點擊下一步,再點擊下一步,之后選擇Finish,即可創(chuàng)建一個RealView工程。在工程上點擊右鍵可以添加文件夾(例如src),也可以添加文件,注意匯編文件擴展名為.s,C語言文件為.c。匯編語言的例子和C語言的例子見“ARM匯編語言實驗”壓縮包。調(diào)試方法首先編譯工程(ProjectBuildAll),之后點擊菜單欄的Debug按鈕(蟲子樣子),選擇加載到RealView Debugger中,即可開始調(diào)試。點擊Step in按鈕,即可單步跳入,點擊Step
4、over按鈕即可過程調(diào)試。有可能需要查看Register的內(nèi)容,這時需要點擊View菜單下的Register項,打開寄存器查看窗口。指令集常用指令集見參考資料“ARM指令集詳解”。ARM與C語言混合編程共有四種混合編程方式,詳細(xì)信息可以參考資料“ARM中C語言和匯編語言混合編程”中的內(nèi)容。串口通信方法串口的基本概念,串口通信的方式,通信的數(shù)據(jù)包格式等。詳細(xì)內(nèi)容請參考“串口通信”PPT。燒寫板子的方法由于各個開發(fā)板的使用方法并不相同,因此需要參考用戶手冊。一般使用過程為:1. 調(diào)至NorFlash方式啟動,連接超級終端。根據(jù)超級終端中的選項,選擇操作2. 格式化NandFlash對于Linux系
5、統(tǒng)3. 選擇下載bootloader,可能會使用到DNW,注意按照手冊安裝usb驅(qū)動4. 選擇下載操作系統(tǒng)內(nèi)核5. 選擇下載根文件系統(tǒng)6. 選擇下載Logo對于WinCE系統(tǒng)3. 選擇下載Bootloader或者STEPLDR4. 下載EBoot到NandFlash5. 調(diào)到NandFlash,并在開機時按空格鍵6. 選擇下載WinCE的鏡像文件QT程序編寫環(huán)境的安裝1. 解壓縮交叉編譯器(EABI),tar xvfj EABI.tar.bz2 C /2. 用gedit /etc/profile 添加一條pathmunge,詳細(xì)請參見手冊3. 解壓縮qt-embedded-opensource
6、tar.bz2,tar xvfj qt-embedded.tar.bz2 C /7. 進入/opt/EmbedSky/qt-4.5下,./arm_qt4.5_build進行安裝,需要大約1小時進行安裝,之后使用source setARM_Env來設(shè)置環(huán)境變量。8. qt-x11的安裝:a) 從ftp:/b) 解壓縮tar xvzf qt-x11-opensource-src-4.5.3.tar.gz -C /c) 進入解壓后的qt目錄(qt-x11-opensource-src-4.5.3),運行命令./configure -qvfb -prefix /opt/qt-x11-4.5.3i) -
7、qvfb參數(shù)說明需要編譯qvfb設(shè)備ii) -prefix /opt/Qt-x11-4.5.3為改變安裝安裝目錄d) 運行命令gmakee) 運行g(shù)make install,大約需要1小時左右f) gedit /etc/profile打開profile文件,在該文件的最末尾加上以下語句:export PATH=/opt/qt-x11-4.5.3/bin:$PATHexport QTDIR=/opt/qt-x11-4.5.3export MANPATH=/opt/qt-x11-4.5.3/man:$MANPATHexport LD_LIBRARY_PATH=/opt/qt-x11-4.5.3/l
8、ib:$LD_LIBRARY_PATHexport QMAKESPEC=/opt/qt-x11-4.5.3/mkspecs/linux-g+g) 注銷重新登陸h) 編譯qvfb # cd /qt-x11-opensource-src-4.5.3/tools/qvfb/ # make9. Qtcreator的安裝是圖形化的,下一步即可,安裝好后,打開QtCreator后,依次點擊菜單Tools-Options-Qt4-QtVersion,之后需要設(shè)置編譯器的路徑,可參考手冊設(shè)置。QT工程創(chuàng)建1. 打開QtCreator,點擊File-new File or Project2. 選擇Qt4 Gui
9、 Application點擊Ok3. Name中填入項目名稱,可任取;Create in中填入目錄,可用Browse按鈕選擇一個路徑,點擊Ok4. Required Modules中按需求選取,如果不需要可以不用選取,點擊Next5. Classname中填入類名,可任取;Base Class中選擇QWidget,或根據(jù)需要選擇其他,單擊Next按鈕繼續(xù)6. 點擊Finish完成創(chuàng)建項目QT程序編寫1. 在工程窗口中的Forms文件夾下,有至少一個.ui文件,是界面設(shè)計文件2. 雙擊這個.ui文件,可以在右側(cè)的窗體上添加按鈕等控件3. 可以修改控件的objName,Text等屬性,注意,obj
10、Name是程序中用的名字,而Text是顯示給用戶的4. 在按鈕等控件上單擊右鍵,點擊Go to slot,可以添加槽函數(shù),可以根據(jù)自己需要選擇信號和槽函數(shù)5. 實現(xiàn)槽函數(shù),完成需要的功能,例如響應(yīng)用戶按鍵信息等QT示例程序更多的示例程序請參見壓縮包“qtshili”QT與硬件編程硬件編程最關(guān)鍵的是應(yīng)用驅(qū)動程序。首先需要編寫硬件驅(qū)動程序,或者利用已有的驅(qū)動進行QT程序編寫。因此,需要仔細(xì)參閱驅(qū)動程序文檔,認(rèn)真查看每個函數(shù)各個參數(shù)的含義。開發(fā)硬件相關(guān)QT程序流程:1. 添加fcntl.h、unistd.h和sys/ioctl.h三個頭文件2. 添加一個private變量,例如int fd;3. 一
11、般在構(gòu)造函數(shù)中,使用open函數(shù)打開設(shè)備并存下設(shè)備標(biāo)識符,如fd=open(“/dev/PWM-Test”, O_RDWR); O_RDWR是一種設(shè)備讀取的方法,此處也可以為只讀(O_RDONLY),只寫(O_WRONLY),或者可讀可寫(O_RDWR)等4. 可用ioctl函數(shù)操作設(shè)備,進行IO操作,也可用read函數(shù)進行讀取,write函數(shù)進行寫入,需要根據(jù)具體應(yīng)用確定5. 在析構(gòu)函數(shù)中加入:close(fd); 關(guān)閉設(shè)備,這樣在程序結(jié)束的時候自動關(guān)閉設(shè)備6. 注意,如果需要判斷設(shè)備是否可用,可以用if語句判斷fd >= 0,例如在關(guān)閉設(shè)備時,經(jīng)常需要這個操作,即,if (fd &g
12、t;= 0) :close(fd); 硬件編程示例程序示例程序見壓縮包“apps”嵌入式移植Bootloader移植1. 解壓縮uboot源代碼,例如tar xvfj uboot-1.1.6.tar.bz2 C /2. 在uboot目錄下修改一些文件,并添加支持自己的板子的源代碼,天嵌的uboot已經(jīng)改好,我們不需要自己修改3. 在uboot目錄下執(zhí)行make EmbedSky,配置uboot使它適用于我們的板子4. 執(zhí)行make進行編譯,編譯出uboot.bin文件即可燒錄Bootloader重要文件及函數(shù)文件名start.Sboard.cmain.c函數(shù)名_startstart_armbo
13、ot()main_loop()添加新的命令1. include/cmd_confdefs.h中需要添加一個自定義命令的宏定義,例如#define CFG_CMD_HELLOWORLD0x8000000000000000ULL2. 在common文件夾下創(chuàng)建一個命令的源碼文件,如cmd_helloworld.c3. 編寫命令源碼文件內(nèi)容,可以參照cmd_cache.c等4. 在include/configs/EmbedSky.h中的CONFIG_COMMANDS宏定義的最后一個元素,括號前加入| 添加剛才在cmd_confdefs.h中定義的宏,如添加CFG_CMD_HELLOWORLD以使能命
14、令5. 重新編譯uboot即可使用新命令添加命令的菜單欄顯示1. 打開common/cmd_menu.c文件,找到main_menu_usage函數(shù),在printf("Enter your selection: ");前面加入自己的printf,例如printf(“h Helloworld command”);2. 找到menu_shell函數(shù),在case Q: caseq 之后添加自己的case H: case h: 3. 括號 中填寫run_command(“Helloworld”, 0); 即可內(nèi)核移植1. 使用命令tar xvfj linux-.ta
15、r.bz2 C / 對內(nèi)核進行解壓縮2. 在內(nèi)核目錄下,輸入make menuconfig ARCH=arm CROSS_CMPILE=arm-linux-打開配置頁面內(nèi)核的配置3. 可用load an alternate file加入一個已經(jīng)配置好的文件4. 可使用鍵盤方向鍵和空格、Y、N、M對其中選項進行勾選和清除5. 配置好后,在頂級菜單中選擇Save an alternate,并將文件保存為.config文件6. 退出編譯內(nèi)核使用make zImage即可編譯內(nèi)核,會花費一些時間,編譯好的內(nèi)核可通過超級終端及DNW燒寫到板子中。詳細(xì)信息更多的詳細(xì)信息,請參考開發(fā)版的移植手冊。根文件系統(tǒng)
16、移植1. 文件系統(tǒng)移植需要工具BusyBox,需要先解壓縮并編譯BusyBos,使用命令tar xvfj busyboxtar.bz2 C / 進行解壓縮2. 之后使用命令make menuconfig ARCH=arm CROSS_CMPILE=arm-linux- 對BusyBox進行配置,并用Save選項保存配置,名字任意3. 之后使用make命令進行編譯4. 使用make install命令進行安裝,會生成一個_install文件夾5. 建立一個自己的文件夾,名為root-(可任取)6. 將_install文件夾全部內(nèi)容拷貝到自己的root-文件夾下7.
17、 添加一系列目錄(文件夾),詳細(xì)請參考開發(fā)板移植手冊8. 將一些必要的配置文件加入上述文件夾中9. 進入root-的上級目錄,輸入命令mkyaffs2image root- roor.bin即可生成根文件系統(tǒng)10. 可將自己的根文件系統(tǒng)燒寫到板子上進行測試驅(qū)動程序的移植1. 編寫驅(qū)動程序的源文件,如helloworld.c,并添加到內(nèi)核源碼(內(nèi)核移植中解壓縮出的)的相應(yīng)目錄下,例如,字符設(shè)備需要添加到drivers/char/2. 修改drivers/char/中的Kconfig,在menu “Character devices”,后面加入一個菜單項,如conf
18、ig HELLOWORLDtristate “Helloworld driver”depends on ARCH_S3C24403. 修改drivers/char/中的Makefile文件加入目標(biāo)文件,如obj-$(CONFIG_ HELLOWORLD) += helloworld.o,注意文件名字的大小寫4. 使用make menuconfig ARCH=arm CROSS_CMPILE=arm-linux-配置內(nèi)核,在Drivers菜單項下的Character Devices下會出現(xiàn)Helloworld驅(qū)動程序,用鍵盤M按鍵選中5. 在內(nèi)核源碼目錄下使用命令 make SUBDIR=drivers/char/ modules對驅(qū)動模塊進行編譯,會在drivers/char/生成helloworld.ko文件6. 通過超級終端發(fā)送到板子上,即可使用insmod命令加載,如insmod helloworld.ko7. 可以使用rmmod命令卸載驅(qū)動,如rmmod helloworld.ko項目嵌入式電子書設(shè)計程序解釋見源碼注釋。可能問的問題:1. 程序如何運行?程序首先運行的是mian函數(shù),由main函
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年第二學(xué)期北師大版數(shù)學(xué)八年級下冊期末模擬試題
- 金融服務(wù)營銷 教學(xué)實施方案
- 工業(yè)園區(qū)規(guī)劃與綠色發(fā)展策略
- 工業(yè)智能化改造及自動化生產(chǎn)研究
- 工業(yè)旅游開發(fā)與推廣策略
- 工業(yè)建筑設(shè)計原理及實踐
- 工業(yè)廢水處理后的環(huán)境監(jiān)測評估
- 工業(yè)廢水處理的安全生產(chǎn)流程優(yōu)化
- 工業(yè)機器人技術(shù)對勞動力的影響與挑戰(zhàn)
- 工業(yè)污染防治的技術(shù)手段與實踐
- 浙江省杭州市北斗聯(lián)盟2024-2025學(xué)年高一下學(xué)期4月期中聯(lián)考地理試卷(含答案)
- 2025年貴州六盤水市燃?xì)饧瘓F六盤水燃?xì)庥邢薰菊衅腹P試參考題庫含答案解析
- 妊娠期子宮蛻膜息肉診治中國專家共識(2024年版)解讀課件
- 病毒性心肌炎病例分析與治療
- 桶裝飲用水質(zhì)量檢查報告
- 寵物托運協(xié)議合同書
- 《2024 3610-T-339 可配置汽車信息娛樂服務(wù) 第 2 部分:要求》知識培訓(xùn)
- 寵物清潔衛(wèi)生用品貓砂
- 大模型備案-落實算法安全主體責(zé)任基本情況-XX集團有限公司
- 【低空遙感】拓恒技術(shù)有限公司 -提供從無人機到場景應(yīng)用垂直產(chǎn)業(yè)價值鏈的整體解決方案項目商業(yè)計劃書
- 2025-2030中國蔬菜溫室大棚市場消費趨勢分析與經(jīng)營管理風(fēng)險報告
評論
0/150
提交評論