版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
嵌入式實驗報告班級:電信工x班姓名:xxx學號:20120012xxxx實驗一、arm匯編指令實驗-簡單數(shù)據(jù)搬移實驗實驗目的:熟悉實驗開發(fā)環(huán)境,掌握簡單arm匯編的使用方法實驗內(nèi)容熟悉開發(fā)環(huán)境并使用ldr/str,mov等指令訪問寄存器或存儲單元;使用ads/sub/lsl/lsr/and/orr等指令完成基本數(shù)學/邏輯運算。實驗要求(1)按照前面敘述介紹的方法,在ads下創(chuàng)建一個工程asmlabl,定義兩個變量x,y和堆棧地址0x1000,將變量x的內(nèi)容存到堆棧頂,然后計算x+y,并將和存到堆棧的下一個單元。通過axd查看寄存器和memory和寄存器中數(shù)據(jù)的變化。(2)在指令后面加上適當注釋,說明指令功能。(3)指出程序執(zhí)行后各相關(guān)寄存器及存儲器單元的具體內(nèi)容。程序代碼截圖如下:程序運行結(jié)果截圖:由實驗結(jié)果可知堆棧的第二個單元中存放了x+y的值6d練習題編寫程序?qū)崿F(xiàn)對一段數(shù)據(jù)的最大值和最小值搜索,最大值存在于max變量之中,最小值存在于min變量之中。提示:數(shù)據(jù)的定義采用偽指令:dcd來實現(xiàn)?;舅悸罚豪胷0做基地址,將r1,r2分別放入第一單元的內(nèi)容,利用r3做循環(huán)計數(shù),利用r4遍歷讀取第2至最后一個數(shù)據(jù),如果r1的數(shù)據(jù)小于新讀入的r4數(shù)據(jù)則將r4的內(nèi)容存入r1,如果r2的內(nèi)容大于r4的內(nèi)容則將r4的內(nèi)容存入r2,。遍歷完成之后,r1將存放最大數(shù)據(jù),r2將存放最小數(shù)據(jù)。程序代碼截圖如下:程序運行結(jié)果截圖:實驗二arm匯編指令實驗2-字符串拷貝實驗實驗目的通過實驗掌握使用ldb/stb,b等指令完成較為復雜的存儲區(qū)訪問和程序分支,學會使用條件碼。實驗內(nèi)容熟悉開發(fā)環(huán)境的使用并完成一塊存儲區(qū)的拷貝。完成分支程序設計,要求判斷參數(shù),根據(jù)不同參數(shù),調(diào)用不同的子程序。實驗要求(1)按照2.3節(jié)介紹的方法,在ads下創(chuàng)建一個工程asmab2,定義兩個數(shù)據(jù)存儲區(qū)src和dst,src用于存放原字符串,dst用于存放目的字符串。堆棧地址0x400,將變量原字符串的內(nèi)容拷貝到目的字符串中,要能判斷原字符串的結(jié)束符(0),并統(tǒng)計字符串的個數(shù)。通過axd查看寄存器和memory和寄存器中數(shù)據(jù)的變化。(2)在指令后面加上適當注釋,說明指令功能。(3)指出程序執(zhí)行完后各相關(guān)寄存器及存儲器單元的具體內(nèi)容。程序代碼截圖如下:程序運行結(jié)果源字符串字符串復制后兩個數(shù)據(jù)存儲區(qū)src:0x8040和dst:0x8047中的數(shù)據(jù)情況實驗三arm匯編指令實驗3-arm處理器工作模式實驗實驗目的(1)通過實驗掌握學會使用msr/mrs指令實現(xiàn)arm處理器工作模式的切換,觀察不同模式下的寄存器,加深對cpu結(jié)構(gòu)的理解;(2)通過實驗掌握ld中如何使用命令指定代碼段起始地址。實驗內(nèi)容通過arm匯編指令,在各種處理器模式下切換并觀察各種模式下寄存器的區(qū)別;掌握arm不同模式的進入與退出。實驗要求(1)按照2.3節(jié)介紹的方法,在ads下創(chuàng)建一個工程asmmodelab,完成各個模式下的堆棧初始化工作,并將r1-r12的內(nèi)容存入當前模式下堆棧。通過axd運用單步執(zhí)行方式調(diào)用程序,驗證工作的模式,使用寄存器觀察切換到不同的工作模式下觀察sp(r13)的變化情況。(2)實驗過程中請記錄并思考以下內(nèi)容:1)程序復位之后系統(tǒng)處于什么模式?2)記錄每種模式下的廚師堆棧指針,以及執(zhí)行r1-r12內(nèi)容壓棧后本模式堆棧相關(guān)內(nèi)存單元的數(shù)值。并分析快速中斷fiq模式與其他模式存入的r1-r12有什么不同。3)切換成用戶模式之后還能否從用戶模式切換到其他模式?4)用戶模式下能否執(zhí)行堆棧壓棧操作?如果能的話,觀察用戶模式下壓棧之前和之后其堆棧區(qū)域的變化情況。5)觀察本程序模式切換過程中spsr有無變化,并解釋其原因。程序運行結(jié)果截圖:6)程序復位之后系統(tǒng)處于什么模式?答:程序復位之后系統(tǒng)處于管理模式。7)記錄每種模式下的初始堆棧指針,以及執(zhí)行r1-r12內(nèi)容壓棧后本模式堆棧相關(guān)內(nèi)存單元的數(shù)值。并分析快速中斷fiq模式與其他模式存入的r1-r12有什么不同。答:(管理模式)即管理模式的棧頂指針為0x8240滿遞減模式,r1-r12壓棧后,管理模式棧頂指針為0x8210相距0x30,壓入12個字(中斷模式)(2)實驗過程中請記錄并思考以下內(nèi)容:1)如何訪問寄存器并修改其中的1位或者多位數(shù)據(jù)?答:通過與、或、非等關(guān)系來訪問寄存器并修改其中的1位或者多位數(shù)據(jù)的。2)如何配置s3c2440的pio端口?答:配置相應的寄存器。3)在c語言中如何實現(xiàn)按鍵處理程序?答:在c語言中一定要通過延時按鍵延時去抖動。4)如何初始化dram,從而實現(xiàn)程序下載并在線調(diào)試?5)嘗試實現(xiàn)利用按鍵切換控制跑馬燈的順序輪換(不是控制其輪換方向,而是在有按鍵按下并松開后實現(xiàn)一次跑馬燈切換)。答:可改變輪換方向?qū)嶒灹鵤rm硬件接口實驗2-外部中斷實驗實驗目的(1)通過實驗掌握arm處理器的中斷方式和中斷處理(2)熟悉s3c2440x的中斷控制寄存器的使用;(3)理解s3c2440x的中斷處理機制(4)熟悉掌握如何進行arm處理器中斷處理軟件編程方法(5)掌握生成離線運行程序的開發(fā)環(huán)境設置方法(6)掌握通過j-link向norflash燒寫程序的方法。實驗內(nèi)容硬件電路和前面的實驗五完全相同。這里講按鈕開關(guān)所連接的gpf5引腳定位外部中斷eint5,中斷模式為irq,在中斷服務程序中完成led燈的切換,即正常狀態(tài)時led5燈亮,按下按鈕開關(guān)時led6燈亮。實驗要求(1)環(huán)境設置完了之后進行程序?qū)懭?。關(guān)掉試驗箱,將其核心板上的撥動開關(guān)撥到右邊的nor位置,觀察程序運行結(jié)果。按下inkey按鈕,再次觀察程序運行結(jié)果。(2)實驗過程中請記錄并思考以下內(nèi)容:打開s2440addr.h頭文件。觀察并分析其內(nèi)容。2)分析中斷控制程序的結(jié)構(gòu)。3)仔細分析中斷初始化程序和中斷處理程序中寄存器的設置方法,并理解其含義。4)總結(jié)中斷程序的設計方法。程序代碼截圖如下:程序和注釋截圖如下初始化匯編程序c語言處理程序思考題打開s2440addr.h頭文件。觀察并分析其內(nèi)容。//%%%%%%%%%%%%%%s3c2440.h%%%%%%%%%%%%%%%%/*wotchdogregister*/#definewtcon(*(volatileunsignedlong*)0x53000000)/*sdramregisers*/#definemem_ctl_base0x48000000#definesdram_base0x30000000/*nandflashregisters*/#definenfconf(*(volatileunsignedint*)0x4e000000)#definenfaddr(*(volatileunsignedchar*)0x4e000008)#definenfdata(*(volatileunsignedchar*)0x4e00000c)#definenfstat(*(volatileunsignedchar*)0x4e000010)/*gpioregisters*/#definegpbcon(*(volatileunsignedlong*)0x56000010)#definegpbdat#definegpfcon#definegpfdat#definegpfup#definegpgcon#definegpgdat#definegpgup#definegphcon#definegphdat#definegphup/*uartregisters*/#defineulcon0#defineucon0#defineufcon0#defineumcon0#defineutrstat0#defineutxh0#defineurxh0#defineubrdiv0/*interruptregistes*/#definesrcpnd#defineintmod(*(volatileunsignedlong*)0x56000014)(*(volatileunsignedlong*)0x56000050)(*(volatileunsignedlong*)0x56000054)(*(volatileunsignedlong*)0x56000058)(*(volatileunsignedlong*)0x56000060)(*(volatileunsignedlong*)0x56000064)(*(volatileunsignedlong*)0x56000068)(*(volatileunsignedlong*)0x56000070)(*(volatileunsignedlong*)0x56000074)(*(volatileunsignedlong*)0x56000078)(*(volatileunsignedlong*)0x50000000)(*(volatileunsignedlong*)0x50000004)(*(volatileunsignedlong*)0x50000008)(*(volatileunsignedlong*)0x5000000c)(*(volatileunsignedlong*)0x50000010)(*(volatileunsignedchar*)0x50000020)(*(volatileunsignedchar*)0x50000024)(*(volatileunsignedlong*)0x50000028)(*(volatileunsignedlong*)0x4a000000)(*(volatileunsignedlong*)0x4a000004)#definepriority(*(volatileunsignedlong*)0x4a00000c)#defineintpnd(*(volatileunsignedlong*)0x4a000010)#defineintoffset(*(volatileunsignedlong*)0x4a000014)#definesubsrcpnd(*(volatileunsignedlong*)0x4a000018)#defineintsubmsk(*(volatileunsignedlong*)0x4a00001c)/*externalinterruptregisters*/#defineeintmask(*(volatileunsignedlong*)0x560000a4)#defineeintpend(*(volatileunsignedlong*)0x560000a8)經(jīng)分析知,s2440addr.h文件中的主要內(nèi)容是定義了一些看門狗,sdram,gpio等的寄存器地址,并定義了串口通訊和中段的寄存器地址。2)分析中斷控制程序的結(jié)構(gòu)。首先要對中段進行初始化,并對端口功能設定。繼而進行相應中段使能,打開有關(guān)中段屏蔽位,并進入主函數(shù)等待中斷,直到中段產(chǎn)生,由中段向量
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東司法警官職業(yè)學院《新聞學理論》2023-2024學年第一學期期末試卷
- 廣東省外語藝術(shù)職業(yè)學院《數(shù)字營銷傳播》2023-2024學年第一學期期末試卷
- 廣東輕工職業(yè)技術(shù)學院《土木工程CAD與BM》2023-2024學年第一學期期末試卷
- 廣東女子職業(yè)技術(shù)學院《物流信息系統(tǒng)設計》2023-2024學年第一學期期末試卷
- 廣東茂名幼兒師范??茖W校《爆破安全技術(shù)及工程》2023-2024學年第一學期期末試卷
- 五年級數(shù)學(小數(shù)乘除法)計算題專項練習及答案
- 法律基礎(西南政法大學)學習通測試及答案
- 全國2021屆高三英語試題8、9月分類解析:E單元-短文改錯
- 2025年人教版八年級數(shù)學寒假預習 第01講 二次根式(3個知識點+5大考點舉一反三+過關(guān)測試)
- 【原創(chuàng)】2013-2020學年高二數(shù)學必修五導學案:2.3.2-等比數(shù)列的通項公式
- 全國各省市縣統(tǒng)計表-
- 國家開放大學電大本科《管理案例分析》2023年期末試題及答案(試卷號:1304)
- 醋酸加尼瑞克注射液
- 中學查寢記錄
- 戰(zhàn)略目標新設計-BLM
- 蘇科版八年級物理上冊《運動的相對性》教案及教學反思
- 供應商不良行為管理辦法
- 君聯(lián)資本×DDI《成長期企業(yè)管理者領導力調(diào)研報告》
- 江蘇省南京市臨江中學高一化學上學期期末試卷含解析
- 風電工程需要編寫的專項施工方案及危大工程目錄
- 養(yǎng)豬場廢水處理設計方案
評論
0/150
提交評論