第一篇:嵌入式實(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ì)算機(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ì)算機(jī)技術(shù)?,F(xiàn)在許多嵌入式處理器也是從早期的PC 機(jī)的應(yīng)用發(fā)展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應(yīng)用。在應(yīng)用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優(yōu)點(diǎn)。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期實(shí)際的嵌入式應(yīng)用中,芯片選擇時往往以某一種微處理器內(nèi)核為核心,在芯片內(nèi)部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口總線及總線控制邏輯、定時/計(jì)數(shù)器、WatchDog、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A 等各種必要的功能和外設(shè)。
二、實(shí)習(xí)設(shè)備
硬件:Embest EduKit-IV實(shí)驗(yàn)平臺、ULINK2仿真器套件、PC機(jī)
軟件:μVision IDE for ARM集成開發(fā)環(huán)境、Windows 98/2000/NT/XP
三、實(shí)習(xí)目的
1.初步掌握液晶屏的使用及其電路設(shè)計(jì)方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務(wù)調(diào)用的方法把液晶顯示函數(shù)添加到uC/OS-II中;通過實(shí)驗(yàn)掌握液晶顯示文本及圖形的方法與程序設(shè)計(jì)。
2.了解S3C2410X處理器UART相關(guān)控制寄存器的使用; 熟悉ARM處理器系統(tǒng)硬件電路中UART接口的設(shè)計(jì)方法:掌握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-II LCD顯示實(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接收到的字符串回送顯示。
通過使用Embest EduKit-IV實(shí)驗(yàn)板的彩色液晶屏(800*480)進(jìn)行電路設(shè)計(jì),掌握液晶屏作為人機(jī)接口界面的設(shè)計(jì)方法,并編寫任務(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)顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實(shí)驗(yàn)板的256 色彩色液晶屏(320x240)進(jìn)行電路設(shè)計(jì),掌握液晶屏作為人機(jī)接口界面的設(shè)計(jì)方法,并編寫程序?qū)崿F(xiàn):畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實(shí)習(xí)步驟
1.準(zhǔn)備實(shí)驗(yàn)環(huán)境
使用ULINK2仿真器連接Embest EduKit-IV實(shí)驗(yàn)平臺的主板JTAG接口;使用Embest EduKit-IV實(shí)驗(yàn)平臺附帶的交叉串口線,連接實(shí)驗(yàn)平臺主板上的COM2和PC機(jī)的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設(shè)備的可購買USB轉(zhuǎn)串口適配器擴(kuò)充);使用Embest EduKit-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)行μVision IDE for ARM軟件
3)默認(rèn)打開的工程在源碼編輯窗口會顯示實(shí)驗(yàn)例程的說明文件readme.txt,詳細(xì)閱讀并理解實(shí)驗(yàn)內(nèi)容。
4)工程提供了兩種運(yùn)行方式:一是下載到SDRAM中調(diào)試運(yùn)行,二是固化到Nor Flash中運(yùn)行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調(diào)試運(yùn)行還是固化Flash中運(yùn)行。下面實(shí)驗(yàn)將介紹下載到SDRAM中調(diào)試運(yùn)行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“Projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf”-0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實(shí)驗(yàn)平臺電源開關(guān),給實(shí)驗(yàn)平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項(xiàng)將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項(xiàng)運(yùn)行程序,或者單擊工具欄“”按鈕來全速運(yùn)行程序。用戶也可以使用進(jìn)行單步調(diào)試程序。
9)全速運(yùn)行后,用戶可以在超級終端看到程序運(yùn)行的信息。
10)用戶可以Stop程序運(yùn)行,使用μVision IDE for ARM的一些調(diào)試窗口跟蹤查看程序運(yùn)行的信息。注:如果在第4)步用戶選擇在Flash中運(yùn)行,則編譯鏈接成功后,單擊菜單欄Flash->Download項(xiàng)將程序固化到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è)計(jì)方法;掌握有關(guān)音頻處理的基礎(chǔ)知識;掌握液晶顯示文本及圖形的方法與程序設(shè)計(jì)。
通過這次設(shè)計(jì),掌握了液晶顯示實(shí)驗(yàn)、μC/OS-II移植、μC/OS-IILCD顯示的工作原理及串口通信實(shí)驗(yàn)的工作過程,學(xué)會了使用仿真軟件Embest EduKit-IV實(shí)驗(yàn)平臺及ULINK2仿真器套件,并學(xué)會通過應(yīng)用軟件仿真來實(shí)現(xiàn)各種通信系統(tǒng)的設(shè)計(jì),對以后的學(xué)習(xí)和工作都起到了一定的作用,加強(qiáng)了動手能力和學(xué)業(yè)技能。雖然花了很長時間編寫軟件程序設(shè)計(jì),但這一切還是理論上的。希望學(xué)校能提供機(jī)會和條件,讓我們能夠去真正地將理論和實(shí)踐相結(jié)合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進(jìn)和不足的地方,同時也幫助了我怎樣學(xué)好這門課程,增加了我對這門學(xué)科的興趣。總體來說,這次實(shí)習(xí)我受益匪淺。在摸索該如何設(shè)計(jì)電路使之實(shí)現(xiàn)所需功能的過程中特別有趣,培養(yǎng)了我的設(shè)計(jì)思維,增加了實(shí)際操作能力。在讓我體會到了設(shè)計(jì)電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實(shí)習(xí)通信系統(tǒng)的設(shè)計(jì),使我更加清楚以后的發(fā)展及學(xué)習(xí)的方向。
最后感謝老師這個學(xué)期的指導(dǎo)和幫助!
第二篇:暑假嵌入式實(shí)習(xí)報告.
一、嵌入式的概述: 隨著信息化技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,以計(jì)算機(jī)技 術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統(tǒng)再度成為當(dāng)前 研究和應(yīng)用的熱點(diǎn),通信、計(jì)算機(jī)、消費(fèi)電子技術(shù)(3C 合 一的趨勢正在逐步形成,無所不在的網(wǎng)絡(luò)和無所不在的計(jì)算(everything connecting, everywhere computing正在 將人類帶入一個嶄新的信息社會。
二、實(shí)習(xí)目的
學(xué)習(xí)和了解了嵌入式在生活中的重要作用和發(fā)展過程,熟練 掌握 ARM 硬件體系結(jié)構(gòu) , 熟悉 linux 下的嵌入式編程流程, 積累自己的軟件編寫經(jīng)驗(yàn),能夠參與并實(shí)現(xiàn)一個真實(shí)和完整 的嵌入式項(xiàng)目 , 為今后的學(xué)習(xí)和將從事的技術(shù)工作打下堅(jiān)實(shí) 的基礎(chǔ)
三、實(shí)習(xí)設(shè)備:
1、硬件:Embest EduKit-IV平臺, ULINK2仿真器套件, PC 機(jī);
2、軟件:μVision IDE for ARM集成開發(fā)環(huán)境, Windows 98/2000/NT/XP。
四、實(shí)習(xí)內(nèi)容
第一階段 Linux 操作和編程基礎(chǔ)
主要介紹 Linux 的基本命令和基礎(chǔ)編程知識,包括 Linux 的文件操作和目錄操作命令, VI 編輯器, GCC 編譯器, GDB 調(diào)試器和 Make 項(xiàng)目管理工具等知識。
第二階段 嵌入式 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)境高級編程及項(xiàng)目開發(fā)編程實(shí)踐
主要包括系統(tǒng)編程(信號 /系統(tǒng)調(diào)用 /管道 /FIFO/消息 隊(duì)列 /共享內(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)隊(duì)合作項(xiàng)目的開發(fā),考核內(nèi)容包括文件 I/O編 程,多線程編程,網(wǎng)絡(luò)編程和項(xiàng)目文檔編寫。
第五階段 嵌入式處理器體系結(jié)構(gòu)及編程實(shí)踐
主要介紹 ARM 體系結(jié)構(gòu)及其基本編程知識,包括指令 分類,尋址方式、指令集、存儲系統(tǒng)、異常中斷處理、匯 編語言以及 CC++和匯編語言的混合編程等知識。同時結(jié)合 ARM 嵌入式開發(fā)板硬件設(shè)計(jì)原理和基本硬件設(shè)計(jì)流程, 分析 各種外設(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ú)立完 成一個基于嵌入式 Linux GUI的應(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) 試和加載以及完整的項(xiàng)目開發(fā)文檔的編寫。
第八階段 嵌入式 Linux 項(xiàng)目團(tuán)隊(duì)開發(fā)實(shí)踐鍛煉
主要包括設(shè)計(jì)并實(shí)現(xiàn)一個真實(shí)和完整的嵌入式項(xiàng)目的 開發(fā)流程,涉及到數(shù)據(jù)采集、網(wǎng)絡(luò)通訊、圖形用戶界面顯 示以及嵌入式數(shù)據(jù)庫存儲系統(tǒng)等多種嵌入式 Linux 編程技 術(shù)。要求學(xué)員建立起團(tuán)隊(duì)開發(fā)和協(xié)同工作的企業(yè)項(xiàng)目開發(fā) 模式的概念和流程,強(qiáng)化學(xué)員對編寫項(xiàng)目概要設(shè)計(jì)文檔和 詳細(xì)設(shè)計(jì)文檔的理解,為就業(yè)前的職業(yè)技能和素質(zhì)訓(xùn)練做 好充分準(zhǔn)備。
五、實(shí)習(xí)心得: 通過本次實(shí)習(xí)對 ARM9嵌入式系統(tǒng)設(shè)計(jì)有了更深一步的 了解,知道了如何使用 uc/os軟件進(jìn)行編程編譯,并下載到 實(shí)驗(yàn)箱中,使圖像、聲音、文字得以顯示,學(xué)會了轉(zhuǎn)換 IIS 聲音文件的工具:ProcBmp.exe 和轉(zhuǎn)換 bmp 圖片文件的工具: Image2Lcd ,使其能夠在程序中運(yùn)行。更重要的是學(xué)會了如 何解決在實(shí)習(xí)中遇到的各種問題并很好的解決,為以后使用 該軟件進(jìn)行編程打下了堅(jiān)實(shí)的基礎(chǔ),也培養(yǎng)了自己對該軟件 的興趣,大四的學(xué)生正面臨找工作的壓力,通過這次實(shí)習(xí)積 累了經(jīng)驗(yàn),對找工作也起到了輔助的作用,希望能夠有機(jī)會 對該軟件進(jìn)行進(jìn)一步的學(xué)習(xí)研究。最后感謝指導(dǎo)老師和同學(xué) 們的細(xì)心幫助。
第三篇:暑假嵌入式實(shí)習(xí)報告
一、嵌入式的概述:
隨著信息化技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,以計(jì)算機(jī)技術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統(tǒng)再度成為當(dāng)前研究和應(yīng)用的熱點(diǎn),通信、計(jì)算機(jī)、消費(fèi)電子技術(shù)(3C)合一的趨勢正在逐步形成,無所不在的網(wǎng)絡(luò)和無所不在的計(jì)算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。
二、實(shí)習(xí)目的學(xué)習(xí)和了解了嵌入式在生活中的重要作用和發(fā)展過程,熟練掌握ARM硬件體系結(jié)構(gòu),熟悉linux下的嵌入式編程流程,積累自己的軟件編寫經(jīng)驗(yàn),能夠參與并實(shí)現(xiàn)一個真實(shí)和完整的嵌入式項(xiàng)目,為今后的學(xué)習(xí)和將從事的技術(shù)工作打下堅(jiān)實(shí)的基礎(chǔ)
三、實(shí)習(xí)設(shè)備:
1、硬件:Embest EduKit-IV平臺,ULINK2仿真器套件,PC機(jī);
2、軟件:μVision IDE for ARM集成開發(fā)環(huán)境,Windows 98/2000/NT/XP。
四、實(shí)習(xí)內(nèi)容
第一階段Linux操作和編程基礎(chǔ)
主要介紹Linux的基本命令和基礎(chǔ)編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調(diào)試器和Make項(xiàng)目管理工具等知識。
第二階段 嵌入式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)境高級編程及項(xiàng)目開發(fā)編程實(shí)踐主要包括系統(tǒng)編程(信號/系統(tǒng)調(diào)用/管道/FIFO/消息隊(duì)列/共享內(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)隊(duì)合作項(xiàng)目的開發(fā),考核內(nèi)容包括文件I/O編程,多線程編程,網(wǎng)絡(luò)編程和項(xiàng)目文檔編寫。
第五階段嵌入式處理器體系結(jié)構(gòu)及編程實(shí)踐
主要介紹ARM體系結(jié)構(gòu)及其基本編程知識,包括指令分類,尋址方式、指令集、存儲系統(tǒng)、異常中斷處理、匯編語言以及CC++和匯編語言的混合編程等知識。同時結(jié)合ARM嵌入式開發(fā)板硬件設(shè)計(jì)原理和基本硬件設(shè)計(jì)流程,分析各種外設(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ú)立完成一個基于嵌入式Linux GUI的應(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)試和加載以及完整的項(xiàng)目開發(fā)文檔的編寫。
第八階段嵌入式Linux項(xiàng)目團(tuán)隊(duì)開發(fā)實(shí)踐鍛煉主要包括設(shè)計(jì)并實(shí)現(xiàn)一個真實(shí)和完整的嵌入式項(xiàng)目的開發(fā)流程,涉及到數(shù)據(jù)采集、網(wǎng)絡(luò)通訊、圖形用戶界面顯示以及嵌入式數(shù)據(jù)庫存儲系統(tǒng)等多種嵌入式Linux編程技術(shù)。要求學(xué)員建立起團(tuán)隊(duì)開發(fā)和協(xié)同工作的企業(yè)項(xiàng)目開發(fā)模式的概念和流程,強(qiáng)化學(xué)員對編寫項(xiàng)目概要設(shè)計(jì)文檔和詳細(xì)設(shè)計(jì)文檔的理解,為就業(yè)前的職業(yè)技能和素質(zhì)訓(xùn)練做好充分準(zhǔn)備。
五、實(shí)習(xí)心得:
通過本次實(shí)習(xí)對ARM9嵌入式系統(tǒng)設(shè)計(jì)有了更深一步的了解,知道了如何使用uc/os軟件進(jìn)行編程編譯,并下載到實(shí)驗(yàn)箱中,使圖像、聲音、文字得以顯示,學(xué)會了轉(zhuǎn)換IIS聲音文件的工具:ProcBmp.exe和轉(zhuǎn)換bmp圖片文件的工具:Image2Lcd,使其能夠在程序中運(yùn)行。更重要的是學(xué)會了如何解決在實(shí)習(xí)中遇到的各種問題并很好的解決,為以后使用該軟件進(jìn)行編程打下了堅(jiān)實(shí)的基礎(chǔ),也培養(yǎng)了自己對該軟件的興趣,大四的學(xué)生正面臨找工作的壓力,通過這次實(shí)習(xí)積累了經(jīng)驗(yàn),對找工作也起到了輔助的作用,希望能夠有機(jī)會對該軟件進(jìn)行進(jìn)一步的學(xué)習(xí)研究。最后感謝指導(dǎo)老師和同學(xué)們的細(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ì)算機(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ì)算機(jī)技術(shù)?,F(xiàn)在許多嵌入式處理器也是從早期的pC 機(jī)的應(yīng)用發(fā)展演化過來的,如早期pC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式應(yīng)用。在應(yīng)用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優(yōu)點(diǎn)。嵌入式處理器目前主要有Am186/88、386EX、SC-400、power pC、68000、MIpS、ARM 等系列。
在早期實(shí)際的嵌入式應(yīng)用中,芯片選擇時往往以某一種微處理器內(nèi)核為核心,在芯片內(nèi)部集成必要的ROM/EpROM/Flash/EEpROM、SRAM、接口總線及總線控制邏輯、定時/計(jì)數(shù)器、WatchDog、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A 等各種必要的功能和外設(shè)。
二、實(shí)習(xí)設(shè)備
硬件:Embest EduKit-IV實(shí)驗(yàn)平臺、ULINK2仿真器套件、pC機(jī)
軟件:μVision IDE for ARM集成開發(fā)環(huán)境、Windows 98/2000/NT/Xp
三、實(shí)習(xí)目的1.初步掌握液晶屏的使用及其電路設(shè)計(jì)方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務(wù)調(diào)用的方法把液晶顯示函數(shù)添加到uC/OS-II中;通過實(shí)驗(yàn)掌握液晶顯示文本及圖形的方法與程序設(shè)計(jì)。
2.了解S3C2410X處理器UART相關(guān)控制寄存器的使用; 熟悉ARM處理器系統(tǒng)硬件電路中UART接口的設(shè)計(jì)方法:掌握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-II LCD顯示實(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接收到的字符串回送顯示。
通過使用Embest EduKit-IV實(shí)驗(yàn)板的彩色液晶屏(800*480)進(jìn)行電路設(shè)計(jì),掌握液晶屏作為人機(jī)接口界面的設(shè)計(jì)方法,并編寫任務(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)顯示三幅圖片,并打印一些文字信息和背景音樂。過使用Embest EduKit-III實(shí)驗(yàn)板的256 色彩色液晶屏(320x240)進(jìn)行電路設(shè)計(jì),掌握液晶屏作為人機(jī)接口界面的設(shè)計(jì)方法,并編寫程序?qū)崿F(xiàn):畫出多個矩形框;顯示ASCII字符;顯示漢字字符;顯示彩色位圖。
五、實(shí)習(xí)步驟
1.準(zhǔn)備實(shí)驗(yàn)環(huán)境
使用ULINK2仿真器連接Embest EduKit-IV實(shí)驗(yàn)平臺的主板JTAG接口;使用Embest EduKit-IV實(shí)驗(yàn)平臺附帶的交叉串口線,連接實(shí)驗(yàn)平臺主板上的COM2和pC機(jī)的串口(一般pC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設(shè)備的可購買USB轉(zhuǎn)串口適配器擴(kuò)充);使用Embest EduKit-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)行μVision IDE for ARM軟件
3)默認(rèn)打開的工程在源碼編輯窗口會顯示實(shí)驗(yàn)例程的說明文件readme.txt,詳細(xì)閱讀并理解實(shí)驗(yàn)內(nèi)容。
4)工程提供了兩種運(yùn)行方式:一是下載到SDRAM中調(diào)試運(yùn)行,二是固化到Nor Flash中運(yùn)行。用戶可以在工具欄Select Target下拉框中選擇在RAM中調(diào)試運(yùn)行還是固化Flash中運(yùn)行。下面實(shí)驗(yàn)將介紹下載到SDRAM中調(diào)試運(yùn)行,所以我們在Select Target下拉框中選擇UART_Test IN RAM。
5)接下來開始編譯鏈接工程,在菜單欄“projiet”選擇“Build target”或者“Rebuild all target files”編譯整個工程。
6編譯完成后,在輸出窗口可以看到編譯提示信息,比如““.SDRAMUART_Test.axf”-0 Error(s), 1 Warning(s).”,如果顯示“0 Error(s)”即表示編譯成功。
7)撥動實(shí)驗(yàn)平臺電源開關(guān),給實(shí)驗(yàn)平臺上電,單擊菜單欄Debug->Start/Stop Debug Session項(xiàng)將編譯出來的映像文件下載到SDRAM中,或者單擊工具欄“”按鈕來下載。
8)下載完成后,單擊菜單欄Debug->Run項(xiàng)運(yùn)行程序,或者單擊工具欄“”按鈕來全速運(yùn)行程序。用戶也可以使用進(jìn)行單步調(diào)試程序。
9)全速運(yùn)行后,用戶可以在超級終端看到程序運(yùn)行的信息。
10)用戶可以Stop程序運(yùn)行,使用μVision IDE for ARM的一些調(diào)試窗口跟蹤查看程序運(yùn)行的信息。注:如果在第4)步用戶選擇在Flash中運(yùn)行,則編譯鏈接成功后,單擊菜單欄Flash->Download項(xiàng)將程序固化到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è)計(jì)方法;掌握有關(guān)音頻處理的基礎(chǔ)知識;掌握液晶顯示文本及圖形的方法與程序設(shè)計(jì)。
通過這次設(shè)計(jì),掌握了液晶顯示實(shí)驗(yàn)、μC/OS-II移植、μC/OS-IILCD顯示的工作原理及串口通信實(shí)驗(yàn)的工作過程,學(xué)會了使用仿真軟件Embest EduKit-IV實(shí)驗(yàn)平臺及ULINK2仿真器套件,并學(xué)會通過應(yīng)用軟件仿真來實(shí)現(xiàn)各種通信系統(tǒng)的設(shè)計(jì),對以后的學(xué)習(xí)和工作都起到了一定的作用,加強(qiáng)了動手能力和學(xué)業(yè)技能。雖然花了很長時間編寫軟件程序設(shè)計(jì),但這一切還是理論上的。希望學(xué)校能提供機(jī)會和條件,讓我們能夠去真正地將理論和實(shí)踐相結(jié)合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進(jìn)和不足的地方,同時也幫助了我怎樣學(xué)好這門課程,增加了我對這門學(xué)科的興趣??傮w來說,這次實(shí)習(xí)我受益匪淺。在摸索該如何設(shè)計(jì)電路使之實(shí)現(xiàn)所需功能的過程中特別有趣,培養(yǎng)了我的設(shè)計(jì)思維,增加了實(shí)際操作能力。在讓我體會到了設(shè)計(jì)電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實(shí)習(xí)通信系統(tǒng)的設(shè)計(jì),使我更加清楚以后的發(fā)展及學(xué)習(xí)的方向。
最后感謝老師這個學(xué)期的指導(dǎo)和幫助!
七、參考文獻(xiàn)
《ARM9嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)應(yīng)用》熊茂華、楊震倫編著 清華大學(xué)出版社
《ARM9嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)教程》于明編著 電子工業(yè)出版社
《Linux嵌入式系統(tǒng)教程》馬忠梅 北京航空航天大學(xué)出版社
第五篇:嵌入式培訓(xùn)實(shí)習(xí)報告
第一天:
今天是我到杰普軟件科技有限公司實(shí)習(xí)的第一天,也是我第一次接觸到linux系統(tǒng)。雖然我以前就知道這個系統(tǒng),但以前從沒見過,現(xiàn)在第一次用感覺還不錯。
老師在上課的時候還介紹了很多于linux的發(fā)展歷史和強(qiáng)大的功能,所以對那個以后要一直用到的系統(tǒng)充滿了期待。老師也講了一些linux系統(tǒng)的組成,些簡單的操作,linux分為內(nèi)核,文件系統(tǒng),和shell,shell是用來提供與內(nèi)核交互界面的東西,所以以后的對inux的操作也就是在終端上輸入shell命令來操作系統(tǒng)。
第二天:
今天主要講了一些基本的操作命令,比如說在終端上輸入pwd,就能顯示當(dāng)前的文件目錄,輸入ls,能顯示當(dāng)前目錄的所有文件和目錄,后面加些后綴就能顯示更多的關(guān)于文件的信息,還有就是用touch命令來建立文件,用cp命令來復(fù)制文件和目錄,mkdir命令來建立目錄等等。用命令來操作看起來有點(diǎn)像DOS系統(tǒng),不過比DOS操作起來更簡單,并且功能比DOS強(qiáng)大太多了。總的來說今天收獲還蠻大的。
第三天:
今天是講基本操作命令的最后一天,這幾天學(xué)下來感覺有點(diǎn)吃力了,因?yàn)檫@命令太多了,還有很多命令還有后綴,還有一些命令可以相互組合,而且學(xué)習(xí)中間還涉及到很多以前沒有聽過過的計(jì)算機(jī)術(shù)語,更是加大了學(xué)習(xí)的難度,不過在同學(xué)的相互幫助下克服了種種困難。
經(jīng)過這一段時間的學(xué)習(xí)我們對linux的操作有了很大的提高,并且知道了很多計(jì)算機(jī)方面的知識,這對以后的進(jìn)一步學(xué)習(xí)有很大的幫助。
第四天:
經(jīng)過幾天的學(xué)習(xí),終于把linux的所有命令學(xué)完了。但是第一天老師提到過的shell還是沒怎么理解是怎么回事,所以今天老師就重點(diǎn)講了shell。Shell俗稱殼(用來區(qū)別于核),是指“提供使用者使用界面的”軟件“(命令解析器)。它類似于DOS下的command.com。它接收用戶命令,然后調(diào)用相應(yīng)的應(yīng)用程序。同時它又是一種程序設(shè)計(jì)語言。Shell有好多種類型,其中比較常見的shell有Bourne shell,C shell,Kornv shell和 Bourne Again Shell,其中我們現(xiàn)在用的就是Bourne Again shell。
第五天:
前幾天學(xué)習(xí)的命令太多,但一條命令只能讓計(jì)算機(jī)做一件事,并
且每次要用的時候一次只能輸一條語句,用起來很不方便。為了能讓這些命令做更多事,并且提高執(zhí)行效率,所以我們把一些命令寫在腳本上,我們把這些叫shell腳本,shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預(yù)先放入到一個文件中,方便一次性執(zhí)行的一個程序文件,主要是方便管理員進(jìn)行設(shè)置或者管理用的。在寫shell腳本的時候可以再里面加入判斷,循環(huán)等語句,所以能把linux的操作效率大大的提高,功能也變得更強(qiáng)大。
第六天:
新的一年到了,我們也開始新的東西了,前幾天學(xué)的只是操作,但是今天開始就要學(xué)習(xí)嵌入式開發(fā)的核心內(nèi)容,那就是我們以前都學(xué)習(xí)過的c語言,不過以前學(xué)習(xí)的都忘得差不多了。最先學(xué)習(xí)的還是在linux平臺下的編譯環(huán)境,這里我們要用到種個叫VI的編譯環(huán)境,他跟我們以前用的window環(huán)境下的vc++6.0有很大不同,用vi進(jìn)行編譯時候比vc++6.0復(fù)雜多了,要編譯時候要輸好幾行命令,剛開始用的時候很不習(xí)慣,但用了幾次以后就好多了。
第七天:
今天就要開始正式學(xué)習(xí)c語言了,C語言是嵌入式開發(fā)的基礎(chǔ),所以一定要把c語言給學(xué)好。雖然以前學(xué)習(xí)過c,但是學(xué)了跟沒學(xué)差不多,所以一切都要重頭開始學(xué)起,今天老師只講了一些基本的,所以今天只講了數(shù)據(jù)結(jié)構(gòu),不過比以前老師講的更深入一些。這里講課更以前學(xué)校里最大區(qū)別就是這里老師每講一個程序,我們都要跟著動手敲出來。有一句話叫熟能生巧,所以只要我們肯動手,多動手就能把這東西學(xué)好。
第八天:
今天是年前學(xué)習(xí)的最后一天了,明天就要回家了,雖然回家的心情有點(diǎn)急切,但還是要把課給上完,今天還是在講的是指針,指針是c語言的精華,但也是c語言中最難的,特別是指針跟數(shù)組,字符數(shù)組什么的結(jié)合在一起,弄得頭都有點(diǎn)大了。所以老師講了好幾天,但是還有好多聽不懂的,看來還是要加把勁。回到家里還是要多看一點(diǎn)書,多學(xué)一點(diǎn)是一點(diǎn),盡量吧那些不懂得弄懂。
實(shí)習(xí)總結(jié):
回想起這么多天的培訓(xùn)實(shí)習(xí),感覺收獲挺多的,學(xué)到了很多關(guān)于計(jì)算機(jī)的知識,還有一些以前在在課堂上學(xué)不到的一些東西??偟膩碚f本次實(shí)習(xí)使我第一次親身感受了所學(xué)知識與實(shí)際的應(yīng)
用,理論與實(shí)際的相結(jié)合,讓我們大開眼界,也算是對以前所學(xué)知識的一個初審吧!這次生產(chǎn)實(shí)習(xí)對于我們以后學(xué)習(xí)、找工作也真是受益菲淺。在這段時間里讓我們初步讓理性回到感性的重新認(rèn)識,也讓我們初步的認(rèn)識了這個社會,對于以后做人所應(yīng)把握的方向也有所啟發(fā)。