2023嵌入式實習報告

2023嵌入式實習報告 篇1

一、 實踐目的

了解處理器的發展

掌握WinCE嵌入式系統開發方法和開發流程。

掌握WinCE嵌入式C#編程方法。

掌握WinCE嵌入式網路通信技術。

掌握Bluetooth編碼技術

二、實踐要求

1. 了解WinCE作業系統的裁剪及定製;

2. 設計藍牙廣播系統(包括伺服器端和客戶端);

3.設計藍牙檔案傳輸系統(包括伺服器端和客戶端);

4. 應用程式安裝和部署。

三、實踐內容

(1)了解Wince平台

了解處理器的發展,什麼是嵌入系統,嵌入式系統的套用,以及窗體與控制項的概念,掌握WinCE嵌入式C#編程方法,對實驗平台有一定的認識,更進一步的認識藍牙。了解編寫應用程式的流程,理解了Windows 窗體,學會了使用基本控制項如標籤、文本、按鈕、列表框和組合框,掌握窗體的常用屬性和方法。

(2)藍牙搜尋、瀏覽與傳送,藍牙設備列表,配對設備清空,刪除。

四、原理介紹

1.嵌入式系統:

嵌入式系統是以套用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於套用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。

一般由硬體設備、嵌入式作業系統、嵌入式套用軟體組成。具有專用性、高效簡潔性、高可靠和低能耗性、自身特殊性的特點。

2023嵌入式實習報告 篇2

一、實習時間和地點安排

1、實習時間:20xx年12月03 日 —— 20xx年12月14日,共兩周的時間。

2、每天的實習時間安排:

上午:8:30——11:30

下午:13:30——15:30

3、實習地點:校內。

二、實習目的

1、掌握電子元器件的焊接原理和方法。

2、掌握ARM7 LPC2132控制程式的編寫方法。

3、掌握調試軟體和硬體的方法。

三、實習內容與要求

1、根據設計要求焊接好電路板並測試焊接無誤。

2、繪製流程圖並編寫程式。

3、編譯通過後,將程式下載到LPC2132進行調試。

4、調試成功後編寫實習報告。

四、LPC2132晶片介紹

LPC2132最小系統圖及其介紹

概述

LPC2132是基於一個支持實時仿真和嵌入式跟蹤的32/16 位 ARM7TDMI-STM CPU 的微控制器,並帶有 32kB、64kB、512 kB 的嵌入的高速Flash 存儲器。128 位寬度的存儲器接口和獨特的加速結構使 32 位代碼能夠在最大時鐘速率下運行。對代碼規模有嚴格控制的套用可使用 16 位 Thumb模式將代碼規模降低超過 30%,而性能的損失卻很小。

較小的封裝和極低的功耗使 LPC2131/2132/2138 可理想地用於小型系統中,如訪問控制和 POS 機。寬範圍的串列通信接口和片內 8/16/32kB 的 SRAM 使 LPC2131/2132/2138 非常適用於通信網關、協定轉換器、軟 modem 、聲音辨別和低端成像,為它們提供巨大的緩衝區空間和強大的處理功能。多個 32 位定時器、1 個或 2 個 10 位 8 路 ADC 、10 位 DAC 、PWM 通道和 47 個 GPIO 以及多達9 個邊沿或電平觸發的外部中斷使它們特別適用於工業控制和醫療系統。

2023嵌入式實習報告 篇3

一、嵌入式系統開發與套用概述

在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什麼領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網路技術之後,又一個IT領域新的技術發展方向。由於嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體套用等突出特徵, 目前已經廣泛地套用于軍事國防、消費電子、信息家電、網路通信、工業控制等各個領域。嵌入式的廣泛套用可以說是無所不在。

嵌入式微處理器技術的基礎是通用計算機技術。現在許多嵌入式處理器也是從早期的PC 機的套用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80 和6502 處理器,至今仍為低 端的嵌入式套用。在套用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。

在早期實際的嵌入式套用中,晶片選擇時往往以某一種微處理器核心為核心,在晶片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口匯流排及匯流排控制邏輯、定時/計數器、WatchDog、I/O、串列口、脈寬調製輸出、A/D、D/A 等各種必要的功能和外設。

二、實習設備

硬體:Embest EduKit-IV實驗平台、ULINK2仿真器套件、PC機

軟體:mu;Vision IDE for ARM集成開發環境、Windows 98/20__/NT/XP

三、實習目的

1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函式添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程式設計。

2.了解S3C2410X處理器UART相關控制暫存器的使用; 熟悉ARM處理器系統硬體電路中UART接口的設計方法:掌握ARM處理器串列通信的軟體編程方法。

3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模組電路的控制方法;通過實驗掌握對常用IIS接口音頻晶片的控制方法。

4.了解mu;C/OS-II移植條件和核心基本結構;掌握將mu;C/OS-II核心移植到ARM9處理器上的方法和步驟。

四、實習要求

通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,並將各部分內容合併,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,並用鍵控設定學生輸出的順序,輸入學號就顯示那個學生的信息,然後過一段時間就順序循環播放。

移植mu;C/OS-II核心到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程式;監視串列口UART1動作;將從UART1接收到的字元串回送顯示。將從UART1接收到的字元串回送顯示。

通過使用Embest EduKit-IV實驗板的彩色液晶屏(800x480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,並編寫任務函式在uC/OS-II系統中實現點陣圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD螢幕上循環顯示三幅圖片,並列印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,並編寫程式實現:畫出多個矩形框;顯示ASCII字元;顯示漢字字元;顯示彩色點陣圖。

五、實習步驟

1. 準備實驗環境

使用ULINK2仿真器連線Embest EduKit-IV實驗平台的主機板JTAG接口;使用Embest EduKit-IV實驗平台附帶的交叉串口線,連線實驗平台主機板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平台附帶的電源適配器,連線實驗平台主機板上的電源接口。

2. 串口接收設定

在PC機上運行windows自帶的超級終端串口通信程式,或者使用實驗平台附帶光碟內設定好了的超級終端,設定超級終端:波特率115200、1位停止位、無校驗位、無硬體流控制,或者使用其它串口通信程式。(註:超級終端串口的選擇根據用戶的PC串口硬體不同,請自行選擇,如果PC機只有一個串口,一般是COM1)

3. 打開實驗例程

1)打開實驗程式

2)運行mu;Vision IDE for ARM軟體

3)默認打開的工程在源碼編輯視窗會顯示實驗例程的說明檔案readme.txt,詳細閱讀並理解實驗內容。

4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具列Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在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)撥動實驗平台電源開關,給實驗平台上電,單擊選單欄Debug->Start/Stop Debug Session項將編譯出來的映像檔案下載到SDRAM中,或者單擊工具列按鈕來下載。

8)下載完成後,單擊選單欄Debug->Run項運行程式,或者單擊工具列按鈕來全速運行程式。用戶也可以使用進行單步調試程式。

9)全速運行後,用戶可以在超級終端看到程式運行的信息。

10)用戶可以Stop程式運行,使用mu;Vision IDE for ARM的一些調試視窗跟蹤查看程式運行的信息。 註:如果在第4)步用戶選擇在Flash中運行,則編譯連結成功後,單擊選單欄Flash->Download項將程式固化到NorFlash中,從實驗平台的主機板拔出JTAG線,給實驗平台重新上電,程式將自動運行。

六、實習體會

在嵌入式系統中,除了課本上的基礎知識外,還學會了軟體編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程式設計。

通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟體Embest EduKit-IV實驗平台及ULINK2仿真器套件,並學會通過套用軟體仿真來實現各種通信系統的設計,對以後的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟體程式設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程式,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣。總體來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以後的發展及學習的方向。

最後感謝老師這個學期的指導和幫助!

2023嵌入式實習報告 篇4

看著四年的大學生活就快要結束了,心中隱隱有一種傷感與失落,我陷入了沉思:該挺直腰桿走自己的路了!學習嵌入式是我的夢想,我很羨慕能夠在嵌入式方面獨檔一面的高手,希望有一天我也能像他們那樣自信自如的在嵌入式這片熱土上揮灑著自己的.青春和浪漫。

當我決定好好利用這個暑假,學習我一直都想去學的嵌入式的時候,就注定要在我豐富多彩的人生路上留下永遠亮麗與難忘的記憶!算算畢業的時間,我已經聞到了離別的氣息,在這即將遠離大學時代的時刻,才真正懂得回眸的意義。想想走過的路,想想現在的路,想想來時的路,不知道未來能否成功,既然選擇了遠方,就注定要風雨兼程!帶著無比豪邁的心情和繽紛的夢想來到易嵌學習嵌入式,希望在這嶄新的一頁留下人生的美好!在新的老師、新的同學和新的環境中,我開始了我的嵌入式學習,開始了新一輪的拼搏。

無論現在多么努力都無法追回失去的金色年華,所以在開班典禮的時候,我便為自己制定了目標!我將好好利用最後一個暑假,多學些知識鍛鍊自己,為自己儲備一些精神食糧並不斷開拓視野和提升自己的能力,讓自己能夠在畢業的時候成為學校的驕傲!

在易嵌短暫的兩個月,我們從linux基礎入手,強化了c語言編程,學習了linux系統編程和網路編程。時間雖短,但成長很快,無論是理論知識還是實踐能力都得到了大幅度的提高。

通過對linux作業系統的學習,我初步掌握了linux基礎。剛開始我對linux只是有一點兒了解,但並沒有真正的去接觸。在這段時間裡,從linux系統安裝開始著手,了解linux的發展,相比其他系統,它有很多優點。在安裝好系統後,學習了linux的分區命名、linux的常用命令、文本編輯器vi、shell的使用、原始碼的編譯和調試、多模組的編譯和連結以及管理工具。通過這些學習,我基本能夠在linux系統下通過vi編輯器編寫c語言程式,通過一些常用命令來調試、查看程式。

能夠在這么短的時間內初步掌握linux,與在學校學習一門課程意義完全不同,通過老師的講解,自己的練習,同學之間的交流,能夠加深印象,熟練操作。

學習linux基礎只是我嵌入式學習歷程的一個開始,雖然有好多命令還不太熟悉,有好多命令都還沒有去嘗試過,但我相信隨著後期的學習,我將逐漸熟練掌握。在c語言學習階段,我學到了很多新的知識,變數、函式、數組、指針、指針函式、函式指針、指針數組、數組指針、結構體、結構體指針數組、關鍵字……,從模組到整體,從寫代碼的風格到代碼最佳化……,通過這段時間的學習,我感覺自己寫出的代碼比以前更直觀,更注重細節,bug也更少了!

在半個月時間的c語言學習中,我從剛開始的重溫c語言到後來的位運算、堆疊、單向鍊表、雙向鍊表以及list_head。新知識以及注意點漸漸增多,在這段時間,我創造了很多個記錄,比如11小時完成30道編程題,獨自完成一個功能比較齊全的學生選課管理系統等,特別是剛接觸到鍊表和list_head的時候,不在像前面那樣輕鬆了,還記得那段時間,每到晚上熱醒的時候,又想起了我的學生管理系統,本來就少的可憐的睡覺時間,又被……,真可謂苦我心志矣!

不過,等我美美的睡上一覺,醒來回想起這段時間的學習,真是一個大豐收!雖然不能說是很精通c語言,至少可以說真的入門了……,我又向自己的目標邁出了堅實的一步!這段時間,我時常會想,如果一切可以重來,我會選擇另外一種學習方式,從一開始就夯實基礎!可是這是不現實的,經歷了無數次的風雨後,柔弱的我早已學會了堅強。通過不斷的交流與學習,我懂得了生活,懂得了學習,懂得了時間,懂得了成長,懂得了奮鬥和拼搏。現在知道,為時不晚,從現在開始,我將為自己開闢一條適合自己的道路。

伴隨著烈日,我們又開始了新的征程,開始深入學習linux系統程式設計,在這個階段,我們學習了作業系統基礎、並發性、linux系統接口、進程和執行緒以及進程間的通信。通過這階段的學習,我對linux有了更加深入的了解,能

夠熟練進行多執行緒多進程的操作。

緊接著就進入了網路編程學習階段,從網路基礎到linux網路編程,我更加深入的學習了tcp/ip協定和osi模型,理解了數據報的傳輸過程,對網路在嵌入式方面的套用進行了深入的學習,學會了socket編程。學完後重新對學生選課管理系統進行了改寫,用c/s模型改寫成多用戶登錄,利用執行緒實現資源共享。在項目改寫中,不僅融合了前面的c語言知識,還充分的套用了linux系統編程和socket編程,將理論和實踐相結合,相互促進,相互補充,使得學習更加透徹。通過用不同方法實現同一個項目,不斷深入,層層推進,學以致用!

在易嵌的這個暑假,我過得充實而快樂。在這裡有著同學間的探討、師生間的互動和魔鬼般的訓練!軍隊通過紮實的訓練培養出來一代代革命軍人,相信不久的將來,我也會成為一名優秀的嵌入式工程師!

2023嵌入式實習報告 篇5

一、嵌入式的概述:

隨著信息化技術的發展和數位化產品的普及,以計算機技術、晶片技術和軟體技術為核心的嵌入式系統再度成為當前研究和套用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網路和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。

二、實習目的

學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬體體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟體編寫經驗,能夠參與並實現一個真實和完整的嵌入式項目,為今後的學習和將從事的技術工作打下堅實的基礎

三、實習任務

第一階段Linux操作和編程基礎

主要介紹Linux的基本命令和基礎編程知識,包括Linux

的檔案操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。

第二階段 嵌入式C語言編程基礎

主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以複習串講和實例分析的形式,重點介紹包括函式與程式結構,指針、數組和鍊表,庫函式的使用等知識。

第三階段Linux上C強化編程訓練

主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字元串訓練和常用C庫函式編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。

第四階段 Linux環境高級編程及項目開發編程實踐

主要包括系統編程(信號/系統調用/管道/FIFO/訊息佇列/共享記憶體等),檔案I/O編程(檔案描述符/檔案讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多執行緒編程(進程標識/ 用戶標識/fork與vfork/多執行緒概念/執行緒同步等),網路編程(網路基本概念/套接口編程/網路位元組次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網路編程的調用接口函式和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括檔案I/O編程,多執行緒編程,網路編程和項目文檔編寫。

四、實習內容

1. 嵌入式的歷史與現狀

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

無作業系統階段

嵌入式系統最初的套用是基於單片機的,大多以可程式控制器的形式出現,具有監測、伺服、設備指示等功能,通常套用於各類工業控制和飛機、飛彈等武器裝備中,一般沒有作業系統的支持,只能通過彙編語言對系統進行直接控制,運行結束後再清除記憶體。這些裝置雖然已經初步具備了嵌入式的套用特點,但僅僅只是使用8位的CPU晶片來執行一些單執行緒的程式,因此嚴格地說還談不上"系統"的概念。

這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由於這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的套用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。

20世紀80年代,隨著微電子工藝水平的提高,IC製造商開始把嵌入式套用中所需要的微處理器、I/O接口、串列接口以及RAM、ROM等部件統統集成到一片VLSI中,製造出面向I/O設計的微控制器,並一舉成為嵌入式系統領域中異軍突起的新秀。與此同時,嵌入式系統的程式設計師也開始基於一些簡單的"作業系統"開發嵌入式套用軟體,大大縮短了開發周期、提高了開發效率。 這一階段嵌入式系統的主要特點是:出現了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各種簡單的嵌入式作業系統開始出現並得到迅速發展。此時的嵌入式作業系統雖然還比較簡單,但已經初步具有了一定的兼容性和擴展性,核心精巧且效率高,主要用來控制系統負載以及監控應用程式的運行。

五、實習總結

計算機和網路已經全面滲透到日常生活的每一個角落,對於我們沒有個人來說,需要的已經不再僅僅是放在桌面上處理文檔,進

行工業管理和生產控制的計算機“機器”任何一個普通的人都可能擁有從小到大的各種嵌入式技術的電子產品,小到MP3PDA等微型數位化產品,大到網路家電,智慧型家電等,各種各樣的新型嵌入式系統設備在套用數量上已經遠遠超過了通用計算機,在工業和服務領域,使用嵌入式技術的數字工具機、智慧型工具、工業機器人、服務機器人、正在逐漸的改變著傳統的工業生產和服務方式。而ARM晶片憑藉強大的處理能力和極低的功耗,非常適合這些場合。所以現在越來越多的公司在產品選型的時候考慮到使用ARM處理器,從這個角度來說,對於在校大學生來說,如果你掌握了ARM開發技術,對於尋找一份好的工作也十分有利。

2023嵌入式實習報告 篇6

一、嵌入式系統開發與套用概述

在今日,嵌入式ARM 技術已經成為了一門比較熱門的學科,無論是在電子類的什麼領域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機級別的學習,那么實際上你已經落下時代腳步了,ARM 嵌入式技術正以幾何的倍數高速發展,它幾乎滲透到了幾乎你所想到的領域。本章節就是將你領入ARM 的學習大門,開始嵌入式開發之旅。以嵌入式計算機為技術核心的嵌入式系統是繼網路技術之後,又一個IT領域新的技術發展方向。由於嵌入式系統具有體積小、性能強、功耗低、可靠性高以及面向行業具體套用等突出特徵,目前已經廣泛地套用于軍事國防、消費電子、信息家電、網路通信、工業控制等各個領域。嵌入式的廣泛套用可以說是無所不在。

嵌入式微處理器技術的基礎是通用計算機技術。現在許多嵌入式處理器也是從早期的PC機的套用發展演化過來的,如早期PC 諸如TRS-80、Apple II 和所用的Z80和6502處理器,至今仍為低端的嵌入式套用。在套用中,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM等系列。

在早期實際的嵌入式套用中,晶片選擇時往往以某一種微處理器核心為核心,在晶片內部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口匯流排及匯流排控制邏輯、定時/計數器、WatchDog、I/O、串列口、脈寬調製輸出、A/D、D/A 等各種必要的功能和外設。

二、實習設備

硬體:Embest EduKit-IV實驗平台、ULINK2仿真器套件、PC機

軟體:mu;Vision IDE for ARM集成開發環境、Windows 98/20__/NT/XP

三、實習目的

1.初步掌握液晶屏的使用及其電路設計方法;掌握S3C2410X處理器的LCD控制器的使用;掌握通過任務調用的方法把液晶顯示函式添加到uC/OS-II中;通過實驗掌握液晶顯示文本及圖形的方法與程式設計。

2.了解S3C2410X處理器UART相關控制暫存器的使用;熟悉ARM處理器系統硬體電路中UART接口的設計方法:掌握ARM處理器串列通信的軟體編程方法。

3.掌握有關音頻處理的基礎知識;通過實驗了解IIS音頻接口的工作原理;通過實驗掌握對處理器S3C2410X中IIS模組電路的控制方法;通過實驗掌握對常用IIS接口音頻晶片的控制方法。

4.了解mu;C/OS-II移植條件和核心基本結構;掌握將mu;C/OS-II核心移植到ARM9處理器上的方法和步驟。

四、實習要求

通過對mu;C/OS-II移植實驗、mu;C/OS-II LCD顯示實驗、串口通信實驗、IIS音頻實驗、液晶顯示實驗的學習,並將各部分內容合併,最終得出實習結果,實習要求在鍵盤上輸入學號,在液晶顯示屏上顯示相應的學生信息。學生信息包括顯示每個人的照片和姓名系別等,並用鍵控設定學生輸出的順序,輸入學號就顯示那個學生的信息,然後過一段時間就順序循環播放。

移植mu;C/OS-II核心到ARM處理器S3C2410,在IDE中觀察其運行狀況編寫S3C2410X處理器的串口通信程式;監視串列口UART1動作;將從UART1接收到的字元串回送顯示。將從UART1接收到的字元串回送顯示。

通過使用Embest EduKit-IV實驗板的彩色液晶屏(800x480)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,並編寫任務函式在uC/OS-II系統中實現點陣圖顯示。在uC/OS-II中建立五個任務Tast1和Tast2,其中Tast1順序熄滅四個LED,延遲一會在順序點亮四個LED。Tast2在LCD螢幕上循環顯示三幅圖片,並列印一些文字信息和背景音樂。過使用Embest EduKit-III實驗板的256 色彩色液晶屏(320x240)進行電路設計,掌握液晶屏作為人機接口界面的設計方法,並編寫程式實現:畫出多個矩形框;顯示ASCII字元;顯示漢字字元;顯示彩色點陣圖。

五、實習步驟

1.準備實驗環境

使用ULINK2仿真器連線Embest EduKit-IV實驗平台的主機板JTAG接口;使用Embest EduKit-IV實驗平台附帶的交叉串口線,連線實驗平台主機板上的COM2和PC機的串口(一般PC只有一個串口,如果有多個請自行選擇,筆記本沒有串口設備的可購買USB轉串口適配器擴充);使用Embest EduKit-IV實驗平台附帶的電源適配器,連線實驗平台主機板上的電源接口。

2.串口接收設定

在PC機上運行windows自帶的超級終端串口通信程式,或者使用實驗平台附帶光碟內設定好了的超級終端,設定超級終端:波特率115200、1位停止位、無校驗位、無硬體流控制,或者使用其它串口通信程式。(註:超級終端串口的選擇根據用戶的PC串口硬體不同,請自行選擇,如果PC機只有一個串口,一般是COM1)

3.打開實驗例程

1)打開實驗程式

2)運行mu;Vision IDE for ARM軟體

3)默認打開的工程在源碼編輯視窗會顯示實驗例程的說明檔案readme.txt,詳細閱讀並理解實驗內容。

4)工程提供了兩種運行方式:一是下載到SDRAM中調試運行,二是固化到Nor Flash中運行。用戶可以在工具列Select Target下拉框中選擇在RAM中調試運行還是固化Flash中運行。下面實驗將介紹下載到SDRAM中調試運行,所以我們在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)撥動實驗平台電源開關,給實驗平台上電,單擊選單欄Debug->Start/Stop Debug Session項將編譯出來的映像檔案下載到SDRAM中,或者單擊工具列按鈕來下載。

8)下載完成後,單擊選單欄Debug->Run項運行程式,或者單擊工具列按鈕來全速運行程式。用戶也可以使用進行單步調試程式。

9)全速運行後,用戶可以在超級終端看到程式運行的信息。

10)用戶可以Stop程式運行,使用mu;Vision IDE for ARM的一些調試視窗跟蹤查看程式運行的信息。註:如果在第4)步用戶選擇在Flash中運行,則編譯連結成功後,單擊選單欄Flash->Download項將程式固化到NorFlash中,從實驗平台的主機板拔出JTAG線,給實驗平台重新上電,程式將自動運行。

部分程式圖:

串口通信實驗:

IIS音頻實驗:

六、實習體會

在嵌入式系統中,除了課本上的基礎知識外,還學會了軟體編程的基本思路,掌握了液晶屏的使用及其電路設計方法;掌握有關音頻處理的基礎知識;掌握液晶顯示文本及圖形的方法與程式設計。

通過這次設計,掌握了液晶顯示實驗、mu;C/OS-II移植、mu;C/OS-IILCD顯示的工作原理及串口通信實驗的工作過程,學會了使用仿真軟體Embest EduKit-IV實驗平台及ULINK2仿真器套件,並學會通過套用軟體仿真來實現各種通信系統的設計,對以後的學習和工作都起到了一定的作用,加強了動手能力和學業技能。雖然花了很長時間編寫軟體程式設計,但這一切還是理論上的。希望學校能提供機會和條件,讓我們能夠去真正地將理論和實踐相結合。通過這次程式,感覺自己所掌握的知識是那么的有限,還有許多需要改進和不足的地方,同時也幫助了我怎樣學好這門課程,增加了我對這門學科的興趣。總體來說,這次實習我受益匪淺。在摸索該如何設計電路使之實現所需功能的過程中特別有趣,培養了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這次實習通信系統的設計,使我更加清楚以後的發展及學習的方向。

最後感謝老師這個學期的指導和幫助!

七、參考文獻

《ARM9嵌入式系統設計與開發套用》熊茂華、楊震倫編著 清華大學出版社

《ARM9嵌入式系統設計與開發教程》於明編著 電子工業出版社

《Linux嵌入式系統教程》馬忠梅 北京航空航天大學出版社

2023嵌入式實習報告 篇7

一、 實習時間

20xx年4月12日-20xx年4月26日

二、 指導教師姓名

三、 實習地點

長沙市牛耳服務外包實訓基地

四、 實習目的與內容

對於嵌入式項目進行學習培訓,掌握嵌入式的主要項目及相關技術

五、 實習收穫與體會

一轉眼半個月的實習生活過去了,現在我已經回到學校,回想起半個月的實習生活,自己學到了很多,懂得了很多。

真的說不出是什麼感覺,伴著時間,就像是在和自己的影子賽跑,不可能從真實的兩面去看清它,只是經意不經意的感受著有種東西在過去,也許更適合的只有那句話:時不待我,怎可駐足。原以為實習對於我來說會是很長,但實際卻不同。想像收穫的東西,真的很多,看看我的工作筆記,一篇又一篇,記別人的事情比自己的還多,也許 實習,並不像我想像中的那樣輕鬆愜意,而是充滿了挑戰和艱辛。我給自己敲響了警鐘:“不要半途而廢,做事情切忌三分熱度。”我信心十足的回答到:“我一定會堅持到底!”

天下英雄皆我輩,一入江湖立馬催。” 從學校到社會的大環境的轉變,身邊接觸的人也完全換了角色,老師變成老闆,同學變成同事,相處之道完全不同。在這巨大的轉變中,我們可能彷徨,迷茫,無法馬上適應新的環境,但在同學、同事的幫助和自己摸索的情況下,我還是完成了這次實習。但我發現,以我們的經驗,不學到一定的深度和廣度是難以在實際工作中應付自如的。因此反映出學習的還不夠,缺點疏漏。需在加以刻苦鑽研及學習,不斷開拓視野,增強自己的實踐操作技能,我們也許看不慣企業之間殘酷的競爭,無法忍受同事之間漠不關心的眼神和言語。很多時候覺得自己沒有受到領導重用,所乾的只是一些無關重要的雜活,自己的提議或工作不能得到老闆的肯定。

做不出成績時,會有來自各方面的壓力,老闆的眼色同事的嘲諷。而在學校,有同學老師的關心和支持,每日只是上上課,很輕鬆。常言道:工作一兩年勝過十多年的讀書。兩個月的實習時間雖然不長,但是我從中學到了很多知識,關於做人,做事,做學問。只有擁有自信才能夠克服一切,去實現自己的理想,創造自己的人生。

實習是個人綜合能力的鍛鍊。作為一名新時代的新青年更應該把學習作為保持工作積極性的重要途徑。像我這種文憑不高的人,心裡就有一種很渴望的感覺,明白了自己與社會所需的要求,因為現在畢業求職,更多的時間是社會職業選擇自己面試,更多的不是自己去選擇職業,這應該就是所謂的先就業再擇業吧。所以自己會把心態放正,在公司的時候先全面發展,等過段再看看精於哪個方面,然後向那個方向努力發展。

“在大學裡學的不是知識,而是一種叫做自學的能力”。參加工作後才能深刻體會這句話的含義。課本上學的理論知識用到的很少。在這個信息爆炸的時代,知識更新太快,靠原有的一點知識肯定是不行的。我們必須在工作中勤於動手慢慢琢磨,不斷學習不斷積累。遇到不懂的地方,自己先想方設法解決,實在不行可以虛心請教他人,而沒有自學能力的人遲早要被企業和社會所淘汰。所以我們還要繼續學習,不斷提升理論素養。

在資訊時代,學習是不斷地汲取新信息,獲得事業進步的動力。作為一名年輕同志更應該把學習作為保持工作積極性的重要途徑。走上工作崗位後,我積極回響單位號召,結合工作實際,不斷學習理論、業務知識和社會知識,用先進的理論武裝頭腦,用精良的業務知識提升能力,以廣博的社會知識拓展視野。

我們還要努力實踐,自覺進行角色轉化。“理論是灰色的,生活之樹常青”,只有將理論付諸於實踐才能實現理論自身的價值,也只有將理論付諸於實踐才能使理論得以檢驗。同樣,一個人的價值也是通過實踐活動來實現的,也只有通過實踐才能鍛鍊人的品質,彰現人的意志。

從學校走向社會,首要面臨的問題便是角色轉換的問題。從一個學生轉化為一個單位人,在思想的層面上,必須認識到二者的社會角色之間存在著較大的差異。學生時代只是單純的學習知識,而社會實踐則意味著繼續學習,並將知識套用於實踐,學生時代可以自己選擇交往的對象,而社會人則更多地被他人所選擇。諸此種種的差異。不勝枚舉。但僅僅在思想的層面上認識到這一點還是不夠的,而是必須在實際的工作和生活中潛心體會,並自覺的進行這種角色的轉換。

在今後的工作和生活中,我將繼續學習,深入實踐,不斷提升自我,努力創造業績,繼續在自己的工作領域創造更多的價值。

實習,是開端也是結束。在書本上學過很多理論,但從未付諸實踐過,也許等到真正運用時,才會體會到難度有多大。在今後的工作和生活中,自己需要更加努力的奮鬥下去。

2023嵌入式實習報告 篇8

ARM嵌入式系統綜合設計

一、實習時間和地點安排

1、實習時間:20xx年12月03日——20xx年12月14日,共兩周的時間。

2、每天的實習時間安排:

上午:8:30——11:30

下午:13:30——15:30

3、實習地點:校內。

二、實習目的

1、掌握電子元器件的焊接原理和方法。

2、掌握ARM7 LPC2132控制程式的編寫方法。

3、掌握調試軟體和硬體的方法。

三、實習內容與要求

1、根據設計要求焊接好電路板並測試焊接無誤。

2、繪製流程圖並編寫程式。

3、編譯通過後,將程式下載到LPC2132進行調試。

4、調試成功後編寫實習報告。

四、LPC2132晶片介紹

LPC2132最小系統圖及其介紹

概述

LPC2132是基於一個支持實時仿真和嵌入式跟蹤的32/16 位 ARM7TDMI-STM CPU 的微控制器,並帶有 32kB、64kB、512 kB 的嵌入的高速Flash 存儲器。128 位寬度的存儲器接口和獨特的加速結構使 32 位代碼能夠在最大時鐘速率下運行。對代碼規模有嚴格控制的套用可使用 16 位 Thumb?

模式將代碼規模降低超過 30%,而性能的損失卻很小。

較小的封裝和極低的功耗使 LPC2131/2132/2138 可理想地用於小型系統中,如訪問控制和 POS 機。寬範圍的串列通信接口和片內 8/16/32kB 的 SRAM 使 LPC2131/2132/2138 非常適用於通信網關、協定轉換器、軟 modem 、聲音辨別和低端成像,為它們提供巨大的緩衝區空間和強大的處理功能。多個 32 位定時器、1 個或 2 個 10 位 8 路 ADC 、10 位 DAC 、PWM 通道和 47 個 GPIO 以及多達9 個邊沿或電平觸發的外部中斷使它們特別適用於工業控制和醫療系統。

特性

1、小型 LQFP64 封裝的 16/32 位 ARM7TDMI-S 微控制器。

2、8/16/32kB 片內靜態 RAM 。

3、片內 Boot 裝載軟體實現在系統/在套用中編程(ISP/IAP )。扇區擦除或整片擦除的時間為400ms ,1ms 可程式 256 位元組。

4、EmbeddedICE?RT 和嵌入式跟蹤接口可實時調試(利用片內 RealMonitor軟體)和高速跟蹤執行代碼。

5、1 個(LPC2132/2132 )或2 個(LPC2138 )8 路 10 位 A/D 轉換器共包含 16 個模擬輸入,每個通道的轉換時間低至 2.44us 。

6、1 個 10 位 D/A 轉換器,可提供不同的模擬輸出(LPC2132/2138 )。

7、 2 個 32 位定時器/計數器(帶 4 路捕獲和 4 路比較通道)、PWM 單元(6 路輸出)和看門狗。

8、實時時鐘具有獨立的電源和時鐘源,在節電模式下極大地降低了功耗。

9、多個串列接口,包括 2 個 16C550 工業標準 UART 、2 個高速 I2C 接口(400 kbit/s )、SPITM 和 SSP(具有緩衝功能,數據長度可變)。

10、向量中斷控制器。可配置優先權和向量地址。

11、多達 47 個 5V 的通用I/O 口(LQFP64 封裝)。

12、 9 個邊沿或電平觸發的外部中斷引腳。

13、 通過片內 PLL 可實現最大為 60MHz 的 CPU 操作頻率,PLL 的穩定時間為 100us。

14、片內晶振頻率範圍:1~30 MHz。

15、2 個低功耗模式:空閒和掉電。

16、可通過個別使能/禁止外部功能和降低外部時鐘來最佳化功耗。

17、通過外部中斷將處理器從掉電模式中喚醒。

18、單個電源供電,含有上電復位(POR )和掉電檢測(BOD )電路:-CPU

操作電壓範圍:3.0~3.6 V (3.3 V+/ - 10%) ,I/O 口可承受5V 的最大電壓。

結構概述

LPC2132包含一個支持仿真的 ARM7TDMI-S CPU 、與片記憶體儲器控制器接口的 ARM7 局部匯流排、與中斷控制器接口的 AMBA 高性能匯流排 (AHB )和連線片內外設功能的 VLSI 外設匯流排 (VPB ,ARM AMBA 匯流排的兼容超集)。

LPC2131/2132/2138 將 ARM7TDMI-S 配置為小端(little-endian )位元組順序。 AHB 外設分配了 2M 位元組的地址範圍,它位於 4G 位元組 ARM 存儲器空間的最頂端。每個 AHB 外設都 分配了 16k 位元組的地址空間。LPC2131/2132/2138 的外設功能 (中斷控制器除外)都連線到 VPB 匯流排。AHB 到 VPB 的橋將 VPB 匯流排與 AHB 匯流排相連。VPB 外設也分配了 2M 位元組的地址範圍,從 3.5GB 地址點開始。每個 VPB 外設在 VPB 地址空間內都分配了 16k 位元組地址空間。

片內外設與器件管腳的連線由管腳連線模組控制。該模組必須由軟體進行控制以符合外設功能與管腳在特定套用中的需求。

ARM7TDMI-S 處理器

ARM7TDMI-S 是通用的 32 位微處理器,它具有高性能和低功耗的特性。ARM 結構是基於精簡指令集 計算機(RISC)原理而設計的。指令集和相關的解碼機制比複雜指令集計算機要簡單得多。這樣使用一個小的、廉價的處理器核就可實現很高的指令吞吐量和實時的中斷回響。

由於使用了流水線技術,處理和存儲系統的所有部分都可連續工作。通常在執行一條指令的同時對下 ,一條指令進行解碼,並將第三條指令從存儲器中取出。

ARM7TDMI-S 處理器使用了一個被稱為 THUMB 的獨特結構化策略,它非常適用於那些對存儲器有限制或者需要較高代碼密度的大批量產品的.套用。

在 THUMB 後面一個關鍵的概念是“超精簡指令集”。基本上,ARM7TDMI-S 處理器具有兩個指令集:標準 32 位 ARM 指令集 、16 位 THUMB 指令集THUMB 指令集的 16 位指令長度使其可以達到標準 ARM 代碼兩倍的密度,卻仍然保持 ARM 的大多 數性能上的優勢,這些優勢是使用 16 位暫存器的 16 位處理器所不具備的。因為 THUMB 代碼和 ARM 代碼一樣,在相同的 32 位暫存器上進行操作。THUMB 代碼僅為 ARM 代碼規模的 65%,但其性能卻相當於連線到 16 位存儲器系統的相同 ARM 處理器性能的 160%。

片內 FLASH 程式存儲器

LPC2131/2132/2138 分別含有 32kB、64kB 和 512kB 的FLASH 存儲器系統。該存儲器可用作代碼和數據的存儲。對 FLASH 存儲器的編程可通過幾種方法來實現:通過內置的串列 JTAG 接口,通過在系統編程(ISP )和 UART0 ,或通過在套用編程(IAP )。使用在套用編程的應用程式也可以在應用程式運行時對FLAH 進行擦除和/ 或編程,這樣就為數據存儲和現場固件的升級都帶來了極大的靈活性。如果LPC2131/2132/2138 使用了片內引導裝載程式(bootloader ),32/64/512kB 的 Flash 存儲器就可用來存放用戶代碼。 LPC2131/2132/2138 的Flash 存儲器至少可擦除/編程 10,000 次,保存數據的時間長達 10 年。 片內靜態 RAM,片內靜態 RAM (SRAM )可用作代碼和/ 或數據的存儲,支持 8位、16 位和32 位的訪問。LPC2131/2132/2138 含有 8/16/32kB 的靜態RAM 。 LPC2131/2132/2138 SRAM 是一個位元組定址的存儲器。對存儲器進行字和半字訪問時將忽略地址對準,訪問被定址的自然對準值(因此,對存儲器進行字訪問時將忽略地址位 0 和 1,半字訪問時將忽略地址位 0 )。因此,有效的讀寫操作要求半字數據訪問的地址線0 為 0(地址以0、2 、4 、6、8、A 、C 和 E 結尾),字 數據訪問的地址線 0 和 1 都為 0 (地址以0、4 、8 和 C 結尾)。該原則同樣用於片外和片記憶體儲器。SRAM 控制器包含一個回寫緩衝區,它用於防止 CPU 在連續的寫操作時停止運行。回寫緩衝區總是保存著軟體傳送到 SRAM的最後一個位元組。該數據只有在軟體請求下一次寫操作時才寫入 SRAM (數據只有 在軟體執行另外一次寫操作時被寫入 SRAM)。如果發生晶片復位,實際的SRAM 內容將不會反映最近一 次的寫請求(即:在一次“熱”晶片復位後,SRAM 不會反映最後一次寫入的內容)。任何在復位後檢查 SRAM 內容的程式都必須注意這一點。通過對一個單元執行兩次相同的寫操作可保證復位後數據的寫入。或者,也可通過在進入空閒或掉電模式前執行虛寫(dummy write )操作來保證最後的數據在復位後被真正寫入SRAM。

2023嵌入式實習報告 篇9

藍牙技術概述

藍牙(Bluetooth)是目前比較流行的一種短距離無線通訊技術,其主要目的就是要在全世界範圍內建立一個短距離的無線通信標準。設計者的初衷是用隱形的連線線代替線纜。它取代目前多種電纜連線方案,通過統一的短程無線鏈路,在各信息設備之間可以穿過牆壁或公文包,實現方便快捷、靈活安全、低成本小功耗的話音和數據通信。“藍牙”技術的目的是使特定的行動電話、攜帶型電腦以及各種攜帶型通信設備的主機之間在近距離內實現無縫的資源共享。

一、實踐目的

了解處理器的發展

掌握WinCE嵌入式系統開發方法和開發流程。

掌握WinCE嵌入式C#編程方法。

掌握WinCE嵌入式網路通信技術。

掌握Bluetooth編碼技術

二、實踐要求

1.了解WinCE作業系統的裁剪及定製;

2.設計藍牙廣播系統(包括伺服器端和客戶端);

3.設計藍牙檔案傳輸系統(包括伺服器端和客戶端);

4.應用程式安裝和部署。

三、實踐內容

(1)了解Wince平台

了解處理器的發展,什麼是嵌入系統,嵌入式系統的套用,以及窗體與控制項的概念,掌握WinCE嵌入式C#編程方法,對實驗平台有一定的認識,更進一步的認識藍牙。了解編寫應用程式的流程,理解了Windows 窗體,學會了使用基本控制項如標籤、文本、按鈕、列表框和組合框,掌握窗體的常用屬性和方法。

(2)藍牙搜尋、瀏覽與傳送,藍牙設備列表,配對設備清空,刪除。

四、原理介紹

1.嵌入式系統:

嵌入式系統是以套用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於套用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。

一般由硬體設備、嵌入式作業系統、嵌入式套用軟體組成。具有專用性、高效簡潔性、高可靠和低能耗性、自身特殊性的特點。

2023嵌入式實習報告 篇10

一、嵌入式的概述:

隨著信息化技術的發展和數位化產品的普及,以計算機技術、晶片技術和軟體技術為核心的嵌入式系統再度成為當前研究和套用的熱點,通信、計算機、消費電子技術(3C)合一的趨勢正在逐步形成,無所不在的網路和無所不在的計算(everything connecting, everywhere computing)正在將人類帶入一個嶄新的信息社會。

二、實習目的

學習和了解了嵌入式在生活中的重要作用和發展過程,熟練掌握ARM硬體體系結構,熟悉linux下的嵌入式編程流程,積累自己的軟體編寫經驗,能夠參與並實現一個真實和完整的嵌入式項目,為今後的學習和將從事的技術工作打下堅實的基礎。

三、實習任務

第一階段Linux操作和編程基礎

主要介紹Linux的基本命令和基礎編程知識,包括Linux的檔案操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和Make項目管理工具等知識。

第二階段 嵌入式C語言編程基礎

主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以複習串講和實例分析的形式,重點介紹包括函式與程式結構,指針、數組和鍊表,庫函式的使用等知識。

第三階段Linux上C強化編程訓練

主要包括整數算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字元串訓練和常用C庫函式編程接口實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。

第四階段 Linux環境高級編程及項目開發編程實踐

主要包括系統編程(信號/系統調用/管道/FIFO/訊息佇列/共享記憶體等),檔案I/O編程(檔案描述符/檔案讀寫接口/原子操作/阻塞與非阻塞IO等,多任務和多執行緒編程(進程標識/ 用戶標識/fork與vfork/多執行緒概念/執行緒同步等),網路編程(網路基本概念/套接口編程/網路位元組次序/Client/Server結構/UDP編程);掌握Linux下Socket編程的開發流程,熟悉網路編程的調用接口函式和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括檔案I/O編程,多執行緒編程,網路編程和項目文檔編寫。

第五階段 嵌入式處理器體系結構及編程實踐

主要介紹ARM體系結構及其基本編程知識,包括指令分類,定址方式、指令集、存儲系統、異常中斷處理、彙編語言以及CC++和彙編語言的混合編程等知識。同時結合ARM嵌入式開發板硬體設計原理和基本硬體設計流程,分析各種外設的工作原理和驅動機制,並自己動手實踐完成一個ARM開發板上的編程大作業。

第六階段 嵌入式Linux開發基礎及高級套用

主要介紹嵌入式Linux開發應用程式的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader工作原理、核心裁減配置和交叉編譯、根檔案系統製作、網路編程以及圖形界面和資料庫開發等知識。同時獨立完成一個基於嵌入式Linux GUI的套用編程大作業。

第七階段 嵌入式 Linux驅動理論及驅動程式開發實踐

主要介紹嵌入式Linux上驅動程式開發規範,包括設備驅動程式概念、字元設備驅動程式、塊設備與網路設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程式的編寫,包括驅動模組的調試和載入以及完整的項目開發文檔的編寫。

第八階段 嵌入式Linux項目團隊開發實踐鍛鍊

主要包括設計並實現一個真實和完整的嵌入式項目的開發流程,涉及到數據採集、網路通訊、圖形用戶界面顯示以及嵌入式資料庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分準備。

四、實習內容

1.嵌入式的歷史與現狀

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

無作業系統階段

嵌入式系統最初的套用是基於單片機的,大多以可程式控制器的形式出現,具有監測、伺服、設備指示等功能,通常套用於各類工業控制和飛機、飛彈等武器裝備中,一般沒有作業系統的支持,只能通過彙編語言對系統進行直接控制,運行結束後再清除記憶體。這些裝置雖然已經初步具備了嵌入式的套用特點,但僅僅只是使用8位的CPU晶片來執行一些單執行緒的程式,因此嚴格地說還談不上"系統"的概念。

這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由於這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的套用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。

簡單作業系統階段

20世紀80年代,隨著微電子工藝水平的提高,IC製造商開始把嵌入式套用中所需要的微處理器、I/O接口、串列接口以及RAM、ROM等部件統統集成到一片VLSI中,製造出面向I/O設計的微控制器,並一舉成為嵌入式系統領域中異軍突起的新秀。與此同時,嵌入式系統的程式設計師也開始基於一些簡單的"作業系統"開發嵌入式套用軟體,大大縮短了開發周期、提高了開發效率。這一階段嵌入式系統的主要特點是:出現了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各種簡單的嵌入式作業系統開始出現並得到迅速發展。此時的嵌入式作業系統雖然還比較簡單,但已經初步具有了一定的兼容性和擴展性,核心精巧且效率高,主要用來控制系統負載以及監控應用程式的運行。

實時作業系統階段

20世紀90年代,在分布控制、柔性製造、數位化通信和信息家電等巨大需求的牽引下,嵌入式系統進一步飛速發展,而面向實時信號處理算法的DSP產品則向著高速度、高精度、低功耗的方向發展。隨著硬體實時性要求的提高,嵌入式系統的軟體規模也不斷擴大,逐漸形成了實時多任務作業系統(RTOS),並開始成為嵌入式系統的主流。

這一階段嵌入式系統的主要特點是:作業系統的實時性得到了很大改善,已經能夠運行在各種不同類型的微處理器上,具有高度的模組化和擴展性。此時的嵌入式作業系統已經具備了檔案和目錄管理、設備管理、多任務、網路、圖形用戶界面(GUI)等功能,並提供了大量的應用程式接口(API),從而使得套用軟體的開發變得更加簡單。

面向Internet階段

21世紀無疑將是一個網路的時代,將嵌入式系統套用到各種網路環境中去的呼聲自然也越來越高。目前大多數嵌入式系統還孤立於Internet之外,隨著Internet的進一步發展,以及Internet技術與信息家電、工業控制技術等的結合日益緊密,嵌入式設備與Internet的結合才是嵌入式技術的真正未來。

資訊時代和數字時代的到來,為嵌入式系統的發展帶來了巨大的機遇,同時也對嵌入式系統廠商提出了新的挑戰。目前,嵌入式技術與Internet技術的結合正在推動著嵌入式技術的飛速發展,嵌入式系統的研究和套用產生了如下新的顯著變化:

1.新的微處理器層出不窮,嵌入式作業系統自身結構的設計更加便於移植,能夠在短時間內支持更多的微處理器。

2.嵌入式系統的開發成了一項系統工程,開發廠商不僅要提供嵌入式軟硬體系統本身,同時還要提供強大的硬體開發工具和軟體支持包。

3.通用計算機上使用的新技術、新觀念開始逐步移植到嵌入式系統中,如嵌入式資料庫、移動代理、實時CORBA等,嵌入式軟體平台得到進一步完善。

4.各類嵌入式Linux作業系統迅速發展,由於具有原始碼開放、系統核心小、執行效率高、網路結構完整等特點,很適合信息家電等嵌入式系統的需要,目前已經形成了能與Windows CE、Palm OS等嵌入式作業系統進行有力競爭的局面。

5.網路化、信息化的要求隨著Internet技術的成熟和頻寬的提高而日益突出,以往功能單一的設備如電話、手機、冰櫃、微波爐等功能不再單一,結構變得更加複雜,網路互聯成為必然趨勢。

6.精簡系統核心,最佳化關鍵算法,降低功耗和軟硬體成本。

7.提供更加友好的多媒體人機互動界面。

2.體系結構

根據國際電氣和電子工程師協會(IEEE)的定義,嵌入式系統是"控制、監視或者輔助設備、機器和車間運行的裝置"(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。一般而言,整個嵌入式系統的體系結構可以分成四個部分:嵌入式處理器、嵌入式外圍設備、嵌入式作業系統和嵌入式套用軟體。

嵌入式處理器

嵌入式系統的核心是各種類型的嵌入式處理器,嵌入式處理器與通用處理器最大的不同點在於,嵌入式CPU大多工作在為特定用戶群所專門設計的系統中,它將通用CPU中許多由板卡完成的任務集成到晶片內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。

嵌入式處理器的體系結構經歷了從CISC(複雜指令集)至RISC(精簡指令集)和Compact RISC的轉變,位數則由4位、8位、16位、32位逐步發展到64位。目前常用的嵌入式處理器可分為低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高端的嵌入式微處理器(Embedded Micro Processor Unit,EMPU)、用於計算機通信領域的嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)和高度集成的嵌入式片上系統(System On Chip,SOC)。

目前幾乎每個半導體製造商都生產嵌入式處理器,並且越來越多的公司開始擁有自主的處理器設計部門,據不完全統計,全世界嵌入式處理器已經超過1000多種,流行的體系結構有30多個系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最為廣泛。

嵌入式外圍設備

在嵌入系統硬體系統中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用於完成存儲、通信、調試、顯示等輔助功能的其他部件,事實上都可以算作嵌入式外圍設備。目前常用的嵌入式外圍設備按功能可以分為存儲設備、通信設備和顯示設備三類。

存儲設備主要用於各類數據的存儲,常用的有靜態易失型存儲器(RAM、SRAM)、動態存儲器(DRAM)和非易失型存儲器(ROM、EPROM、EEPROM、FLASH)三種,其中FLASH憑藉其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛套用。

目前存在的絕大多數通信設備都可以直接在嵌入式系統中套用,包括RS-232接口(串列通信接口)、SPI(串列外圍設備接口)、IrDA(紅外線接口)、I2C(現場匯流排)、USB(通用串列匯流排接口)、Ethernet(乙太網接口)等。

由於嵌入式套用場合的特殊性,通常使用的是陰極射線管(CRT)、液晶顯示器(LCD)和觸摸板(Touch Panel)等外圍顯示設備。

嵌入式作業系統

為了使嵌入式系統的開發更加方便和快捷,需要有專門負責管理存儲器分配、中斷處理、任務調度等功能的軟體模組,這就是嵌入式作業系統。嵌入式作業系統是用來支持嵌入式套用的系統軟體,是嵌入式系統極為重要的組成部分,通常包括與硬體相關的底層驅動程式、系統核心、設備驅動接口、通信協定、圖形用戶界面(GUI)等。嵌入式作業系統具有通用作業系統的基本特點,如能夠有效管理複雜的系統資源,能夠對硬體進行抽象,能夠提供庫函式、驅動程式、開發工具集等。但與通用作業系統相比較,嵌入式作業系統在系統實時性、硬體依賴性、軟體固化性以及套用專用性等方面,具有更加鮮明的特點。

嵌入式作業系統根據套用場合可以分為兩大類:一類是面向消費電子產品的非實時系統,這類設備包括個人數字助理(PDA)、行動電話、機頂盒(STB)等;另一類則是面向控制、通信、醫療等領域的實時作業系統,如WindRiver公司的VxWorks、QNX系統軟體公司的QNX等。實時系統(Real Time System)是一種能夠在指定或者確定時間內完成系統功能,並且對外部和內部事件在同步或者異步時間內能做出及時回響的系統。在實時系統中,操作的正確性不僅依賴於邏輯設計的正確程度,而且與這些操作進行的時間有關,也就是說,實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序控制出現偏差將會產生嚴重後果。

實時系統主要通過三個性能指標來衡量系統的實時性,即回響時間(Response Time)、生存時間(Survival Time)和吞吐量(Throughput):

o 回響時間 是實時系統從識別出一個外部事件到做出回響的時間;

o 生存時間 是數據的有效等待時間,數據只有在這段時間內才是有效的;

o 吞吐量 是在給定的時間內系統能夠處理的事件

總數,吞吐量通常比平均回響時間的倒數要小一點。

實時系統根據回響時間可以分為弱實時系統、一般實時系統和強實時系統三種。弱實時系統在設計時的宗旨是使各個任務運行得越快越好,但沒有嚴格限定某一任務必須在多長時間內完成,弱實時系統更多關注的是程式運行結果的正確與否,以及系統安全性能等其他方面,對任務執行時間的要求相對來講較為寬鬆,一般回響時間可以是數十秒或者更長。一般實時系統是弱實時系統和強實時系統的一種折衷,它的回響時間可以在秒的數量級上,廣泛套用於消費電子設備中。強實時系統則要求各個任務不僅要保證執行過程和結果的正確性,同時還要保證在限定的時間內完成任務,回響時間通常要求在毫秒甚至微秒的數量級上,這對涉及到醫療、安全、軍事的軟硬體系統來說是至關重要的。 時限(deadline)是實時系統中的一個重要概念,指的是對任務截止時間的要求,根據時限對系統性能的影響程度,實時系統又可以分為軟實時系統(soft real-time-system)和硬實時系統(hard real-time-system)。軟實時指的是雖然對系統回響時間有所限定,但如果系統回響時間不能滿足要求,並不會導致系統產生致命的錯誤或者崩潰;硬實時則指的是對系統回響時間有嚴格的限定,如果系統回響時間不能滿足要求,就會引起系統產生致命的錯誤或者崩潰。如果一個任務在時限到達之時尚未完成,對軟實時系統來說還是可以容忍的,最多只會降低系統性能,但對硬實時系統來說則是無法接受的,因為這樣帶來的後果根本無法預測,甚至可能是災難性的。在目前實際運用的實時系統中,通常允許軟硬兩種實時性同時存在,其中一些事件沒有時限要求,另外一些事件的時限要求是軟實時的,而對系統產生關鍵影響的那些事件的時限要求則是硬實時的。

五、實習總結

計算機和網路已經全面滲透到日常生活的每一個角落,對於我們沒有個人來說,需要的已經不再僅僅是放在桌面上處理文檔,進行工業管理和生產控制的計算機“機器”任何一個普通的人都可能擁有從小到大的各種嵌入式技術的電子產品,小到MP3PDA等微型數位化產品,大到網路家電,智慧型家電等,各種各樣的新型嵌入式系統設備在套用數量上已經遠遠超過了通用計算機,在工業和服務領域,使用嵌入式技術的數字工具機、智慧型工具、工業機器人、服務機器人、正在逐漸的改變著傳統的工業生產和服務方式。而ARM晶片憑藉強大的處理能力和極低的功耗,非常適合這些場合。所以現在越來越多的公司在產品選型的時候考慮到使用ARM處理器,從這個角度來說,對於在校大學生來說,如果你掌握了ARM開發技術,對於尋找一份好的工作也十分有利。