




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式系統設計實驗報告班級:0612學號:061208姓名:李曉虹成績:指導教師:武俊鵬、劉書勇1.實驗一1.1 實驗名稱博創UP-3000實驗臺基本構造使用辦法1.2 實驗目的1.熟悉嵌入式系統開發式流程概述。2.熟悉UP-net3000實驗平臺的核心硬件電路和外設。3.熟悉ARMJTAG的安裝與使用。1.3 實驗環境硬件:ARM嵌入式開發平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium100以上、串口線。軟件:PC機操作系統win98、Win或WinXP、ARMSDT2.51或ADS1.2集成開發環境、仿真器驅動程序、超級終端通訊程序。1.4實驗內容及規定1.熟悉嵌入式系統開發式流程概述。2.熟悉UP-net3000實驗平臺的核心硬件電路和外設。3.熟悉ARMJTAG的安裝與使用。1.5實驗設計與實驗環節新建超級終端選擇ARM開發實驗臺串口。完畢新建超級終端的設立后來,能夠選擇超級終端文獻菜單中的保存,將現在設立保存為一種特定超級終端到桌面上,以備后用。用串口線將PC機串口和平臺UART0對的連接后,就能夠在超級終端上看到程序輸出的信息了。啟動開發板,按住任意鍵,使開發板進入BIOS設立狀態。在超級終端的界面上,顯示BIOS版本信息,以及對應的測試指令。操作時,要在PC機上輸入小寫的字母快捷鍵,進入到對應的功效中去。按照超級終端上的提示信息,進行功效的測試。1.6實驗過程與分析本次實驗操作起來并不困難,由于本次實驗屬于驗證型實驗,按照實驗資料所給的提示信息,以上面的環節,即可得到實驗的成果。進入到BIOS界面后,按照超級終端上的提示信息來進行功效1.7實驗成果總結在實驗過程中,我們進行的很順利,沒有碰到什么問題,在超級終端界面,按提示的快捷鍵來測試對應的功效。如e:測試由ZLG7289驅動的LED顯示,共分3步,請看超級終端提示按任意鍵繼續,同時觀察LED的變化,最后返回主菜單。b:引導FLASH中的應用程序system.bin。執行該功效將退出BIOS狀態,把控制交給應用程序,等。1.8心得體會通過本次實驗,我對于實驗環境有了初步的理解與認識,對于嵌入式也有了更深一步的認識。同時實驗過程中,我學會了第一次接觸的超級終端的使用辦法,并能夠純熟掌握,懂得其工作的原理。2.實驗二2.1 實驗名稱ADS1.2軟件開發環境使用辦法2.2 實驗目的1.熟悉ADS1.2開發環境,學會ARM仿真器的使用。2.使用ADS編譯、下載、調試并跟蹤一段已有的程序,理解嵌入式開發的基本思想和過程。2.3 實驗環境硬件:ARM嵌入式開發平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium100以上、串口線。軟件:PC機操作系統win98、Win或WinXP、ARMSDT2.51或ADS1.2集成開發環境、仿真器驅動程序、超級終端通訊程序。2.4實驗內容及規定掌握AXDDebugger的使用辦法,學習串行通訊原理,理解串行通訊控制器,閱讀ARM芯片文檔,掌握ARM的UART有關寄存器的功效,熟悉ARM系統硬件的UART有關接口。編程實現ARM和計算機之間的串行通訊:ARM監視串行口;將接受到的字符再發送給串口(計算機與開發板是通過超級終端通訊的);即按PC鍵盤通過超級終端發送數據,開發板將接受到的數據再返送給PC,在超級終端上顯示。2.5實驗設計與實驗環節(1)新建工程,選擇菜單中的Project
|
Add
Files
把和工程有關的全部文獻涉及init和startup
子目錄加入到工程中。ADS1.2
不能自動按文獻類別對這些文獻進行分類,需要的話能夠執行菜單Project
|
Create
Group
創立文獻組,然后分別將不同類的文獻加入到不同的組,以方便管理。(另一種方法是,在新建工程時ADS
創立了和工程同名的目錄,在該目錄下按類別創立子目錄并寄存工程文獻。選中全部目錄拖動到任務欄上的ADS
任務條上,不要松開鼠標當ADS
窗口恢復后再拖動到工程文獻窗口,松開鼠標。這樣ADS
將以子目錄名建立同名文獻組并以此對文獻分類。)
(2)雙擊Main.c
打開該文獻,能夠看到Main()函數的內容以下所示。
int
main(void)
{
ARMTargetInit();
//開發版初始化
LCD_Init();
LCD_ChangeMode(DspTxtMode);//轉換LCD
顯示模式為文本顯示模式
LCD_Cls();//文本模式下清屏命令
LCD_printf("Hello
world!\n");//向液晶屏輸出
Uart_Printf("\nHello
world!\n");//向串口輸出
while(1);
}
(3)運用上個實驗中的通訊軟件超級終端來將生成的文獻放到嵌入式開發平臺中。(4)重啟實驗臺即可看到LCD上顯示的"Hello
world!"2.6實驗過程與分析新建工程,然后將所需的工程文獻加載打工程目錄下,編譯生成system.bin文獻,將文獻導入到實驗臺中,然后重啟實驗臺,即可得到實驗成果。2.7實驗成果總結超級終端輸出某些相對應的代碼的執行成果。熟悉了ADS1.2開發環境以及學會了ARM仿真器的基本使用。使用ADS編譯、下載、調試并跟蹤一段已有的程序,并大致理解了嵌入式開發的基本思想和過程。心得體會通過本次實驗,我對于嵌入式開發的基本思想有了一定的理解,嵌入式開發采用的是交叉編譯環境,因此在某些方面會有所限制。對于初學者來說,通過一兩次實驗成果的演示就能夠對實驗臺有進一步的理解不可能的,因此在后續的實驗中,我要好好努力,認真做好課程實驗為后續的課程設計實驗打下基礎。3.實驗三3.1 實驗名稱鍵盤及LED實驗3.2 實驗目的1.學習鍵盤及LED驅動原理。2.掌握ZLG7289芯片串行接口的使用辦法,用ZLG7289芯片驅動17鍵的鍵盤和8個共陰極LED。3.3 實驗環境硬件:ARM嵌入式開發平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium100以上、串口線。軟件:PC機操作系統win98、Win或WinXP、ARMSDT2.51或ADS1.2集成開發環境、仿真器驅動程序、超級終端通訊程序。3.4實驗內容及規定編寫出一段程序,規定能在LED上顯示出小鍵盤上按下的4位數字。3.5實驗設計與實驗環節1.新建工程,將“Exp3鍵盤及LED驅動實驗”中的文獻添加到工程。2.定義ZLG7289寄存器(ZLG7289.h)。3.編寫ZLG7289驅動函數(ZLG7289.c)。4.定義鍵盤映射表:(Keyboard16.c)。5.定義鍵值讀取函數。6.編寫主函數,將按鍵值在數碼管上顯示。3.6實驗過程與分析本次實驗中,我們根據已有實驗,進行調試,查看程序的運行效果。根據效果,我們又回到實驗代碼中,然后對代碼進行進一步的研究,查看每部分功效所對應的代碼,通過不停的調試編譯,我們最后對該實驗用到的代碼有了更深的認識。從而能夠按照規定,完畢我們自己實驗。3.7實驗成果總結通過小鍵盤的按鍵,鍵值能夠在LED上顯示出來。并學習了鍵盤及LED驅動原理以及掌握了ZLG7289芯片串行接口的使用辦法,用ZLG7289芯片驅動17鍵的鍵盤和8個共陰極LED。3.8心得體會在這次實驗中讓我對嵌入式的實驗箱有了進一步的認識,并且進一步理解的ARM實驗的原理和實驗狀況,能夠對源代碼進行對的了理解。并且能修改這些源代碼能夠使其工作在自己的預期的工作狀態和輸出自己想要的成果4.實驗四4.1 實驗名稱電機轉動控制及中斷實驗4.2 實驗目的1.熟悉ARM本身自帶的六路即三對PWM,掌握對應寄存器的配備。2.編程實現ARM系統的PWM輸出和I/O輸出,前者用于控制直流電機,后者用于控制步進電機。3.理解直流電機和步進電機的工作原理,學會用軟件的辦法實現步進電機的脈沖分派,即用軟件的辦法替代硬件的脈沖分派器。4.理解44B0解決器上中斷的應用。5.學習在44B0解決器上中斷的應用。6.進一步熟悉平臺外圍硬件及其驅動程序的編寫。4.3 實驗環境硬件:ARM嵌入式開發平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium100以上、串口線。軟件:PC機操作系統win98、Win或WinXP、ARMSDT2.51或ADS1.2集成開發環境、仿真器驅動程序、超級終端通訊程序。4.4實驗內容及規定編程實現ARM芯片的一對PWM輸出用于控制直流電機的轉動,通過A/D旋鈕控制其轉動方式。編程實現ARM的四路I/O通道,實現環形脈沖分派用于控制步進電機的轉動,通過A/D旋鈕控制步進電機的轉角。通過鍵盤控制直流電機與步進電機的切換。設立并啟動定時器。設立中斷,編寫定時器中斷服務程序,對中斷次數進行計數并在LED上顯示成果。4.5實驗設計與實驗環節添加并打開工程。進行直流電機初始化設立和代碼編寫。進行步進電機初始化設立和代碼編寫。對Timer3編程,編寫定時器中斷服務程序,完畢對中斷次數的計數。編寫LED計數顯示函數,使LED能對的計數并顯示0-9999。編寫中斷初始化函數和中斷響應函數。終端下載測試。4.6實驗過程與分析對直流電機進行編程和測試,掌握轉速和旋轉方向的設定辦法。對步進電機進行編程和測試,掌握ARM的四路I/O通道,實現環形脈沖分派用于控制步進電機的轉動,通過A/D旋鈕控制步進電機的轉角。對主函數進行編程,用鍵盤響應直流電機與步進電機的切換控制。掌握中斷有關語句的應用,搞清定義的中斷向量、中斷向量號,編寫中斷響應函數,并完畢中斷響應控制。4.7實驗成果總結實現了直流電機與步進電機的基本設立和控制,能夠通過鍵盤控制電機之間的切換。完畢了中斷的響應和定時中斷。在通過本次實驗,我初步理解的實驗的目的所在,并且運用所給的源代碼能夠,調試出所預期的成果,并且能夠根據已給的源代碼修改得到所需的成果。4.8心得體會通過本次實驗,掌握了電機工作原理,理解了中斷的意義和實現辦法,實現了簡樸了中斷解決程序,更加理解了中斷的意義。5.實驗五5.1 實驗名稱LCD驅動控制實驗及觸摸屏驅動實驗5.2 實驗目的1.理解觸摸屏的基本概念與原理。2.理解觸摸屏與LCD的關系。3.編程實現對觸摸屏的控制。5.3 實驗環境硬件:ARM嵌入式開發平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium100以上、串口線。軟件:PC機操作系統win98、Win或WinXP、ARMSDT2.51或ADS1.2集成開發環境、仿真器驅動程序、超級終端通訊程序。5.4實驗內容及規定理解觸摸屏基本原理,理解對觸摸屏進行輸出標定、與LCD顯示屏配合的過程。通過編程實現觸摸兩點自動在兩點間劃直線。通過編程實現在觸摸屏上動態畫出曲線。5.5實驗設計與實驗環節添加并打開工程。在頭文獻中定義宏和常量及驅動函數。校準觸摸屏坐標,進行坐標轉換。實現觸屏取點并顯示功效。實現兩點間自動劃線功效。實現觸摸屏動態劃線功效。5.6實驗過程與分析在定義觸屏響應功效的函數中對點擊觸屏進行響應函數的修改,在其中添加修改點顏色的函數,修改得到的觸摸點的顏色,并顯示在LCD上。獲取第一種點坐標并儲存,獲取第二個點坐標并儲存,編寫劃線函數,獲得兩點間直線上全部點的坐標,并對其變化顏色,顯示在LCD上,即完畢劃直線功效。將劃線函數應用到響應觸屏移動消息的函數下,即可對持續獲得的觸摸坐標進行持續的畫短直線,連接成曲線,完畢動態劃線功效。5.7實驗成果總結理解了觸摸屏響應動作消息的函數的工作原理,通過修改實現了觸摸屏響應不同動作進行畫點、劃線、動態劃線的功效。5.8心得體會通過本次實驗,使我理解了怎么在一塊嵌入式實驗箱通過編程控制實驗箱上得硬件,例如在本次實驗中的控制LCD屏幕就是,在屏幕上點擊,然后得到在LCD屏上點擊的位置。本次實驗初步完畢了實驗成果。6.實驗六6.1 實驗名稱UCOS-Ⅱ在ARM微解決器上的裁剪6.2 實驗目的1.理解UCOS-Ⅱ內核的重要構造。2.掌握UCOS-Ⅱ裁剪的基本原理與嵌入式編程實現辦法。3.學習如何根據具體狀況對UCOS-Ⅱ操作系統進行裁剪。4.通過對UCOS-Ⅱ配備文獻(OS_CFG.H)中有關的配備常量進行設立,實現對UCOS-Ⅱ的裁剪。6.3 實驗環境硬件:ARM嵌入式開發平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium100以上、串口線。軟件:PC機操作系統win98、Win或WinXP、ARMSDT2.51或ADS1.2集成開發環境、仿真器驅動程序、超級終端通訊程序。6.4實驗內容及規定對UCOS-Ⅱ內核進行裁剪并移植到ARM7微解決器上。6.5實驗設計與實驗環節編輯OS_CFG.H文獻。OS_CFG.H文獻中的內容可分為兩大類:服務功效的配備和數據構造的配備。一.服務功效的配備:根據程序中的實際狀況,保存自己要用的系統服務功效,刪除自己不需要的服務功效。進行合理配備后,是我們自己系統的目的代碼比較緊湊,從而減少了對程序代碼存儲空間的規定。如果代碼存儲空間足夠大的話,那就將全部系統服務功效全部配備為1。不需要考慮功效裁剪。二.數據構造功效的配備:與任務有關的數據構造1.OS_MAX_TASKS作用:設立顧客程序中能夠使用的最多任務數。闡明:該值不能超出62.舉例:若程序中用到了三個任務,則該值的最小值2.OS_LOWEST_PRIO作用:設立程序中最低任務的優先級。闡明:設定該值能夠節省操作系統使用RAM的空間。任務的最低優先級和最大任務數是沒有直接關系的。6.6實驗過程與分析按照實驗指導書上的環節進行,得到了規定的系統。6.7實驗成果總結按照規定進行了裁剪,得到了滿足需要又緊湊的應用軟件系統。6.8心得體會理解了UCOS-Ⅱ內核的重要構造,掌握了UCOS-Ⅱ裁剪的基本原理與嵌入式編程實現辦法,學會了如何根據具體狀況對UCOS-Ⅱ操作系統進行裁剪7.實驗七7.1 實驗名稱ucos-II移植實驗7.2 實驗目的1.理解UCOS-Ⅱ內核的重要構造。2.掌握將UCOS-Ⅱ內核移植到ARM7解決器上的基本辦法。7.3 實驗環境硬件:ARM嵌入式開發平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium100以上、串口線。軟件:PC機操作系統win98、Win或WinXP、ARMSDT2.51或ADS1.2集成開發環境、仿真器驅動程序、超級終端通訊程序。7.4實驗內容及規定1.將UCOS-Ⅱ內核進行移植到ARM7微解決器上。2.編寫兩個簡樸任務,在超級終端上觀察兩個任務的切換。7.5實驗設計與實驗環節1.該實驗的文獻分為兩類,其一是STARTUP目錄下的系統初始化、配備等文獻,其二是uCOS-II的全部源碼,arch目錄下的3個文獻是和解決器架構有關的。2.設立os_cpu.h中與解決器和編譯器有關的代碼3.用C語言編寫6個操作系統有關的函數(OS_CPU_C.C)4.用匯編語言編寫4個與解決器有關的函數(OS_CPU.ASM)5.編寫一種簡樸的多任務程序來測試一下移植與否成功。為了使uCOS-II能夠正常運行,除了上述必須的移植工作外,硬件初始化和配備文獻也是必須的。STARTUP目錄下的文獻還涉及中斷解決,時鐘,串口通信等基本功效函數。在文獻main.c中給出了應用程序的基本框架,涉及初始化和多任務的創立,啟動等。任務創立辦法以下:①在程序開頭定義任務堆棧,任務函數聲明和任務優先級②在main()函數中調用OSStart()函數之前用下列語句創立任務③編寫任務函數內容6.編譯并下載移植后的uCOS-II全部的源代碼都準備好后就能夠進行編譯了。在ADS環境下需要設立工程的訪問途徑。從菜單Edit|DebugSettings進入設立對話框,在Target|AccessPaths中選擇UserPaths并選上Alwayssearchuserpaths。然后點Add按鈕添加途徑ucos-ii和arch。這重要是設立編譯器解決文獻包含時的搜索范疇。按照實驗一的辦法能夠對編譯后的代碼進行調試或下載到平臺的電子硬盤中。這個實驗從構造上看和其它的實驗沒有多大區別,同樣生成可執行文獻system.bin。能夠在平臺BIOS中激活電子硬盤,然后把system.bin拷貝進去,重啟平臺,然后在超級終端上觀察成果。7.6實驗過程與分析操作系統有關的函數:(1)OSTaskStkInitOSTaskCreate()和OSTaskCreateExt()通過調用OSTaskStkInit()來初始化任務的堆棧構造。因此,堆棧看起來就像剛發生過中斷并將全部的寄存器保存到堆棧中的情形同樣。圖12A-2顯示了OSTaskStkInt()放到正被建立的任務堆棧中的東西。這里我們定義了堆棧是從上往下長的。在顧客建立任務的時候,顧客傳遞任務的地址,pdata指針,任務的堆棧棧頂和任務的優先級給OSTaskCreate()和OSTaskCreateExt()。一旦顧客初始化了堆棧,OSTaskStkInit()就需要返回堆棧指針所指的地址。OSTaskCreate()和OSTaskCreateExt()會獲得該地址并將它保存到任務控制塊(OS_TCB)中。(2)OSTaskCreateHook當用OSTaskCreate()和OSTaskCreateExt()建立任務的時候就會調用OSTaskCreateHook()。該函數允許顧客或使用移植實例的顧客擴展uCOS-II功效。當uCOS-II設立完了自己的內部構造后,會在調用任務調度程序之前調用OSTaskCreateHook()。該函數被調用的時候中斷是嚴禁的。因此顧客應盡量減少該函數中的代碼以縮短中斷的響應時間。當OSTaskCreateHook()被調用的時候,它會收到指向已建立任務的OS_TCB的指針,這樣它就能夠訪問全部的構造組員了。函數原型:voidOSTaskCreateHook(OS_TCB*ptcb)(3)OSTaskDelHook當任務被刪除的時候就會調用OSTaskDelHook()。該函數在把任務從uCOS-II的內部任務鏈表中解開之前被調用。當OSTaskDelHook()被調用的時候,它會收到指向正被刪除任務的OS_TCB的指針,這樣它就能夠訪問全部的構造組員了。OSTaskDelHook()能夠來檢查TCB擴展與否被建立(一種非空指針)并進行某些去除操作。函數原型:voidOSTaskDelHook(OS_TCB*ptcb)(4)OSTaskSwHook當發生任務切換的時候就會調用OSTaskSwHook()。OSTaskSwHook()能夠直接訪問OSTCBCur和OSTCBHighRdy,由于它們是全局變量。OSTCBCur指向被切換出去的任務OS_TCB,而OSTCBHighRdy指向新任務OS_TCB。注旨在調用OSTaskSwHook()期間中斷始終是被嚴禁的。因此顧客應盡量減少該函數中的代碼以縮短中斷的響應時間。函數原型:voidOSTaskSwHook(void)(5)OSTaskStatHookOSTaskStatHook()每秒鐘都會被OSTaskStat()調用一次。顧客能夠用OSTaskStatHook()來擴展統計功效。例如,顧客能夠保持并顯示每個任務的執行時間,每個任務所用的CPU份額,以及每個任務執行的頻率等。函數原型:voidOSTaskStatHook(void)(6)OSTimeTickHookOSTimeTickHook()在每個時鐘節拍都會被OSTaskTick()調用。事實上OSTimeTickHook()是在節拍被uCOS-II真正解決,并告知顧客的移植實例或應用程序之前被調用的。函數原型:voidOSTimeTickHook(void)7.7實驗成果總結在超級終端上輸出輪流交替runtask1和runtask2,表明系統正在不停交替運行2個任務。7.8心得體會在這個實驗中我們初步理解和測試了實驗的內容和源代碼實驗成果基本上符合預期的規定。理解了μC/OS-II內核的重要構造和ARM7解決器構造,掌握了將μC/OS-II內核移植到ARM7解決器上的基本原理與嵌入式編程實現辦法。8.實驗八8.1 實驗名稱各接口模塊互相銜接綜合實驗8.2實驗目的運用前7次實驗所學的知識,綜合設計一種最少含有5個模塊的實驗。8.3 實驗環境硬件:ARM嵌入式開發平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium100以上、串口線。軟件:PC機操作系統win98、Win或WinXP、ARMSDT2.51或ADS1.2集成開發環境、仿真器驅動程序、超級終端通訊程序。8.4實驗內容及規定回想串口、鍵盤、LED接口、A/D、電機轉動、定時器中斷、LCD接口及觸摸屏驅動控制接口模塊驅動設計及開發辦法。綜合應用以上全部或者部分模塊,實現一種嵌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 18913-2025船舶與海洋技術航海氣象圖傳真接收機
- 浙江省杭州市七縣市2025年生物高二下期末監測模擬試題含解析
- 新疆阿瓦提縣第四中學2025年高二下物理期末監測試題含解析
- 鹽城市阜寧縣高二上學期期中考試生物(必修)試題
- 車庫租賃與新能源汽車推廣合同
- 桉樹種植基地經營權轉讓與租賃合同
- 倉單質押融資貸款合同模板
- 高標準倉儲服務與財產擔保綜合合同范本
- 大宗商品采購合同運輸成本控制協議
- 科技創業園區場地租賃與創業孵化合同
- 1、2024廣西專業技術人員繼續教育公需科目參考答案(98分)
- 【MOOC】結構力學(一)-西南交通大學 中國大學慕課MOOC答案
- 【MOOC】系統解剖學-山東大學 中國大學慕課MOOC答案
- 廣西貴港市(2024年-2025年小學五年級語文)人教版期末考試(上學期)試卷及答案
- 急診科臨床診療指南-技術操作規范更新版
- 知識付費領域內容創業模式研究報告
- 化工廠光化車間停車檢修施工方案
- 鋁粉采購合同
- 廣州市主要河道采砂技術方案
- 中國基建課件教學課件
- EPC光伏項目投標方案(技術方案)
評論
0/150
提交評論