嵌入式實(shí)習(xí)報告(共6篇)_第1頁
嵌入式實(shí)習(xí)報告(共6篇)_第2頁
嵌入式實(shí)習(xí)報告(共6篇)_第3頁
嵌入式實(shí)習(xí)報告(共6篇)_第4頁
嵌入式實(shí)習(xí)報告(共6篇)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

嵌入式實(shí)習(xí)報告(共6篇)篇:嵌入式實(shí)習(xí)報告

一、嵌入式系統(tǒng)開發(fā)與應(yīng)用概述

在今日,嵌入式ARM技術(shù)已經(jīng)成為了一門比較熱門的學(xué)科,無論是在電子類的什么領(lǐng)域,你都可以看到嵌入式ARM的影子。如果你還停留在單片機(jī)級別的學(xué)習(xí),那么實(shí)際上你已經(jīng)落下時代腳步了,ARM嵌入式技術(shù)正以幾何的倍數(shù)高速發(fā)展,它幾乎滲透到了幾乎你所想到的領(lǐng)域。本章節(jié)就是將你領(lǐng)入ARM的學(xué)習(xí)大門,開始嵌入式開發(fā)之旅。以嵌入式計算機(jī)為技術(shù)核心的嵌入式系統(tǒng)是繼網(wǎng)絡(luò)技術(shù)之后,又一個IT領(lǐng)域新的技術(shù)發(fā)展方向。由于嵌入式系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向行業(yè)具體應(yīng)用等突出特征,目前已經(jīng)廣泛地應(yīng)用于軍事國防、消費(fèi)電子、信息家電、網(wǎng)絡(luò)通信、工業(yè)控制等各個領(lǐng)域。嵌入式的廣泛應(yīng)用可以說是無所不在。嵌入式微處理器技術(shù)的基礎(chǔ)是通用計算機(jī)技術(shù)。現(xiàn)在許多嵌入式處理器也是從早期的PC機(jī)的應(yīng)用發(fā)展演化過來的,如早期PC諸如TRS-80、AppleII和所用的Z80和6502處理器,至今仍為低端的嵌入式應(yīng)用。在應(yīng)用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優(yōu)點(diǎn)。嵌入式處理器目前主要有Am186/8

8、386EX、SC-400、PowerPC、68000、MIPS、ARM等系列。在早期實(shí)際的嵌入式應(yīng)用中,芯片選擇時往往以某一種微處理器內(nèi)核為核心,在芯片內(nèi)部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數(shù)器、WatchDog、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A等各種必要的功能和外設(shè)。二、實(shí)習(xí)設(shè)備

硬件:EmbestEduKit-IV實(shí)驗(yàn)平臺、ULINK2仿真器套件、PC機(jī)

軟件:μVisionIDEforARM集成開發(fā)環(huán)境、Windows98/2000/NT/XP

實(shí)習(xí)目的1.初步掌握液晶屏的使用及其電路設(shè)計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務(wù)調(diào)用的方法把液晶顯示函數(shù)添加到uC/OS-II中;通過實(shí)驗(yàn)掌握液晶顯示文本及圖形的方法與程序設(shè)計。2.了解S3C2410X處理器UART相關(guān)控制寄存器的使用;熟悉ARM處理器系統(tǒng)硬件電路中UART接口的設(shè)計方法:掌握ARM處理器串行通信的軟件編程方法。3.掌握有關(guān)音頻處理的基礎(chǔ)知識;通過實(shí)驗(yàn)了解IIS音頻接口的工作原理;通過實(shí)驗(yàn)掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實(shí)驗(yàn)掌握對常用IIS接口音頻芯片的控制方法。4.了解μC/OS-II移植條件和內(nèi)核基本結(jié)構(gòu);掌握將μC/OS-II內(nèi)核移植到ARM9處理器上的方法和步驟。四、實(shí)習(xí)要求

通過對μC/OS-II移植實(shí)驗(yàn)、μC/OS-IILCD顯示實(shí)驗(yàn)、串口通信實(shí)驗(yàn)、IIS音頻實(shí)驗(yàn)、液晶顯示實(shí)驗(yàn)的學(xué)習(xí),并將各部分內(nèi)容合并,最終得出實(shí)習(xí)結(jié)果,實(shí)習(xí)要求在鍵盤上輸入學(xué)號,在液晶顯示屏上顯示相應(yīng)的學(xué)生信息。學(xué)生信息包括顯示每個人的照片和姓名系別等,并用鍵控設(shè)置學(xué)生輸出的順序,輸入學(xué)號就顯示那個學(xué)生的信息,然后過一段時間就順序循環(huán)播放。移植μC/OS-II內(nèi)核到ARM處理器S3C2410,在IDE中觀察其運(yùn)行狀況編寫S3C2410X處理器的串口通信程序;監(jiān)視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。通過使用EmbestEduKit-IV實(shí)驗(yàn)板的彩色液晶屏(800*480)進(jìn)行電路設(shè)計,掌握液晶屏作為人機(jī)接口界面的設(shè)計方法,并編寫任務(wù)函數(shù)在uC/OS-II系統(tǒng)中實(shí)現(xiàn)位圖顯示。在uC/OS-II中建立五個任務(wù)Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點(diǎn)亮四個LED。Tast2在LCD屏幕上循環(huán)顯示三幅圖片,并打印一些文字信息和背景音樂。過使用EmbestEduKit-III實(shí)驗(yàn)板的256色彩色液晶屏(320x240)進(jìn)行電路設(shè)計,掌握液晶屏作為人機(jī)接口界面的設(shè)計方法,并編寫程序?qū)崿F(xiàn):畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。五、實(shí)習(xí)步驟

1.準(zhǔn)備實(shí)驗(yàn)環(huán)境

使用ULINK2仿真器連接EmbestEduKit-IV實(shí)驗(yàn)平臺的主板JTAG接口;使用EmbestEduKit-IV實(shí)驗(yàn)平臺附帶的交叉串口線,連接實(shí)驗(yàn)平臺主板上的COM2和PC機(jī)的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設(shè)備的可購買USB轉(zhuǎn)串口適配器擴(kuò)充);使用EmbestEduKit-IV實(shí)驗(yàn)平臺附帶的電源適配器,連接實(shí)驗(yàn)平臺主板上的電源接口。2.串口接收設(shè)置

在PC機(jī)上運(yùn)行windows自帶的超級終端串口通信程序,或者使用實(shí)驗(yàn)平臺附帶光盤內(nèi)設(shè)置好了的超級終端,設(shè)置超級終端:波特率115200、1位停止位、無校驗(yàn)位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據(jù)用戶的PC串口硬件不同,請自行選擇,如果PC機(jī)只有一個串口,一般是COM1)3.打開實(shí)驗(yàn)例程

1)打開實(shí)驗(yàn)程序

2)運(yùn)行μVisionIDEforARM軟件

3)默認(rèn)打開的工程在源碼編輯窗口會顯示實(shí)驗(yàn)例程的說明文件readme.txt,詳細(xì)閱讀并理解實(shí)驗(yàn)內(nèi)容。4)工程提供了兩種運(yùn)行方式:一是下載到SDRAM中調(diào)試運(yùn)行,二是固化到NorFlash中運(yùn)行。用戶可以在工具欄SelectTarget下拉框中選擇在RAM中調(diào)試運(yùn)行還是固化Flash中運(yùn)行。下面實(shí)驗(yàn)將介紹下載到SDRAM中調(diào)試運(yùn)行,所以我們在SelectTarget下拉框中選擇UART_TestINRAM。5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Buildtarget”或者“Rebuildalltargetfiles”編譯整個工程。6編譯完成后,在輸出窗口可以看到編譯提示信息,比如“".SDRAMUART_Test.axf"-0Error(s),1Warning(s).”,如果顯示“0Error(s)”即表示編譯成功。7)撥動實(shí)驗(yàn)平臺電源開關(guān),給實(shí)驗(yàn)平臺上電,單擊菜單欄Debug->Start/StopDebugSeion項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。8)下載完成后,單擊菜單欄Debug->Run項運(yùn)行程序,或者單擊工具欄“”按鈕來全速運(yùn)行程序。用戶也可以使用進(jìn)行單步調(diào)試程序。9)全速運(yùn)行后,用戶可以在超級終端看到程序運(yùn)行的信息。10)用戶可以Stop程序運(yùn)行,使用μVisionIDEforARM的一些調(diào)試窗口跟蹤查看程序運(yùn)行的信息。注:如果在第4)步用戶選擇在Flash中運(yùn)行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實(shí)驗(yàn)平臺的主板拔出JTAG線,給實(shí)驗(yàn)平臺重新上電,程序?qū)⒆詣舆\(yùn)行。部分程序圖:

串口通信實(shí)驗(yàn):

IIS音頻實(shí)驗(yàn):

六、實(shí)習(xí)體會

在嵌入式系統(tǒng)中,除了課本上的基礎(chǔ)知識外,還學(xué)會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設(shè)計方法;掌握有關(guān)音頻處理的基礎(chǔ)知識;掌握液晶顯示文本及圖形的方法與程序設(shè)計。通過這次設(shè)計,掌握了液晶顯示實(shí)驗(yàn)、μC/OS-II移植、μC/OS-IILCD顯示的工作原理及串口通信實(shí)驗(yàn)的工作過程,學(xué)會了使用仿真軟件EmbestEduKit-IV實(shí)驗(yàn)平臺及ULINK2仿真器套件,并學(xué)會通過應(yīng)用軟件仿真來實(shí)現(xiàn)各種通信系統(tǒng)的設(shè)計,對以后的學(xué)習(xí)和工作都起到了一定的作用,加強(qiáng)了動手能力和學(xué)業(yè)技能。雖然花了很長時間編寫軟件程序設(shè)計,但這一切還是理論上的。希望學(xué)校能提供機(jī)會和條件,讓我們能夠去真正地將理論和實(shí)踐相結(jié)合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進(jìn)和不足的地方,同時也幫助了我怎樣學(xué)好這門課程,增加了我對這門學(xué)科的興趣??傮w來說,這次實(shí)習(xí)我受益匪淺。在摸索該如何設(shè)計電路使之實(shí)現(xiàn)所需功能的過程中特別有趣,培養(yǎng)了我的設(shè)計思維,增加了實(shí)際操作能力。在讓我體會到了設(shè)計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實(shí)習(xí)通信系統(tǒng)的設(shè)計,使我更加清楚以后的發(fā)展及學(xué)習(xí)的方向。最后感謝老師這個學(xué)期的指導(dǎo)和幫助!Linux環(huán)境高級編程及項目開發(fā)編程實(shí)踐

主要包括系統(tǒng)編程(信號/系統(tǒng)調(diào)用/管道/FIFO/消息隊列/共享內(nèi)存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等,多任務(wù)和多線程編程(進(jìn)程標(biāo)識/用戶標(biāo)識/fork與vfork/多線程概念/線程同步等),網(wǎng)絡(luò)編程(網(wǎng)絡(luò)基本概念/套接口編程/網(wǎng)絡(luò)字節(jié)次序/Client/Server結(jié)構(gòu)/UDP編程);掌握Linux下Socket編程的開發(fā)流程,熟悉網(wǎng)絡(luò)編程的調(diào)用接口函數(shù)和相關(guān)數(shù)據(jù)結(jié)構(gòu),使學(xué)員初步具備在Linux上進(jìn)行系統(tǒng)編程開發(fā)的能力。同時綜合之前所學(xué)內(nèi)容和編程技術(shù),以小組為單位進(jìn)行一個團(tuán)隊合作項目的開發(fā),考核內(nèi)容包括文件I/O編程,多線程編程,網(wǎng)絡(luò)編程和項目文檔編寫。第五階段嵌入式處理器體系結(jié)構(gòu)及編程實(shí)踐

主要介紹ARM體系結(jié)構(gòu)及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統(tǒng)、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結(jié)合ARM嵌入式開發(fā)板硬件設(shè)計原理和基本硬件設(shè)計流程,分析各種外設(shè)的工作原理和驅(qū)動機(jī)制,并自己動手實(shí)踐完成一個ARM開發(fā)板上的編程大作業(yè)。第六階段嵌入式Linux開發(fā)基礎(chǔ)及高級應(yīng)用主要介紹嵌入式Linux開發(fā)應(yīng)用程序的基本流程和知識,包括嵌入式Linux基本概念和開發(fā)流程、Bootloader工作原理、內(nèi)核裁減配置和交叉編譯、根文件系統(tǒng)制作、網(wǎng)絡(luò)編程以及圖形界面和數(shù)據(jù)庫開發(fā)等知識。同時獨(dú)立完成一個基于嵌入式LinuxGUI的應(yīng)用編程大作業(yè)。第七階段嵌入式Linux驅(qū)動理論及驅(qū)動程序開發(fā)實(shí)踐

主要介紹嵌入式Linux上驅(qū)動程序開發(fā)規(guī)范,包括設(shè)備驅(qū)動程序概念、字符設(shè)備驅(qū)動程序、塊設(shè)備與網(wǎng)絡(luò)設(shè)備、網(wǎng)卡驅(qū)動以及常用嵌入式設(shè)備驅(qū)動開發(fā)等知識。同時獨(dú)立實(shí)現(xiàn)兩種嵌入式設(shè)備驅(qū)動程序的編寫,包括驅(qū)動模塊的調(diào)試和加載以及完整的項目開發(fā)文檔的編寫。第八階段嵌入式Linux項目團(tuán)隊開發(fā)實(shí)踐鍛煉

主要包括設(shè)計并實(shí)現(xiàn)一個真實(shí)和完整的嵌入式項目的開發(fā)流程,涉及到數(shù)據(jù)采集、網(wǎng)絡(luò)通訊、圖形用戶界面顯示以及嵌入式數(shù)據(jù)庫存儲系統(tǒng)等多種嵌入式Linux編程技術(shù)。要求學(xué)員建立起團(tuán)隊開發(fā)和協(xié)同工作的企業(yè)項目開發(fā)模式的概念和流程,強(qiáng)化學(xué)員對編寫項目概要設(shè)計文檔和詳細(xì)設(shè)計文檔的理解,為就業(yè)前的職業(yè)技能和素質(zhì)訓(xùn)練做好充分準(zhǔn)備。四、實(shí)習(xí)內(nèi)容1.嵌入式的歷史與現(xiàn)狀

?雖然嵌入式系統(tǒng)是近幾年才開始真正風(fēng)靡起來的,但事實(shí)上嵌入式這個概念卻很早就已經(jīng)存在了,從上個世紀(jì)70年代單片機(jī)的出現(xiàn)到今天各種嵌入式微處理器、微控制器的廣泛應(yīng)用,嵌入式系統(tǒng)少說也有了近30年的歷史。縱觀嵌入式系統(tǒng)的發(fā)展歷程,大致經(jīng)歷了以下四個階段:

無操作系統(tǒng)階段??嵌入式系統(tǒng)最初的應(yīng)用是基于單片機(jī)的,大多以可編程控制器的形式出現(xiàn),具有監(jiān)測、伺服、設(shè)備指示等功能,通常應(yīng)用于各類工業(yè)控制和飛機(jī)、導(dǎo)彈等武器裝備中,一般沒有操作系統(tǒng)的支持,只能通過匯編語言對系統(tǒng)進(jìn)行直接控制,運(yùn)行結(jié)束后再清除內(nèi)存。這些裝置雖然已經(jīng)初步具備了嵌入式的應(yīng)用特點(diǎn),但僅僅只是使用8位的CPU芯片來執(zhí)行一些單線程的程序,因此嚴(yán)格地說還談不上"系統(tǒng)"的概念。??這一階段嵌入式系統(tǒng)的主要特點(diǎn)是:系統(tǒng)結(jié)構(gòu)和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由于這種嵌入式系統(tǒng)使用簡便、價格低廉,因而曾經(jīng)在工業(yè)控制領(lǐng)域中得到了非常廣泛的應(yīng)用,但卻無法滿足現(xiàn)今對執(zhí)行效率、存儲容量都有較高要求的信息家電等場合的需要。簡單操作系統(tǒng)階段

??20世紀(jì)80年代,隨著微電子工藝水平的提高,IC制造商開始把嵌入式應(yīng)用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統(tǒng)統(tǒng)集成到一片VLSI中,制造出面向I/O設(shè)計的微控制器,并一舉成為嵌入式系統(tǒng)領(lǐng)域中異軍突起的新秀。與此同時,嵌入式系統(tǒng)的程序員也開始基于一些簡單的"操作系統(tǒng)"開發(fā)嵌入式應(yīng)用軟件,大大縮短了開發(fā)周期、提高了開發(fā)效率。??這一階段嵌入式系統(tǒng)的主要特點(diǎn)是:出現(xiàn)了大量高可靠、低功耗的嵌入式CPU(如PowerPC等),各種簡單的嵌入式操作系統(tǒng)開始出現(xiàn)并得到迅速發(fā)展。此時的嵌入式操作系統(tǒng)雖然還比較簡單,但已經(jīng)初步具有了一定的兼容性和擴(kuò)展性,內(nèi)核精巧且效率高,主要用來控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序的運(yùn)行。實(shí)時操作系統(tǒng)階段

??20世紀(jì)90年代,在分布控制、柔性制造、數(shù)字化通信和信息家電等巨大需求的牽引下,嵌入式系統(tǒng)進(jìn)一步飛速發(fā)展,而面向?qū)崟r信號處理算法的DSP產(chǎn)品則向著高速度、高精度、低功耗的方向發(fā)展。隨著硬件實(shí)時性要求的提高,嵌入式系統(tǒng)的軟件規(guī)模也不斷擴(kuò)大,逐漸形成了實(shí)時多任務(wù)操作系統(tǒng)(RTOS),并開始成為嵌入式系統(tǒng)的主流。??這一階段嵌入式系統(tǒng)的主要特點(diǎn)是:操作系統(tǒng)的實(shí)時性得到了很大改善,已經(jīng)能夠運(yùn)行在各種不同類型的微處理器上,具有高度的模塊化和擴(kuò)展性。此時的嵌入式操作系統(tǒng)已經(jīng)具備了文件和目錄管理、設(shè)備管理、多任務(wù)、網(wǎng)絡(luò)、圖形用戶界面(GUI)等功能,并提供了大量的應(yīng)用程序接口(API),從而使得應(yīng)用軟件的開發(fā)變得更加簡單。面向Internet階段

??21世紀(jì)無疑將是一個網(wǎng)絡(luò)的時代,將嵌入式系統(tǒng)應(yīng)用到各種網(wǎng)絡(luò)環(huán)境中去的呼聲自然也越來越高。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,隨著Internet的進(jìn)一步發(fā)展,以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結(jié)合日益緊密,嵌入式設(shè)備與Internet的結(jié)合才是嵌入式技術(shù)的真正未來。??信息時代和數(shù)字時代的到來,為嵌入式系統(tǒng)的發(fā)展帶來了巨大的機(jī)遇,同時也對嵌入式系統(tǒng)廠商提出了新的挑戰(zhàn)。目前,嵌入式技術(shù)與Internet技術(shù)的結(jié)合正在推動著嵌入式技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)的研究和應(yīng)用產(chǎn)生了如下新的顯著變化:1.新的微處理器層出不窮,嵌入式操作系統(tǒng)自身結(jié)構(gòu)的設(shè)計更加便于移植,能夠在短時間內(nèi)支持更多的微處理器。2.嵌入式系統(tǒng)的開發(fā)成了一項系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時還要提供強(qiáng)大的硬件開發(fā)工具和軟件支持包。3.通用計算機(jī)上使用的新技術(shù)、新觀念開始逐步移植到嵌入式系統(tǒng)中,如嵌入式數(shù)據(jù)庫、移動代理、實(shí)時CORBA等,嵌入式軟件平臺得到進(jìn)一步完善。4.各類嵌入式Linux操作系統(tǒng)迅速發(fā)展,由于具有源代碼開放、系統(tǒng)內(nèi)核小、執(zhí)行效率高、網(wǎng)絡(luò)結(jié)構(gòu)完整等特點(diǎn),很適合信息家電等嵌入式系統(tǒng)的需要,目前已經(jīng)形成了能與WindowsCE、PalmOS等嵌入式操作系統(tǒng)進(jìn)行有力競爭的局面。5.網(wǎng)絡(luò)化、信息化的要求隨著Internet技術(shù)的成熟和帶寬的提高而日益突出,以往功能單一的設(shè)備如電話、手機(jī)、冰箱、微波爐等功能不再單一,結(jié)構(gòu)變得更加復(fù)雜,網(wǎng)絡(luò)互聯(lián)成為必然趨勢。6.精簡系統(tǒng)內(nèi)核,優(yōu)化關(guān)鍵算法,降低功耗和軟硬件成本。7.提供更加友好的多媒體人機(jī)交互界面。2.體系結(jié)構(gòu)

?根據(jù)國際電氣和電子工程師協(xié)會(IEEE)的定義,嵌入式系統(tǒng)是"控制、監(jiān)視或者輔助設(shè)備、機(jī)器和車間運(yùn)行的裝置"(devicesusedtocontrol,monitor,oraistthe

operationofequipment,machineryorplants)。一般而言,整個嵌入式系統(tǒng)的體系結(jié)構(gòu)可以分成四個部分:嵌入式處理器、嵌入式外圍設(shè)備、嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件,如圖1所示。圖1嵌入式系統(tǒng)的組成嵌入式處理器

?嵌入式系統(tǒng)的核心是各種類型的嵌入式處理器,嵌入式處理器與通用處理器最大的不同點(diǎn)在于,嵌入式CPU大多工作在為特定用戶群所專門設(shè)計的系統(tǒng)中,它將通用CPU中許多由板卡完成的任務(wù)集成到芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計時趨于小型化,同時還具有很高的效率和可靠性。??嵌入式處理器的體系結(jié)構(gòu)經(jīng)歷了從CISC(復(fù)雜指令集)至RISC(精簡指令集)和CompactRISC的轉(zhuǎn)變,位數(shù)則由4位、8位、16位、32位逐步發(fā)展到64位。目前常用的嵌入式處理器可分為低端的嵌入式微控制器(MicroControllerUnit,MCU)、中高端的嵌入式微處理器(EmbeddedMicroProceorUnit,EMPU)、用于計算機(jī)通信領(lǐng)域的嵌入式DSP處理器(EmbeddedDigitalSignalProceor,EDSP)和高度集成的嵌入式片上系統(tǒng)(SystemOnChip,SOC)。?目前幾乎每個半導(dǎo)體制造商都生產(chǎn)嵌入式處理器,并且越來越多的公司開始擁有自主的處理器設(shè)計部門,據(jù)不完全統(tǒng)計,全世界嵌入式處理器已經(jīng)超過1000多種,流行的體系結(jié)構(gòu)有30多個系列,其中以ARM、PowerPC、MC68000、MIPS等使用得最為廣泛。嵌入式外圍設(shè)備

??在嵌入系統(tǒng)硬件系統(tǒng)中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用于完成存儲、通信、調(diào)試、顯示等輔助功能的其他部件,事實(shí)上都可以算作嵌入式外圍設(shè)備。目前常用的嵌入式外圍設(shè)備按功能可以分為存儲設(shè)備、通信設(shè)備和顯示設(shè)備三類。存儲設(shè)備主要用于各類數(shù)據(jù)的存儲,常用的有靜態(tài)易失型存儲器(RAM、SRAM)、動態(tài)存儲器(DRAM)和非易失型存儲器(ROM、EPROM、EEPROM、FLASH)三種,其中FLASH憑借其可擦寫次數(shù)多、存儲速度快、存儲容量大、價格便宜等優(yōu)點(diǎn),在嵌入式領(lǐng)域內(nèi)得到了廣泛應(yīng)用。目前存在的絕大多數(shù)通信設(shè)備都可以直接在嵌入式系統(tǒng)中應(yīng)用,包括RS-232接口(串行通信接口)、SPI(串行外圍設(shè)備接口)、IrDA(紅外線接口)、I2C(現(xiàn)場總線)、USB(通用串行總線接口)、Ethernet(以太網(wǎng)接口)等。?由于嵌入式應(yīng)用場合的特殊性,通常使用的是陰極射線管(CRT)、液晶顯示器(LCD)和觸摸板(TouchPanel)等外圍顯示設(shè)備。嵌入式操作系統(tǒng)

?為了使嵌入式系統(tǒng)的開發(fā)更加方便和快捷,需要有專門負(fù)責(zé)管理存儲器分配、中斷處理、任務(wù)調(diào)度等功能的軟件模塊,這就是嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)是用來支持嵌入式應(yīng)用的系統(tǒng)軟件,是嵌入式系統(tǒng)極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動程序、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形用戶界面(GUI)等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),如能夠有效管理復(fù)雜的系統(tǒng)資源,能夠?qū)τ布M(jìn)行抽象,能夠提供庫函數(shù)、驅(qū)動程序、開發(fā)工具集等。但與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時性、硬件依賴性、軟件固化性以及應(yīng)用專用性等方面,具有更加鮮明的特點(diǎn)。嵌入式操作系統(tǒng)根據(jù)應(yīng)用場合可以分為兩大類:一類是面向消費(fèi)電子產(chǎn)品的非實(shí)時系統(tǒng),這類設(shè)備包括個人數(shù)字助理(PDA)、移動電話、機(jī)頂盒(STB)等;另一類則是面向控制、通信、醫(yī)療等領(lǐng)域的實(shí)時操作系統(tǒng),如WindRiver公司的VxWorks、QNX系統(tǒng)軟件公司的QNX等。實(shí)時系統(tǒng)(RealTimeSystem)是一種能夠在指定或者確定時間內(nèi)完成系統(tǒng)功能,并且對外部和內(nèi)部事件在同步或者異步時間內(nèi)能做出及時響應(yīng)的系統(tǒng)。在實(shí)時系統(tǒng)中,操作的正確性不僅依賴于邏輯設(shè)計的正確程度,而且與這些操作進(jìn)行的時間有關(guān),也就是說,實(shí)時系統(tǒng)對邏輯和時序的要求非常嚴(yán)格,如果邏輯和時序控制出現(xiàn)偏差將會產(chǎn)生嚴(yán)重后果。?實(shí)時系統(tǒng)主要通過三個性能指標(biāo)來衡量系統(tǒng)的實(shí)時性,即響應(yīng)時間(ResponseTime)、生存時間(SurvivalTime)和吞吐量(Throughput):

o響應(yīng)時間

是實(shí)時系統(tǒng)從識別出一個外部事件到做出響應(yīng)的時間;

o生存時間是數(shù)據(jù)的有效等待時間,數(shù)據(jù)只有在這段時間內(nèi)才是有效的;

o吞吐量

是在給定的時間內(nèi)系統(tǒng)能夠處理的事件總數(shù),吞吐量通常比平均響應(yīng)時間的倒數(shù)要小一點(diǎn)。實(shí)時系統(tǒng)根據(jù)響應(yīng)時間可以分為弱實(shí)時系統(tǒng)、一般實(shí)時系統(tǒng)和強(qiáng)實(shí)時系統(tǒng)三種。弱實(shí)時系統(tǒng)在設(shè)計時的宗旨是使各個任務(wù)運(yùn)行得越快越好,但沒有嚴(yán)格限定某一任務(wù)必須在多長時間內(nèi)完成,弱實(shí)時系統(tǒng)更多關(guān)注的是程序運(yùn)行結(jié)果的正確與否,以及系統(tǒng)安全性能等其他方面,對任務(wù)執(zhí)行時間的要求相對來講較為寬松,一般響應(yīng)時間可以是數(shù)十秒或者更長。一般實(shí)時系統(tǒng)是弱實(shí)時系統(tǒng)和強(qiáng)實(shí)時系統(tǒng)的一種折衷,它的響應(yīng)時間可以在秒的數(shù)量級上,廣泛應(yīng)用于消費(fèi)電子設(shè)備中。強(qiáng)實(shí)時系統(tǒng)則要求各個任務(wù)不僅要保證執(zhí)行過程和結(jié)果的正確性,同時還要保證在限定的時間內(nèi)完成任務(wù),響應(yīng)時間通常要求在毫秒甚至微秒的數(shù)量級上,這對涉及到醫(yī)療、安全、軍事的軟硬件系統(tǒng)來說是至關(guān)重要的。時限(deadline)是實(shí)時系統(tǒng)中的一個重要概念,指的是對任務(wù)截止時間的要求,根據(jù)時限對系統(tǒng)性能的影響程度,實(shí)時系統(tǒng)又可以分為軟實(shí)時系統(tǒng)(softreal-time-system)和硬實(shí)時系統(tǒng)(hardreal-time-system)。軟實(shí)時指的是雖然對系統(tǒng)響應(yīng)時間有所限定,但如果系統(tǒng)響應(yīng)時間不能滿足要求,并不會導(dǎo)致系統(tǒng)產(chǎn)生致命的錯誤或者崩潰;硬實(shí)時則指的是對系統(tǒng)響應(yīng)時間有嚴(yán)格的限定,如果系統(tǒng)響應(yīng)時間不能滿足要求,就會引起系統(tǒng)產(chǎn)生致命的錯誤或者崩潰。如果一個任務(wù)在時限到達(dá)之時尚未完成,對軟實(shí)時系統(tǒng)來說還是可以容忍的,最多只會降低系統(tǒng)性能,但對硬實(shí)時系統(tǒng)來說則是無法接受的,因?yàn)檫@樣帶來的后果根本無法預(yù)測,甚至可能是災(zāi)難性的。在目前實(shí)際運(yùn)用的實(shí)時系統(tǒng)中,通常允許軟硬兩種實(shí)時性同時存在,其中一些事件沒有時限要求,另外一些事件的時限要求是軟實(shí)時的,而對系統(tǒng)產(chǎn)生關(guān)鍵影響的那些事件的時限要求則是硬實(shí)時的。五、實(shí)習(xí)計算機(jī)和網(wǎng)絡(luò)已經(jīng)全面滲透到日常生活的每一個角落,對于我們沒有個人來說,需要的已經(jīng)不再僅僅是放在桌面上處理文檔,進(jìn)行工業(yè)管理和生產(chǎn)控制的計算機(jī)“機(jī)器”任何一個普通的人都可能擁有從小到大的各種嵌入式技術(shù)的電子產(chǎn)品,小到MP3PDA等微型數(shù)字化產(chǎn)品,大到網(wǎng)絡(luò)家電,智能家電等,各種各樣的新型嵌入式系統(tǒng)設(shè)備在應(yīng)用數(shù)量上已經(jīng)遠(yuǎn)遠(yuǎn)超過了通用計算機(jī),在工業(yè)和服務(wù)領(lǐng)域,使用嵌入式技術(shù)的數(shù)字機(jī)床、智能工具、工業(yè)機(jī)器人、服務(wù)機(jī)器人、正在逐漸的改變著傳統(tǒng)的工業(yè)生產(chǎn)和服務(wù)方式。而ARM芯片憑借強(qiáng)大的處理能力和極低的功耗,非常適合這些場合。所以現(xiàn)在越來越多的公司在產(chǎn)品選型的時候考慮到使用ARM處理器,從這個角度來說,對于在校大學(xué)生來說,如果你掌握了ARM開發(fā)技術(shù),對于尋找一份好的工作也十分有利。第3篇:嵌入式系統(tǒng)實(shí)習(xí)報告

一、嵌入式系統(tǒng)開發(fā)與應(yīng)用概述

在今日,嵌入式ARM技術(shù)已經(jīng)成為了一門比較熱門的學(xué)科,無論是在電子類的什么領(lǐng)域,你都可以看到嵌入式ARM的影子。如果你還停留在單片機(jī)級別的學(xué)習(xí),那么實(shí)際上你已經(jīng)落下時代腳步了,ARM嵌入式技術(shù)正以幾何的倍數(shù)高速發(fā)展,它幾乎滲透到了幾乎你所想到的領(lǐng)域。本章節(jié)就是將你領(lǐng)入ARM的學(xué)習(xí)大門,開始嵌入式開發(fā)之旅。以嵌入式計算機(jī)為技術(shù)核心的嵌入式系統(tǒng)是繼網(wǎng)絡(luò)技術(shù)之后,又一個IT領(lǐng)域新的技術(shù)發(fā)展方向。由于嵌入式系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向行業(yè)具體應(yīng)用等突出特征,目前已經(jīng)廣泛地應(yīng)用于軍事國防、消費(fèi)電子、信息家電、網(wǎng)絡(luò)通信、工業(yè)控制等各個領(lǐng)域。嵌入式的廣泛應(yīng)用可以說是無所不在。嵌入式微處理器技術(shù)的基礎(chǔ)是通用計算機(jī)技術(shù)。現(xiàn)在許多嵌入式處理器也是從早期的pC機(jī)的應(yīng)用發(fā)展演化過來的,如早期pC諸如TRS-80、AppleII和所用的Z80和6502處理器,至今仍為低端的嵌入式應(yīng)用。在應(yīng)用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優(yōu)點(diǎn)。嵌入式處理器目前主要有Am186/8

8、386EX、SC-400、powerpC、68000、MIpS、ARM等系列。在早期實(shí)際的嵌入式應(yīng)用中,芯片選擇時往往以某一種微處理器內(nèi)核為核心,在芯片內(nèi)部集成必要的ROM/EpROM/Flash/EEpROM、SRAM、接口總線及總線控制邏輯、定時/計數(shù)器、WatchDog、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A等各種必要的功能和外設(shè)。二、實(shí)習(xí)設(shè)備

硬件:EmbestEduKit-IV實(shí)驗(yàn)平臺、ULINK2仿真器套件、pC機(jī)

軟件:μVisionIDEforARM集成開發(fā)環(huán)境、Windows98/2000/NT/Xp

三、實(shí)習(xí)目的1.初步掌握液晶屏的使用及其電路設(shè)計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務(wù)調(diào)用的方法把液晶顯示函數(shù)添加到uC/OS-II中;通過實(shí)驗(yàn)掌握液晶顯示文本及圖形的方法與程序設(shè)計。2.了解S3C2410X處理器UART相關(guān)控制寄存器的使用;熟悉ARM處理器系統(tǒng)硬件電路中UART接口的設(shè)計方法:掌握ARM處理器串行通信的軟件編程方法。3.掌握有關(guān)音頻處理的基礎(chǔ)知識;通過實(shí)驗(yàn)了解IIS音頻接口的工作原理;通過實(shí)驗(yàn)掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實(shí)驗(yàn)掌握對常用IIS接口音頻芯片的控制方法。4.了解μC/OS-II移植條件和內(nèi)核基本結(jié)構(gòu);掌握將μC/OS-II內(nèi)核移植到ARM9處理器上的方法和步驟。四、實(shí)習(xí)要求

通過對μC/OS-II移植實(shí)驗(yàn)、μC/OS-IILCD顯示實(shí)驗(yàn)、串口通信實(shí)驗(yàn)、IIS音頻實(shí)驗(yàn)、液晶顯示實(shí)驗(yàn)的學(xué)習(xí),并將各部分內(nèi)容合并,最終得出實(shí)習(xí)結(jié)果,實(shí)習(xí)要求在鍵盤上輸入學(xué)號,在液晶顯示屏上顯示相應(yīng)的學(xué)生信息。學(xué)生信息包括顯示每個人的照片和姓名系別等,并用鍵控設(shè)置學(xué)生輸出的順序,輸入學(xué)號就顯示那個學(xué)生的信息,然后過一段時間就順序循環(huán)播放。移植μC/OS-II內(nèi)核到ARM處理器S3C2410,在IDE中觀察其運(yùn)行狀況編寫S3C2410X處理器的串口通信程序;監(jiān)視串行口UART1動作;將從UART1接收到的字符串回送顯示。將從UART1接收到的字符串回送顯示。通過使用EmbestEduKit-IV實(shí)驗(yàn)板的彩色液晶屏(800*480)進(jìn)行電路設(shè)計,掌握液晶屏作為人機(jī)接口界面的設(shè)計方法,并編寫任務(wù)函數(shù)在uC/OS-II系統(tǒng)中實(shí)現(xiàn)位圖顯示。在uC/OS-II中建立五個任務(wù)Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點(diǎn)亮四個LED。Tast2在LCD屏幕上循環(huán)顯示三幅圖片,并打印一些文字信息和背景音樂。過使用EmbestEduKit-III實(shí)驗(yàn)板的256色彩色液晶屏(320x240)進(jìn)行電路設(shè)計,掌握液晶屏作為人機(jī)接口界面的設(shè)計方法,并編寫程序?qū)崿F(xiàn):畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。五、實(shí)習(xí)步驟

1.準(zhǔn)備實(shí)驗(yàn)環(huán)境

使用ULINK2仿真器連接EmbestEduKit-IV實(shí)驗(yàn)平臺的主板JTAG接口;使用EmbestEduKit-IV實(shí)驗(yàn)平臺附帶的交叉串口線,連接實(shí)驗(yàn)平臺主板上的COM2和pC機(jī)的串口(一般pC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設(shè)備的可購買USB轉(zhuǎn)串口適配器擴(kuò)充);使用EmbestEduKit-IV實(shí)驗(yàn)平臺附帶的電源適配器,連接實(shí)驗(yàn)平臺主板上的電源接口。2.串口接收設(shè)置

在pC機(jī)上運(yùn)行windows自帶的超級終端串口通信程序,或者使用實(shí)驗(yàn)平臺附帶光盤內(nèi)設(shè)置好了的超級終端,設(shè)置超級終端:波特率115200、1位停止位、無校驗(yàn)位、無硬件流控制,或者使用其它串口通信程序。(注:超級終端串口的選擇根據(jù)用戶的pC串口硬件不同,請自行選擇,如果pC機(jī)只有一個串口,一般是COM1)3.打開實(shí)驗(yàn)例程

1)打開實(shí)驗(yàn)程序

2)運(yùn)行μVisionIDEforARM軟件

3)默認(rèn)打開的工程在源碼編輯窗口會顯示實(shí)驗(yàn)例程的說明文件readme.txt,詳細(xì)閱讀并理解實(shí)驗(yàn)內(nèi)容。4)工程提供了兩種運(yùn)行方式:一是下載到SDRAM中調(diào)試運(yùn)行,二是固化到NorFlash中運(yùn)行。用戶可以在工具欄SelectTarget下拉框中選擇在RAM中調(diào)試運(yùn)行還是固化Flash中運(yùn)行。下面實(shí)驗(yàn)將介紹下載到SDRAM中調(diào)試運(yùn)行,所以我們在SelectTarget下拉框中選擇UART_TestINRAM。5)接下來開始編譯鏈接工程,在菜單欄“projiet”選擇“Buildtarget”或者“Rebuildalltargetfiles”編譯整個工程。6編譯完成后,在輸出窗口可以看到編譯提示信息,比如“".SDRAMUART_Test.axf"-0Error(s),1Warning(s).”,如果顯示“0Error(s)”即表示編譯成功。7)撥動實(shí)驗(yàn)平臺電源開關(guān),給實(shí)驗(yàn)平臺上電,單擊菜單欄Debug->Start/StopDebugSeion項將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。8)下載完成后,單擊菜單欄Debug->Run項運(yùn)行程序,或者單擊工具欄“”按鈕來全速運(yùn)行程序。用戶也可以使用進(jìn)行單步調(diào)試程序。9)全速運(yùn)行后,用戶可以在超級終端看到程序運(yùn)行的信息。10)用戶可以Stop程序運(yùn)行,使用μVisionIDEforARM的一些調(diào)試窗口跟蹤查看程序運(yùn)行的信息。注:如果在第4)步用戶選擇在Flash中運(yùn)行,則編譯鏈接成功后,單擊菜單欄Flash->Download項將程序固化到NorFlash中,從實(shí)驗(yàn)平臺的主板拔出JTAG線,給實(shí)驗(yàn)平臺重新上電,程序?qū)⒆詣舆\(yùn)行。部分程序圖:

串口通信實(shí)驗(yàn):

IIS音頻實(shí)驗(yàn):

六、實(shí)習(xí)體會

在嵌入式系統(tǒng)中,除了課本上的基礎(chǔ)知識外,還學(xué)會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設(shè)計方法;掌握有關(guān)音頻處理的基礎(chǔ)知識;掌握液晶顯示文本及圖形的方法與程序設(shè)計。通過這次設(shè)計,掌握了液晶顯示實(shí)驗(yàn)、μC/OS-II移植、μC/OS-IILCD顯示的工作原理及串口通信實(shí)驗(yàn)的工作過程,學(xué)會了使用仿真軟件EmbestEduKit-IV實(shí)驗(yàn)平臺及ULINK2仿真器套件,并學(xué)會通過應(yīng)用軟件仿真來實(shí)現(xiàn)各種通信系統(tǒng)的設(shè)計,對以后的學(xué)習(xí)和工作都起到了一定的作用,加強(qiáng)了動手能力和學(xué)業(yè)技能。雖然花了很長時間編寫軟件程序設(shè)計,但這一切還是理論上的。希望學(xué)校能提供機(jī)會和條件,讓我們能夠去真正地將理論和實(shí)踐相結(jié)合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進(jìn)和不足的地方,同時也幫助了我怎樣學(xué)好這門課程,增加了我對這門學(xué)科的興趣??傮w來說,這次實(shí)習(xí)我受益匪淺。在摸索該如何設(shè)計電路使之實(shí)現(xiàn)所需功能的過程中特別有趣,培養(yǎng)了我的設(shè)計思維,增加了實(shí)際操作能力。在讓我體會到了設(shè)計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實(shí)習(xí)通信系統(tǒng)的設(shè)計,使我更加清楚以后的發(fā)展及學(xué)習(xí)的方向。最后感謝老師這個學(xué)期的指導(dǎo)和幫助!七、參考文獻(xiàn)

《ARM9嵌入式系統(tǒng)設(shè)計與開發(fā)應(yīng)用》熊茂華、楊震倫編著清華大學(xué)出版社

《ARM9嵌入式系統(tǒng)設(shè)計與開發(fā)教程》于明編著電子工業(yè)出版社

《Linux嵌入式系統(tǒng)教程》馬忠梅北京航空航天大學(xué)出版社

第4篇:嵌入式畢業(yè)實(shí)習(xí)報告

嵌入式系統(tǒng)畢業(yè)實(shí)習(xí)報告

學(xué)

院:電子與電氣工程學(xué)院專

業(yè):電子信息工程班

級:電子11201學(xué)

號:1203251024姓

名:

徐賢暢

嵌入式系統(tǒng)開發(fā)與應(yīng)用概述

在今日,嵌入式ARM技術(shù)已經(jīng)成為了一門比較熱門的學(xué)科,無論是在電子類的什么領(lǐng)域,你都可以看到嵌入式ARM的影子。如果你還停留在單片機(jī)級別的學(xué)習(xí),那么實(shí)際上你已經(jīng)落下時代腳步了,ARM嵌入式技術(shù)正以幾何的倍數(shù)高速發(fā)展,它幾乎滲透到了幾乎你所想到的領(lǐng)域。由于嵌入式系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向行業(yè)具體應(yīng)用等突出特征,目前已經(jīng)廣泛地應(yīng)用于軍事國防、消費(fèi)電子、信息家電、網(wǎng)絡(luò)通信、工業(yè)控制等各個領(lǐng)域。嵌入式的廣泛應(yīng)用可以說是無所不在。linux系統(tǒng)

linux系統(tǒng)主要是由用戶空間和內(nèi)核空間再加上外部的硬件平臺構(gòu)成,用戶空間就是用戶應(yīng)用程序的運(yùn)行空間,主要包括兩方面的內(nèi)容:用戶應(yīng)用程序和GNUCLibrary(glibc)。而內(nèi)核空間有三方面的內(nèi)容,一是系統(tǒng)調(diào)用接口,它作為用戶空間和內(nèi)核空間相互轉(zhuǎn)移的一種方式,二是內(nèi)核空間,三是體系相關(guān)內(nèi)核代碼,在linux內(nèi)核代碼中,可以看到arch目錄下有許多子目錄,其中每一個子目錄代表一種硬件平臺。而為什么要把linux系統(tǒng)劃分為用戶空間和內(nèi)核空間呢?主要是一旦用戶空間和內(nèi)核空間沒有分開,那用戶將擁有很大的權(quán)限去操控內(nèi)核或用戶應(yīng)用程序的崩潰將會造成系統(tǒng)的崩潰,而linux系統(tǒng)是利用cpu的模式分級來分別運(yùn)行用戶空間和內(nèi)核空間,這樣就可以使操作系統(tǒng)得到充分的保護(hù)。而現(xiàn)代的cpu通常實(shí)現(xiàn)了不同的工作模式,以ARM處理器為例實(shí)現(xiàn)了7種運(yùn)行模式,分別為:

1)用戶模式(usr):ARM微處理器正常程序執(zhí)行模式2)系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)3)中斷模式(irq):用于通用的中斷處理

4)外部中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理

5)數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時進(jìn)入該模式,可用于虛擬存儲及存儲保護(hù)

6)管理模式(svc):操作系統(tǒng)使用的保護(hù)模式

7)未定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真

ARM微處理器的運(yùn)行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變,除用戶模式外,其他模式都是非用戶模式或特權(quán)模式,除用戶模式和系統(tǒng)模式外,其他模式都是異常模式,常用于處理異?;蛑袛?,以及需要訪問受保護(hù)的系統(tǒng)資源等情況。同時用戶空間和內(nèi)核空間是程序執(zhí)行的兩種不同狀態(tài),通過系統(tǒng)調(diào)用和硬件中斷去實(shí)現(xiàn)用戶空間到內(nèi)核空間的轉(zhuǎn)移,系統(tǒng)調(diào)用是主動的,硬件中斷是被動的,比如鍵盤按下或者串口中斷。接下來說說linux的內(nèi)核架構(gòu),它主要是包含7大組成部分

1.內(nèi)存管理內(nèi)存管理的主要作用是使多個進(jìn)程能安全高效的共享內(nèi)存區(qū)域,通常使用以下兩個手段:

①內(nèi)存映射:將物理內(nèi)存映射到虛擬內(nèi)存中,變有限為無限②有效管理:使用各種內(nèi)存管理算法(如伙伴算法),減少內(nèi)存浪費(fèi)

2.虛擬文件系統(tǒng)vfs隱藏了各種文件系統(tǒng)的具體細(xì)節(jié),為文件操作提供統(tǒng)一的接口3.網(wǎng)絡(luò)協(xié)議棧它為linux提供了完善豐富的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)

4.進(jìn)程管理進(jìn)程管理的重點(diǎn)是創(chuàng)建進(jìn)程、停止進(jìn)程,并控制它們之間的通信。進(jìn)程管理還包括控制活動進(jìn)程如何共享cpu,即進(jìn)程調(diào)度。5.設(shè)備驅(qū)動設(shè)備驅(qū)動也是內(nèi)核的一部分,它不同于內(nèi)核的其他部件,并且獨(dú)立于內(nèi)核的其他部件,同時它是與設(shè)備交互的唯一模塊,通常由第三方廠商開發(fā),一個驅(qū)動程序不與其他驅(qū)動程序交互;內(nèi)核與驅(qū)動程序之間也僅通過一個嚴(yán)格定義的接口交互。6.系統(tǒng)調(diào)用接口SCI層為用戶空間提供了一套標(biāo)準(zhǔn)的系統(tǒng)調(diào)用函數(shù)來訪問Linux內(nèi)核,搭起了用戶空間到內(nèi)核空間的橋梁。3.使用如下命令之一配置內(nèi)核:

1)makeconfig:基于文本模式的交互式配置

2)makemenuconfig:基于文本模式的菜單型配置

3)makeoldconfig:使用已有的配置文件(.config),但是會詢問新增的配置選項4)makexconfig:圖形化的配置(需安裝圖形化系統(tǒng))Makemenuconfig是最為常用的內(nèi)核配置方式如果一個.config文件已經(jīng)存在,它將使用該文件設(shè)置那些默認(rèn)的值4.編譯內(nèi)核

編譯內(nèi)核通常也需要幾個步驟,一是清除以前編譯通過的殘留文件;二是編譯內(nèi)核image文件和可加載模塊;三是安裝模塊。下面是編譯內(nèi)核的具體步驟。①makedep命令用在內(nèi)核2.4或之前,用于建立源文件之間的依賴關(guān)系,在執(zhí)行內(nèi)核配置命令之后使用,不過在2.6內(nèi)核中已經(jīng)取消該命令,該功能由內(nèi)核配置命令實(shí)現(xiàn)。④在配置菜單的過程中,有些選項被選擇為模塊的,即選項前為[M],并且在回答Enableloadablemodulesupport(CONFIG_MODULES)時選了Yes的,則接下來就還要用命令makemodules來編譯這些可加載模塊,并用makemodules_install將makemodules生成的模塊文件復(fù)制到相應(yīng)目錄,桌面Linux內(nèi)核一般是在/lib/modules目錄下。⑤制作initramdiskmkinitrdinitrd-$version$version例:

mkinitrdinitrd-2.6.292.6.29

$version可以通過查詢/lib/modules下的目錄得到

Ramdisk是將一部分固定大小的內(nèi)存當(dāng)做分區(qū)來使用。它并非一個實(shí)際的文件系統(tǒng),二是一種將實(shí)際的文件系統(tǒng)裝入內(nèi)存的機(jī)制,并且可以作為根文件系統(tǒng)。將一些經(jīng)常被訪問而又不會更改的文件(如只讀的根文件系統(tǒng))通過ramdisk放在內(nèi)存中,可以明顯的提高系統(tǒng)的性能。在linux的啟動階段,initrd提供了一套機(jī)制,可以將內(nèi)核映像和根文件系統(tǒng)一起載入內(nèi)存。⑥cparch/x86/boot/bzImage/boot/vmlinuz-$version

$version為所編譯的內(nèi)核版本號

(拷貝initrd-2.6.29到/boot下,將arch/x86/boot/bzImage更名為vmlinuz-2.6.29移動到/boot下)

⑦修改/etc/grub.conf或者/etc/lilo.conf(GNUGRUB(簡稱GRUB)是一個來自GNU項目的多操作系統(tǒng)啟動程序。GRUB是多啟動規(guī)范的實(shí)現(xiàn),它允許用戶可以在計算機(jī)內(nèi)同時擁有多個操作系統(tǒng),并在計算機(jī)啟動時選擇希望運(yùn)行的操作系統(tǒng)。GRUB可用于選擇操作系統(tǒng)分區(qū)上的不同內(nèi)核,也可用于向這些內(nèi)核傳遞啟動參數(shù)。)這時重啟Linux操作系統(tǒng),在進(jìn)入內(nèi)核時按下回車鍵進(jìn)入內(nèi)核選擇界面,選擇自己編譯的內(nèi)核,即可進(jìn)入自己編譯的內(nèi)核的操作系統(tǒng),用uname-r可以查看當(dāng)前內(nèi)核版本。嵌入式linux文件系統(tǒng)的制作與移植

文件系統(tǒng)包含兩個層次的含義:1.按照固定格式組織的目錄與文件

2.在特定的存儲介質(zhì)上管理這些目錄和文件需要的數(shù)據(jù)

當(dāng)我們在linux下輸入ls/的時候,見到的目錄結(jié)構(gòu)以及這些目錄下的內(nèi)容都大同小異,這是因?yàn)樗械膌inux發(fā)行版在對根文件系統(tǒng)的布局上都遵循FHS(FilesystemHierarchyStandard)標(biāo)準(zhǔn)的建議規(guī)定。各個目錄名稱及其存放的內(nèi)容:

/bin必備的用戶命令,例如ls、cp等

/sbin必備的系統(tǒng)管理員命令,例如ifconfig、reboot等/dev設(shè)備文件,例如

mtdblock0、tty1等

/etc系統(tǒng)配置文件,包括啟動文件,例如inittab等/lib必要的鏈接庫,例如C鏈接庫、內(nèi)核模塊/home普通用戶主目錄/rootroot用戶主目錄

/usr/bin非必備的用戶程序,例如find、du等

/usr/sbin非必備的管理員程序,例如chroot、inetd等/usr/lib庫文件

/var守護(hù)程序和工具程序所存放的可變,例如日志文件

/proc用來提供內(nèi)核與進(jìn)程信息的虛擬文件系統(tǒng),由內(nèi)核自動生成目錄下的內(nèi)容

/sys用來提供內(nèi)核與設(shè)備信息的虛擬文件系統(tǒng),由內(nèi)核自動生成目錄下的內(nèi)容

/mnt文件系統(tǒng)掛接點(diǎn),用于臨時安裝文件系統(tǒng)

/tmp臨時性的文件,重啟后將自動清除

根文件系統(tǒng)是Linux啟動時使用的第一個文件系統(tǒng)。沒有根文件系統(tǒng),Linux將無法正常啟動。根文件系統(tǒng)由一系列目錄組成,目錄中包含了應(yīng)用程序、C庫、以及相關(guān)的配置文件。那如何制作一個根文件系統(tǒng)呢?主要包括以下步驟:

1、創(chuàng)建根文件系統(tǒng)的目錄

如:mkdirbinsbinlibetcdevprocsysusrmnttmpvar

2、創(chuàng)建設(shè)備文件

cddev

mknod-m666consolec51mknod-m666nullc13cd..3、安裝/etctar-xzvfetc.tar.gz/xxx/rootfs/etc

4、配置busybox

進(jìn)入busybox目錄執(zhí)行makemenuconfig

進(jìn)入BusyboxSettingsbuildOptions->

選中“Buildbusyboxasastaticbinary”,靜態(tài)鏈接CroCompilerprefix(arm-linux-)InstallationOptions->

選中“Don‘tuse/usr”,選中該項可以避免busybox被安裝到宿主系統(tǒng)的/usr目錄下,破壞宿主系統(tǒng)

BusyboxInstallationPrefix(/nfsroot/rootfs)該選項表明編譯后的busybox的安裝位置7、編譯、安裝busybox

makeARCH=armCROSS_COMPILE=arm-linux-

makeinstall

前提是系統(tǒng)中安裝好了交叉編譯工具arm-linux-gcc

至此一個粗略的根文件系統(tǒng)制作完成,下面就需要移植到開發(fā)板中。我們知道ARM嵌入式系統(tǒng)的組成為:1)bootloader引導(dǎo)加載器2)kernel操作系統(tǒng)內(nèi)核

3)rootfs根文件系統(tǒng)(帶GUI,QTopia)

在系統(tǒng)加載完內(nèi)核后就會去啟動根文件系統(tǒng),而啟動根文件系統(tǒng)這個過程被bootargs這個參數(shù)控制,所以我們需要修改這個參數(shù)以使系統(tǒng)運(yùn)行我們的根文件系統(tǒng),但這之前我們需要在宿主機(jī)上將根文件系統(tǒng)共享出來。我們先在linux系統(tǒng)中配置好nfs服務(wù)器,并且在設(shè)置配置文件exports將根文件系統(tǒng)所在路徑共享出來,接下來在ARM開發(fā)板啟動時控制超級終端進(jìn)入shell界面,在這里輸入命令print會顯示開發(fā)板啟動的配置信息,通過set命令我們可以設(shè)置bootargs參數(shù)為:console=ttySAC0root=/dev/nfs

nfsroot=13:/mynfs/rootfs

ip=:13::::eth0:off設(shè)置完成后用save命令保存設(shè)置,輸入reset復(fù)位命令,ARM系統(tǒng)重啟,重啟完成后我們看到ARM系統(tǒng)的根文件系統(tǒng)就是我們自己制作的根文件系統(tǒng)。實(shí)習(xí)體會

在嵌入式系統(tǒng)中,除了課本上的基礎(chǔ)知識外,還學(xué)會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設(shè)計方法;掌握有關(guān)音頻處理的基礎(chǔ)知識;掌握液晶顯示文本及圖形的方法與程序設(shè)計。通過這次設(shè)計,掌握了液晶顯示實(shí)驗(yàn)、μC/OS-II移植、μC/OS-IILCD顯示的工作原理及串口通信實(shí)驗(yàn)的工作過程,學(xué)會了使用仿真軟件EmbestEduKit-IV實(shí)驗(yàn)平臺及ULINK2仿真器套件,并學(xué)會通過應(yīng)用軟件仿真來實(shí)現(xiàn)各種通信系統(tǒng)的設(shè)計,對以后的學(xué)習(xí)和工作都起到了一定的作用,加強(qiáng)了動手能力和學(xué)業(yè)技能。雖然花了很長時間編寫軟件程序設(shè)計,但這一切還是理論上的。希望學(xué)校能提供機(jī)會和條件,讓我們能夠去真正地將理論和實(shí)踐相結(jié)合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進(jìn)和不足的地方,同時也幫助了我怎樣學(xué)好這門課程,增加了我對這門學(xué)科的興趣。總體來說,這次實(shí)習(xí)我受益匪淺。在摸索該如何設(shè)計電路使之實(shí)現(xiàn)所需功能的過程中特別有趣,培養(yǎng)了我的設(shè)計思維,增加了實(shí)際操作能力。在讓我體會到了設(shè)計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實(shí)習(xí)通信系統(tǒng)的設(shè)計,使我更加清楚以后的發(fā)展及學(xué)習(xí)的方向。二、實(shí)習(xí)目的學(xué)習(xí)和了解了嵌入式在生活中的重要作用和發(fā)展過程,熟練掌握ARM硬件體系結(jié)構(gòu),熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經(jīng)驗(yàn),能夠參與并實(shí)現(xiàn)一個真實(shí)和完整的嵌入式項目,為今后的學(xué)習(xí)和將從事的技術(shù)工作打下堅實(shí)的基礎(chǔ)

三、實(shí)習(xí)設(shè)備:

1、硬件:EmbestEduKit-IV平臺,ULINK2仿真器套件,PC機(jī);

2、軟件:μVisionIDEforARM集成開發(fā)環(huán)境,Windows98/2000/NT/XP。四、實(shí)習(xí)內(nèi)容

第一階段Linux操作和編程基礎(chǔ)

主要介紹Linux的基本命令和基礎(chǔ)編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調(diào)試器和Make項目管理工具等知識。第二階段嵌入式C語言編程基礎(chǔ)

主要介紹在嵌入式開發(fā)編程中C語言的重要概念和編程技巧中的重點(diǎn)難點(diǎn),以復(fù)習(xí)串講和實(shí)例分析的形式,重點(diǎn)介紹包括函數(shù)與程序結(jié)構(gòu),指針、數(shù)組和鏈表,庫函數(shù)的使用等知識。第三階段Linux上C強(qiáng)化編程訓(xùn)練主要包括整數(shù)算法訓(xùn)練,遞歸和棧編程訓(xùn)練,位操作訓(xùn)練,指針訓(xùn)練,字符串訓(xùn)練和常用C庫函數(shù)編程接口實(shí)踐,強(qiáng)化學(xué)員對Linux下基本編程開發(fā)的理解和編碼調(diào)試的能力。第四階段Linux環(huán)境高級編程及項目開發(fā)編程實(shí)踐主要包括系統(tǒng)編程(信號/系統(tǒng)調(diào)用/管道/FIFO/消息隊列/共享內(nèi)存等),文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等),多任務(wù)和多線程編程(進(jìn)程標(biāo)識/用戶標(biāo)識/fork與vfork/多線程概念/線程同步等),網(wǎng)絡(luò)編程(網(wǎng)絡(luò)基本概念/套接口編程/網(wǎng)絡(luò)字節(jié)次序/Client/Server結(jié)構(gòu)/UDP編程);掌握Linux下Socket編程的開發(fā)流程,熟悉網(wǎng)絡(luò)編程的調(diào)用接口函數(shù)和相關(guān)數(shù)據(jù)結(jié)構(gòu),使學(xué)員初步具備在Linux上進(jìn)行系統(tǒng)編程開發(fā)的能力。同時綜合之前所學(xué)內(nèi)容和編程技術(shù),以小組為單位進(jìn)行一個團(tuán)隊合作項目的開發(fā),考核內(nèi)容包括文件I/O編程,多線程編程,網(wǎng)絡(luò)編程和項目文檔編寫。第五階段嵌入式處理器體系結(jié)構(gòu)及編程實(shí)踐

主要介紹ARM體系結(jié)構(gòu)及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統(tǒng)、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結(jié)合ARM嵌入式開發(fā)板硬件設(shè)計原理和基本硬件設(shè)計流程,分析各種外設(shè)的工作原理和驅(qū)動機(jī)制,并自己動手實(shí)踐完成一個ARM開發(fā)板上的編程大作業(yè)。第六階段嵌入式Linux開發(fā)基礎(chǔ)及高級應(yīng)用

主要介紹嵌入式Linux開發(fā)應(yīng)用程序的基本流程和知識,包括嵌入式Linux基本概念和開發(fā)流程、Bootloader工作原理、內(nèi)核裁減配置和交叉編譯、根文件系統(tǒng)制作、網(wǎng)絡(luò)編程以及圖形界面和數(shù)據(jù)庫開發(fā)等知識。同時獨(dú)立完成一個基于嵌入式LinuxGUI的應(yīng)用編程大作業(yè)。第七階段嵌入式Linux驅(qū)動理論及驅(qū)動程序開發(fā)實(shí)踐

主要介紹嵌入式Linux上驅(qū)動程序開發(fā)規(guī)范,包括設(shè)備驅(qū)動程序概念、字符設(shè)備驅(qū)動程序、塊設(shè)備與網(wǎng)絡(luò)設(shè)備、網(wǎng)卡驅(qū)動以及常用嵌入式設(shè)備驅(qū)動開發(fā)等知識。同時獨(dú)立實(shí)現(xiàn)兩種嵌入式設(shè)備驅(qū)動程序的編寫,包括驅(qū)動模塊的調(diào)試和加載以及完整的項目開發(fā)文檔的編寫。第八階段嵌入式Linux項目團(tuán)隊開發(fā)實(shí)踐鍛煉主要包括設(shè)計并實(shí)現(xiàn)一個真實(shí)和完整的嵌入式項目的開發(fā)流程,涉及到數(shù)據(jù)采集、網(wǎng)絡(luò)通訊、圖形用戶界面顯示以及嵌入式數(shù)據(jù)庫存儲系統(tǒng)等多種嵌入式Linux編程技術(shù)。要求學(xué)員建立起團(tuán)隊開發(fā)和協(xié)同工作的企業(yè)項目開發(fā)模式的概念和流程,強(qiáng)化學(xué)員對編寫項目概要設(shè)計文檔和詳細(xì)設(shè)計文檔的理解,為就業(yè)前的職業(yè)技能和素質(zhì)訓(xùn)練做好充分準(zhǔn)備。五、實(shí)習(xí)心得:

通過本次實(shí)習(xí)對ARM9嵌入式系統(tǒng)設(shè)計有了更深一步的了解,知道了如何使用uc/os軟件進(jìn)行編程編譯,并下載到實(shí)驗(yàn)箱中,使圖像、聲音、文字得以顯示,學(xué)會了轉(zhuǎn)換IIS聲音文件的工具:ProcBmp.exe和轉(zhuǎn)換bmp圖片文件的工具:Image2Lcd,使其能夠在程序中運(yùn)行。更重要的是學(xué)會了如何解決在實(shí)習(xí)中遇到的各種問題并很好的解決,為以后使用該軟件進(jìn)行編程打下了堅實(shí)的基礎(chǔ),也培養(yǎng)了自己對該軟件的興趣,大四的學(xué)生正面臨找工作的壓力,通過這次實(shí)習(xí)積累了經(jīng)驗(yàn),對找工作也起到了輔助的作用,希望能夠有機(jī)會對該軟件進(jìn)行進(jìn)一步的學(xué)習(xí)研究。最后感謝指導(dǎo)老師和同學(xué)們的細(xì)心幫助。第6篇:嵌入式系統(tǒng)實(shí)習(xí)報告

嵌入式系統(tǒng)實(shí)習(xí)報告

一、嵌入式系統(tǒng)開發(fā)與應(yīng)用概述

在今日,嵌入式ARM技術(shù)已經(jīng)成為了一門比較熱門的學(xué)科,無論是在電子類的什么領(lǐng)域,你都可以看到嵌入式ARM的影子。如果你還停留在單片機(jī)級別的學(xué)習(xí),那么實(shí)際上你已經(jīng)落下時代腳步了,ARM嵌入式技術(shù)正以幾何的倍數(shù)高速發(fā)展,它幾乎滲透到了幾乎你所想到的領(lǐng)域。本章節(jié)就是將你領(lǐng)入ARM的學(xué)習(xí)大門,開始嵌入式開發(fā)之旅。以嵌入式計算機(jī)為技術(shù)核心的嵌入式系統(tǒng)是繼網(wǎng)絡(luò)技術(shù)之后,又一個IT領(lǐng)域新的技術(shù)發(fā)展方向。由于嵌入式系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向行業(yè)具體應(yīng)用等突出特征,目前已經(jīng)廣泛地應(yīng)用于軍事國防、消費(fèi)電子、信息家電、網(wǎng)絡(luò)通信、工業(yè)控制等各個領(lǐng)域。嵌入式的廣泛應(yīng)用可以說是無所不在。嵌入式微處理器技術(shù)的基礎(chǔ)是通用計算機(jī)技術(shù)?,F(xiàn)在許多嵌入式處理器也是從早期的PC機(jī)的應(yīng)用發(fā)展演化過來的,如早期PC諸如TRS-80、AppleII和所用的Z80和6502處理器,至今仍為低端的嵌入式應(yīng)用。在應(yīng)用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優(yōu)點(diǎn)。嵌入式處理器目前主要有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM等系列。在早期實(shí)際的嵌入式應(yīng)用中,芯片選擇時往往以某一種微處理器內(nèi)核為核心,在芯片內(nèi)部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計數(shù)器、WatchDog、I/O、串行口、1脈寬調(diào)制輸出、A/D、D/A等各種必要的功能和外設(shè)。二、實(shí)習(xí)設(shè)備

硬件:EmbestEduKit-IV實(shí)驗(yàn)平臺、ULINK2仿真器套件、PC機(jī)

軟件:mu;VisionIDEforARM集成開發(fā)環(huán)境、Windows98/2000/NT/XP

三、實(shí)習(xí)目的1.初步掌握液晶屏的使用及其電路設(shè)計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務(wù)調(diào)用的方法把液晶顯示函數(shù)添加到uC/OS-II中;通過實(shí)驗(yàn)掌握液晶顯示文本及圖形的方法與程序設(shè)計。2.了解S3C2410X處理器UART相關(guān)控制寄存器的使用;熟悉ARM處理器系統(tǒng)硬件電路中UART接口的設(shè)計方法:掌握ARM處理器串行通信的軟件編程方法。3.掌握有關(guān)音頻處理的基礎(chǔ)知識;通過實(shí)驗(yàn)了解IIS音頻接口的工作原理;通過實(shí)驗(yàn)掌握對處理器S3C2410X中IIS模塊電路的控制方法;通過實(shí)驗(yàn)掌握對常用IIS接口音頻芯片的控制方法。4.了解mu;C/OS-II移植條件和內(nèi)核基本結(jié)構(gòu);掌握將mu;C/OS-II內(nèi)核移植到ARM9處理器上的方法和步驟。四

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論