版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機專業(yè)類課程試驗匯報日期:
電子科技大學(xué)實驗報告一、試驗室名稱:計算機學(xué)院軟件試驗室二、試驗項目名稱:試驗系統(tǒng)介紹及入門匯編程序?qū)崿F(xiàn)stycopy復(fù)制學(xué)號三、試驗課時:4課時四、試驗原理NUC951開發(fā)板介紹:NUC951開發(fā)板MCU為基于ARM企業(yè)ARM926EJS關(guān)鍵32位低功耗RISC處理器,帶MMU,提供8K-byte指令Cache和8K-byte數(shù)據(jù)Cache,內(nèi)置10/100M以太網(wǎng)控制器。NUC951開發(fā)板外觀如圖所表示。ADS1.2集成開發(fā)環(huán)境介紹:ADS是ARM企業(yè)集成開發(fā)環(huán)境軟件,他前身是SDT,SDT是ARM企業(yè)曾經(jīng)開發(fā)環(huán)境軟件,現(xiàn)在SDT早已經(jīng)不再升級。ADS包含了四個模塊分別是:SIMULATOR;C編譯器;實時調(diào)試器;應(yīng)用函數(shù)庫。ADS編譯器調(diào)試器較SDT都有了非常大改觀,ADS1.2提供完整WINDOWS界面開發(fā)環(huán)境。C編譯器效率極高,支持c以及c++,使工程師能夠很方便使用C語言進(jìn)行開發(fā)。提供軟件模擬仿真功效,使沒有Emulators學(xué)習(xí)者也能夠熟悉ARM指令系統(tǒng)。ADS1.2提供強大實時調(diào)試跟蹤功效,片內(nèi)運行情況盡在掌握。ADS1.2需要硬件支持才能發(fā)揮強大功效。ADS由命令行開發(fā)工具,ARM實時庫,GUI開發(fā)環(huán)境(CodeWarrior和AXD),適用程序和支持軟件組成。有了這些部件,用戶就能夠為ARM系列RISC處理器編寫和調(diào)試自己開發(fā)應(yīng)用程序了。uC/OS-II介紹:uC/OS-II是一個搶占式實時多任務(wù)內(nèi)核。uC/OSuC/OSuC/OS-II是用ANSIANSIANSIC語言編寫,語言編寫,包含一小部分匯編語言代碼,使之能夠提供給不一樣架構(gòu)微處理器用。至今從8位到64位,uC/OSuC/OSuC/OS-II已經(jīng)在40多個不一樣架構(gòu)微處理器上使用。在各個領(lǐng)域中使用uC/OSuC/OSuC/OS-II,這些領(lǐng)域包含:攝影機行業(yè)、航空醫(yī)療器械、網(wǎng)絡(luò)設(shè)備自動提款機以及工業(yè)人等。uC/OSuC/OSuC/OS-II全部以源代碼方式提供給讀者,大約有550055005500行。CPU相關(guān)部分使用相關(guān)部分使用是針對ARMCortexARMCortexARMCortexARMCortexARMCortex-M0關(guān)鍵代碼。即使關(guān)鍵代碼。即使uC/OSuC/OSuC/OSuC/OS-II能夠在PC機上開發(fā)和測試,不過能夠很輕易地移植到不一樣架構(gòu)嵌入式微處理器上。五、試驗?zāi)繕?biāo)1.經(jīng)過此試驗系統(tǒng),讀者能夠了解嵌入式實時操作系統(tǒng)uC/OS-II內(nèi)核機制和運行原理。本試驗系統(tǒng)展示了uC/OS-II各方面管理功效,包含信號量、隊列、內(nèi)存、時鐘等。在各個試驗中詳細(xì)介紹了uC/OS-II相關(guān)函數(shù)。讀者在做試驗同時能夠結(jié)合理論知識加以分析,了解各個函數(shù)作用和嵌入式應(yīng)用程序設(shè)計方法,最終對整個uC/OS-II和嵌入式操作系統(tǒng)應(yīng)用有較為清楚認(rèn)識。掌握嵌入式軟件開發(fā)環(huán)境建立過程;初步掌握嵌入式程序編譯和調(diào)試過程。2.編寫一個完整匯編函數(shù),實現(xiàn)strcopy復(fù)制學(xué)號,并在以上搭成環(huán)境上運行,達(dá)成現(xiàn)學(xué)現(xiàn)用目標(biāo)。六、試驗內(nèi)容將嵌入式軟件開發(fā)環(huán)境搭建起來,并運行試驗提供用例程序;編寫一個完整匯編函數(shù),實現(xiàn)strcopy復(fù)制學(xué)號,并在以上搭成環(huán)境上運行。七、試驗器材(設(shè)備、元器件)NUC951開發(fā)板、ADS1.2、J-Link調(diào)試器、BSP、PC一臺八、試驗步驟ADS工程建立:在CodeWarrior工具欄"File"菜單中選擇"New"菜單。這么就會打開一個對話框,如圖所表示。選擇默認(rèn)標(biāo)簽project下第一個選項ARMExecutableImage,在Projectname中填寫工程名稱,Location中填寫工程保留路徑,點擊“確定”即可創(chuàng)建對應(yīng)工程。創(chuàng)建工程文件完成后,會在CodeWarrior窗口中打開創(chuàng)建工程*.mcp,有三個標(biāo)簽,默認(rèn)第一個標(biāo)簽file,如圖所表示。單擊工具欄NewTextFile按鈕,能夠新建文件,編寫試驗代碼,如圖。試驗代碼編輯完成后,選擇File-Save或者單擊工具欄上圖標(biāo)保留為指定格式,如圖。此時在*.mcp窗口中點擊右鍵,選擇AddFiles?選項,在彈出框中選擇保留程序文件,然后單擊確定添加,在彈出對話框中勾選DebugRel選項,如圖所表示。配置、編譯和鏈接工程:在進(jìn)行編譯和鏈接前,首先進(jìn)行生成目標(biāo)配置。選擇Edit\DebugRelSettings命令或直接單擊工具欄上DebugRelSettings圖標(biāo),彈出DebugRelSettings窗口,能夠?qū)ι赡繕?biāo)文件進(jìn)行配置,如圖所表示。TargetSetting選項:在這個選項中,我們僅需要將Post-Linker選項設(shè)置為ARMfromELF。選擇在鏈接完成后,還要對輸出文件進(jìn)行操作。通常情況下,希望生成一個能夠燒寫到Flash中去二進(jìn)制代碼(bin文件),所以在這里選擇ARMfromELF,表示在鏈接生成映像文件后,再調(diào)用FromELF命令將含有調(diào)試信息ELF格式映像文件轉(zhuǎn)換成包含但不限于plainbinary(BIN格式映像文件)格式文件。LanguageSettings選項:在本工程源代碼中,使用到了ARM匯編語言和C語言,而這些源代碼在編譯過程中,都必須與對應(yīng)處理器型號對應(yīng)。所以,需要將ARMAssembler和ARMCCompiler這兩個選項中Target下ArchitecutreorProcessor選擇為ARM926EJS。其余保持為默認(rèn)值即可。Linker選項:在TargetSettingPanels列表框中選擇Linker選項,再選擇其下ARMLinker,即可得到連接器設(shè)置選項對話框。如圖1-17所表示,該對話框中選項較多,而且對最終生成目標(biāo)文件有直接影響。選擇Simple模式,ROBase默認(rèn)值為0x8000,采取默認(rèn)設(shè)置。R0Base地址是開發(fā)板上SDRAM真實地址,是由系統(tǒng)硬件決定。在Options選項卡中,需要注意是Imageentrypoint文本框,它指定了映像文件初始入口點地址值,當(dāng)映像文件被加載程序加載時,加載程序會跳轉(zhuǎn)到該地址處開始執(zhí)行。這里填入值與ROBase中地址值相同0x8000。ARMfromELF選項:在該對話框中,我們能夠指定經(jīng)過ARMfromELF工具將.AXF文件轉(zhuǎn)化為那種格式文件,以及轉(zhuǎn)化后得到文件名稱及保留路徑。在outputformat下拉列表框中,我們使用默認(rèn)值Plainbinary,表示生成二進(jìn)制格式可執(zhí)行文件;在Outputfilename文本框中,我們能夠重新指定生成二進(jìn)制文件名稱及保留路徑,假如不填寫,表示默認(rèn)生成在工程路徑下..\*_Data\DebugRel中。到此,工程文件設(shè)置完成,點擊OK保留設(shè)置。接下來單擊Project下make即可完成對工程編譯和鏈接,如圖所表示。在工程Demo所在目錄下,會生成一個名為Demo_data目錄,在這個目錄下不一樣類別目標(biāo)對應(yīng)不一樣目錄。在本例中因為我們使用是DebugRel目標(biāo),所以生成最終文件都應(yīng)該在該目錄下。進(jìn)入到DebugRel目錄中去,讀者會看到編譯鏈接后生成映像文件和二進(jìn)制文件,映像文件用于調(diào)試,二進(jìn)制文件能夠直接燒寫到FLASH中運行。調(diào)試運行工程:將J-Link調(diào)試器一端經(jīng)過USB線連接到PC,另一端連接到NUC951開發(fā)板JTAG口。在CodeWarrior工程窗口中單擊debug按鈕開啟AXD進(jìn)行調(diào)試,如圖所表示。(注意:因為Win7系統(tǒng)兼容性問題,可能會報錯誤“errorstartingexternalprocess,Processerrorcode87(0x57)”(參數(shù)錯誤),此時需要設(shè)置ADS兼容模式)首次使用AXD+J-LINK調(diào)試時,需要對AXD進(jìn)行以下配置。單擊AXD窗口Options-ConfigureTarget選項,彈出一個TargetEnvironment選項窗口。這個窗口中有幾個系統(tǒng)加載選項,如圖所表示。單擊右上角Add按鈕,在彈出對話框中選擇J-Link驅(qū)動安裝文件夾下JLinkRDI.dll文件,在默認(rèn)安裝路徑情況下,JLinkRDI.dll文件在C:\ProgramFiles\SEGGER\JLinkARM_V434文件夾。此時單擊右側(cè)Configure按鈕,在彈出對話框中選擇CPU標(biāo)簽進(jìn)行配置,其余標(biāo)簽選擇默認(rèn)配置。CPU標(biāo)簽配置如圖所表示。配置完成后,即可在AXD環(huán)境下進(jìn)行調(diào)試運行。調(diào)試時,能夠單擊上對應(yīng)按鈕選擇單步運行、設(shè)置斷點等操作。而且能夠經(jīng)過存放器窗口和內(nèi)存窗口查看對應(yīng)存放器值和內(nèi)存值。九、試驗數(shù)據(jù)及結(jié)果分析試驗提供實例運行部分截圖:實現(xiàn)strcopy復(fù)制學(xué)號匯編程序:AREASCopy,CODE,READONLY EXPORTSTART ENTRYSTART LDRr0,=str LDRr1,=str1strcopy LDRBr2,[r1],#1 STRBr2,[r0],#1 CMPr3,#0 BNEstrcopy MOVpc,lr END strDCB"" str1DCB"0"下面是程序運行截圖:學(xué)號能夠在ASCII碼中很直觀看出來,依照存放器r1地址,也能夠查出來學(xué)號對應(yīng)八進(jìn)制表示。十、試驗結(jié)論經(jīng)過幾個實例程序和自己寫strcopy程序,發(fā)覺ADS集成開發(fā)環(huán)境加上NUC951開發(fā)板硬件支持,能夠提供強大實時調(diào)試跟蹤功效,能夠很清楚看出片內(nèi)存放器等運行情況,做到了很真實地模擬仿真。十一、總結(jié)及心得體會了解了嵌入式軟件開發(fā)環(huán)境建立過程;初步掌握了嵌入式程序編譯和調(diào)試過;對整個uC/OSuC/OSuC/OS-II和嵌入式操作系統(tǒng)應(yīng)用有了初步認(rèn)識。對于strcopy復(fù)制學(xué)號試驗,觀察存放器地址改變時要仔細(xì)點,最好使用單步調(diào)試,一步步觀察。十二、對本試驗過程及方法、伎倆改進(jìn)提議Strcopy復(fù)制學(xué)號試驗不夠通常化,只能針對這個試驗,而且試驗結(jié)果不易發(fā)覺,代碼需要做深入優(yōu)化。匯報評分:指導(dǎo)教師簽字:電子科技大學(xué)實驗報告學(xué)生姓名:宋林銳學(xué)號:指導(dǎo)教師:丁旭陽試驗地點:主樓A2-412試驗時間:.5.10一、試驗室名稱:計算機學(xué)院軟件試驗室二、試驗項目名稱:UART串口通訊試驗三、試驗課時:4課時四、試驗原理UARTUARTUART英文全稱為UniversalAsynchronousReceiver/Transmitter,即通用異,即通用異步收發(fā)傳輸器,是一個通用串行數(shù)據(jù)總線,簡稱串口,用于異步通信。該總線雙向通信,能夠?qū)崿F(xiàn)全雙工傳輸和接收。在嵌入式設(shè)計中,UART用來主機與輔助設(shè)備通信,如汽車音響與外接AP之間通信,與PC機通信包含與監(jiān)控調(diào)試器和其余器件,如EEPROM通信。串口通信概念非常簡單,串口按照位bit發(fā)送和接收字節(jié),經(jīng)管比按字節(jié)并行通信慢,不過串口能夠在使用一根發(fā)送數(shù)據(jù)同時用另一根線接收數(shù)據(jù)。他很簡單而且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如IEEE4888定義并行通行狀態(tài)時,要求設(shè)備線總長不得超出20米,而且任意兩個設(shè)備間長度不得超出2米,而對于串口而言,長度可達(dá)1200米。經(jīng)典地,串口用于ASCII碼字符傳輸。通信使用3根線完成:(1)地線,(2)發(fā)送,(3)接收。因為串口通信是異步,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。其余線用于握手,不過不是必須。串口通信最主要參數(shù)是波特率、數(shù)據(jù)位、停頓位和奇偶校驗位。五、試驗?zāi)繕?biāo)能夠在開發(fā)板上一個無操作系統(tǒng)簡單程序;握基于輪詢模式串口通訊程序編寫;六、試驗內(nèi)容本試驗經(jīng)過使用試驗系統(tǒng)提供串口操作函數(shù),完成初始化、數(shù)據(jù)發(fā)送以及接收完整通信過程。經(jīng)過將目標(biāo)機串口與開發(fā)宿主機串口進(jìn)行連接,修改目標(biāo)機端串口驅(qū)動軟件所使用參數(shù),主機端完成串口通信參數(shù)設(shè)置,就能夠?qū)崿F(xiàn)二者串口通信過程,了解和掌握參數(shù)含義及設(shè)置方法,以深入掌握串口初始化函數(shù)編寫。串口數(shù)據(jù)發(fā)送和接收可主要采取兩種方式:輪詢或中止。在輪循工作方式下,設(shè)備操基本步驟如:1)查詢設(shè)備接口狀態(tài)存放器;2)依照數(shù)接收或發(fā)送要求,檢驗狀態(tài)存放器中對應(yīng)標(biāo)識是否滿足數(shù)據(jù)傳輸條件;3)假如狀態(tài)標(biāo)識不滿足工作條件,回到第1)步繼續(xù)查詢;4)假如狀態(tài)標(biāo)識滿足工作條件,則由處理器從設(shè)備接口數(shù)據(jù)存放器讀數(shù)據(jù)或?qū)憯?shù)據(jù),完成單次數(shù)據(jù)接收或發(fā)送,并將對應(yīng)狀態(tài)標(biāo)識去除,以準(zhǔn)備好下一次傳輸;5)判斷是否滿足傳輸結(jié)束條件,假如滿足則退出,假如不滿足則回到第1步進(jìn)行下一次數(shù)據(jù)傳輸。七、試驗器材(設(shè)備、元器件)NUC951開發(fā)板、ADS1.2、J-Link調(diào)試器、BSP、PC一臺八、試驗步驟調(diào)試運行及觀察存放器:按照本試驗手冊第一部分所描述方法建立應(yīng)用項目并完成編譯。打開PC超級終端或者SecureCRT程序,將波特率設(shè)置為115200,連接到對應(yīng)com口。將開發(fā)板經(jīng)過調(diào)試器與PC連接,單擊Run按鈕經(jīng)過調(diào)試器運行程序?;蛘邔⒕幾g好bin文件經(jīng)過文件經(jīng)過USB下載到開發(fā)板運行。詳細(xì)過程以下,將開發(fā)板上JP1JP1跳線帽設(shè)置為跳線帽設(shè)置為H,JP2JP2跳線帽設(shè)置為L,即選擇USBISP模式,然后將開發(fā)板miniusb口連接到口連接到PC,將UART0經(jīng)過串口線連接到PC。打開PC超級終端或者SecureCRT程序,將波特率設(shè)置為115200,連接到對應(yīng)com口。運行turbowriter.exe,點擊窗口右上角Re-Connect按鈕,將開發(fā)板與PC連接,連接成功會在Re-Connect按鈕左邊窗口中顯示::Connected。單擊。單擊Choosefile右側(cè)Browse按鈕,選擇編譯生成二進(jìn)制bin文件,默認(rèn)路徑為…Experiment5\Experiment5_Data\DebugRel\Experiment5.bin。Option選項中擇Downloadandrun選項。配置完成后,選項。配置完成后,turbowriter.exe窗口如圖所表示。此時單擊Download按鈕,turbowriter.exe程序會自動將編譯連接好bin文件下載到開發(fā)板上運行,下載過程中因為版本兼容問題可能會彈出Ackerror!錯誤,能夠忽略不論。Download完成后,程序開始運行。開始運行時,在串口輸出字符提醒能夠輸入20個字符保留在內(nèi)存,輸入完成后會提醒按“Enter”輸出保留在內(nèi)存中字符。運行結(jié)果經(jīng)過串口顯示結(jié)果,如圖所表示。九、試驗數(shù)據(jù)及結(jié)果分析UART串口程序:#include<stdio.h>#include<string.h>#include”wblib.h”#include”nuc900-uart.h”#defineuartprintfsysprintf#defineuartgetcharsysGetChar#defineSIZE20//設(shè)置接收字符數(shù)量StaticUINT8RX-Testt[500];StaticUART-Tparam;INTmain(VOID){Intrectal,ch;/*configureUART*/Param.uFreq=15000000;Param.uBaudRate=115200;Param.ucUartNo=0;Param.ucDataBits=DATA_BITS_8;Param.ucStopBits=STOP_BITS_1;Param.ucParity=PARITY_NONE;param.ucRxTriggerLevel=LEVEL_1_BYTE;retval=uartOpen(¶m);if(rectal!=0){Uartprintf(“OpenUARTerror!\n”);Return0;}/*setTXpollmode*/Retval=uartloctl(0,UART_IOC_SETTXMODE,UARTPOLLMODE,0);if(retval!=0){Uartprintf(“SetTXpollmodefail!\n”);Return0;}/*setRXpollmode*/Retval=uartloctl(0,UART_IOC_SETRXMODE,UARTPOLLMODE,0);If(retval!=0){Uartprintf(“SetTXpollmodefail!\n”);Return0;}While(1){/*RXtest*/Uartprintf(“\nPressAnykeystarttoRX
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能化農(nóng)業(yè)機械購置及售后服務(wù)合同范本4篇
- 二零二五年度「精英招募」企業(yè)人才招聘合同模板3篇
- 二零二五年度游戲角色設(shè)計授權(quán)合同4篇
- 2025年度房地產(chǎn)項目預(yù)售合同示范文本4篇
- 2025年度南匯農(nóng)業(yè)志修訂與版權(quán)登記合同3篇
- 二零二五版汽車維修連鎖店經(jīng)營權(quán)轉(zhuǎn)讓合同2篇
- 2025年度個人設(shè)備租賃擔(dān)保貸款合同范本2篇
- 2025年度苗木出口貿(mào)易合同標(biāo)準(zhǔn)樣本3篇
- 2025年度個人借款合同信用評估體系構(gòu)建4篇
- 二零二五年度新型建材門面房租賃及推廣合作合同
- 海洋垃圾處理行業(yè)可行性分析報告
- 2024年-2025年海船船員考試-船舶人員管理考試題及答案
- 2025屆安徽省皖南八校聯(lián)盟高二物理第一學(xué)期期末統(tǒng)考試題含解析
- 三兄弟分田地宅基地協(xié)議書范文
- 《BIM土建算量與云計價》完整課件
- 2024中國南光集團(tuán)限公司校園招聘高頻難、易錯點500題模擬試題附帶答案詳解
- 2024-2030年中國氣凝膠干凝膠市場發(fā)展戰(zhàn)略與未來投資競爭力剖析研究報告
- 新客戶建檔協(xié)議書范文范本
- 2024簡單的租房合同樣本下載
- 2024-2030年中國AI智能鼠標(biāo)市場營銷模式與競爭前景分析研究報告
- 中考數(shù)學(xué)計算題練習(xí)100道(2024年中考真題)
評論
0/150
提交評論