配套課件-嵌入式Linux開發(fā)入門_第1頁
配套課件-嵌入式Linux開發(fā)入門_第2頁
配套課件-嵌入式Linux開發(fā)入門_第3頁
配套課件-嵌入式Linux開發(fā)入門_第4頁
配套課件-嵌入式Linux開發(fā)入門_第5頁
已閱讀5頁,還剩597頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 系統(tǒng)概述 1.1 嵌入式系統(tǒng) 1.2 ARM嵌入式系統(tǒng) 1.1 嵌入式系統(tǒng)1.1.1 嵌入式系統(tǒng)簡述嵌入式系統(tǒng)是一個較為復(fù)雜的技術(shù)概念,無疑也是當(dāng)今最熱門的技術(shù)概念之一。嵌入式系統(tǒng)是指嵌入式計算機(Embedded Computer)及其應(yīng)用系統(tǒng)。關(guān)于嵌入式系統(tǒng)目前尚無嚴格、統(tǒng)一的定義。根據(jù)IEEE(國際電機工程師協(xié)會)的定義,嵌入式系統(tǒng)是“用于控制、監(jiān)視的設(shè)備,或者作為儀器、機器或設(shè)備的輔助裝置”(原文為devices used to control, monitor, or assist the operation of equipment, machinery or plants

2、),這主要是從應(yīng)用上定義的。從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,同時還涵蓋了機械等附屬裝置。 需要指出的是,上述定義并不能充分體現(xiàn)出嵌入式系統(tǒng)的精髓,嵌入式的概念根本上應(yīng)該從應(yīng)用角度加以闡述。在多數(shù)網(wǎng)站和書籍資料中,對嵌入式系統(tǒng)大都有這樣的定義:嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可裁減,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。也可以將嵌入式系統(tǒng)理解為:以應(yīng)用為中心,以計算機技術(shù)、微電子技術(shù)、控制技術(shù)和通信技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統(tǒng)。可以從以下三方面來認識嵌入式

3、系統(tǒng):(1) 硬件應(yīng)以嵌入式處理器為基礎(chǔ)平臺;(2) 軟件應(yīng)以嵌入式軟件為運行平臺;(3) 形式應(yīng)是嵌入在設(shè)備中。各種設(shè)備有不同的外形及相應(yīng)的附屬配件,嵌入式系統(tǒng)只不過是其中的一個控制核心部件。概括地說,嵌入式系統(tǒng)集系統(tǒng)的應(yīng)用軟件與硬件于一體,類似于PC中BIOS的工作方式,具有軟件代碼小、高度自動化、響應(yīng)速度快等特點,特別適合于要求實時和多任務(wù)的體系。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成,它是可獨立工作的“器件”。嵌入式系統(tǒng)具有如下特點: 嵌入式系統(tǒng)功耗低、體積小、專用性強; 為提高系統(tǒng)運行速度和可靠性,嵌入式系統(tǒng)軟件一般都固化在存儲器芯片中或片內(nèi)R

4、OM中; 嵌入式系統(tǒng)的軟硬件設(shè)計力求高效、精簡; 嵌入式系統(tǒng)對代碼安全性要求高; 嵌入式系統(tǒng)開發(fā)需要專門的開發(fā)工具及開發(fā)環(huán)境; 嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應(yīng)用的; 嵌入式系統(tǒng)是計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)以及各個行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物。1.1.2 嵌入式系統(tǒng)的構(gòu)成嵌入式系統(tǒng)是指嵌入于各種設(shè)備及應(yīng)用產(chǎn)品內(nèi)部的計算機系統(tǒng),而非PC系統(tǒng)。嵌入式系統(tǒng)一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序四個部分組成。它主要完成信號控制功能,體積小,結(jié)構(gòu)緊湊,可作為一個部件埋藏于所控制的裝置中。它提供用戶接口,管理有關(guān)信息的輸入/輸出,監(jiān)控設(shè)備工作,使設(shè)備及應(yīng)用系統(tǒng)有較高

5、智能和性價比。嵌入式系統(tǒng)可分為硬件和軟件兩大部分。1. 嵌入式系統(tǒng)的硬件嵌入式系統(tǒng)的硬件部分包括處理器/微處理器、存儲器、外設(shè)器件和I/O端口、圖形控制器等。嵌入式系統(tǒng)有別于一般的計算機處理系統(tǒng),它不具備像硬盤那樣大容量的存儲介質(zhì),而大多使用EPROM、EEPROM或閃存(Flash Memory)作為存儲介質(zhì)。1) 嵌入式微處理器(Embedded Microprocessor Unit, EMPU)嵌入式微處理器采用“增強型”通用微處理器。由于嵌入式系統(tǒng)通常應(yīng)用于比較惡劣的環(huán)境中,因此嵌入式微處理器在工作溫度、電磁兼容性以及可靠性方面的要求較通用的標準微處理器高。嵌入式微處理器在功能方面與

6、標準的微處理器基本上是一樣的。根據(jù)實際嵌入式應(yīng)用的要求,將嵌入式微處理器裝配在專門設(shè)計的主板上,只保留和嵌入式應(yīng)用有關(guān)的主板功能,這樣可以大幅度減小系統(tǒng)的體積和功耗。與工業(yè)控制計算機相比,嵌入式微處理器組成的系統(tǒng)具有體積小、重量輕、成本低、可靠性高的優(yōu)點。嵌入式微處理器及其存儲器、總線、外設(shè)等安裝在一塊電路主板上,從而構(gòu)成了一個通常所說的單板機系統(tǒng)。嵌入式處理器有8位、16位、32位和64位等不同類型,目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM等系列。嵌入式微處理器是嵌入式系統(tǒng)的核心。嵌入式微處理器一般具備4個特點:(1) 對實時和多任

7、務(wù)有很強的支持能力。有較短的中斷響應(yīng)時間,從而使實時操作系統(tǒng)的執(zhí)行時間減少到最低限度。(2) 具有功能很強的存儲區(qū)保護功能。嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,為了避免在軟件模塊之間出現(xiàn)錯誤的交叉作用,就需要設(shè)計強大的存儲區(qū)保護功能,同時,這樣也有利于軟件診斷。(3) 具有可擴展的處理器結(jié)構(gòu),能迅速地擴展出滿足應(yīng)用的高性能的嵌入式微處理器。(4) 功耗很低,尤其是便攜式無線及移動的計算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,其功耗達到mW甚至W級。2) 嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器又稱單片機,它將整個計算機系統(tǒng)集成到一塊芯片中。嵌入式微控制器

8、一般以某種微處理器內(nèi)核為核心,根據(jù)某些典型的應(yīng)用,在芯片內(nèi)部集成了ROM/EPROM、RAM、總線、總線邏輯、定時/計數(shù)器、看門狗、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A、Flash RAM、EEPROM等各種必要功能部件和外設(shè)。為適應(yīng)不同的應(yīng)用需求,可對功能的設(shè)置和外設(shè)的配置進行必要的修改和裁減定制,使得一個系列的單片機具有多種衍生產(chǎn)品,每種衍生產(chǎn)品的處理器內(nèi)核都相同,只是存儲器和外設(shè)的配置及功能的設(shè)置不同。這樣可以使單片機最大限度地和應(yīng)用需求相匹配,從而減少整個系統(tǒng)的功耗和成本。和嵌入式微處理器相比,微控制器的單片化使應(yīng)用系統(tǒng)的體積大大減小,從而使功耗和成本大幅度下降,可靠性提高。由

9、于嵌入式微控制器目前在產(chǎn)品的品種和數(shù)量上是所有種類嵌入式處理器中最多的,加之有上述諸多優(yōu)點,因此決定了微控制器是嵌入式系統(tǒng)應(yīng)用的主流。微控制器的片上外設(shè)資源一般比較豐富,適合于控制,因此稱為微控制器。3) 嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)在數(shù)字信號處理應(yīng)用中,各種數(shù)字信號處理算法相當(dāng)復(fù)雜,這些算法的復(fù)雜度可能是O(nm),甚至是NP,一般結(jié)構(gòu)的處理器無法實時地完成這些運算。由于DSP處理器對系統(tǒng)結(jié)構(gòu)和指令進行了特殊設(shè)計,因此它更適合于實時地進行數(shù)字信號處理。在數(shù)字濾波、FFT、譜分析等方面,DSP算法正大量進入嵌入式領(lǐng)域,DS

10、P應(yīng)用正從在通用單片機中以普通指令實現(xiàn)DSP功能,過渡到采用嵌入式DSP處理器。另外,在有關(guān)智能方面的應(yīng)用中,也需要嵌入式DSP處理器,例如各種帶有智能邏輯的消費類產(chǎn)品,生物信息識別終端,帶有加/解密算法的鍵盤,ADSL接入,實時語音壓解系統(tǒng),虛擬現(xiàn)實顯示等。這類智能化算法一般運算量都較大,特別是向量運算、指針線性尋址等較多,而這些正是DSP處理器的優(yōu)勢所在。嵌入式DSP處理器有兩類:(1) DSP處理器經(jīng)過單片化,EMC改造和增加片上外設(shè),使之成為嵌入式DPS處理器,TI的TMS320C2000/C5000等屬于此范疇。(2) 在通用單片機或SOC中增加DSP協(xié)處理器,例如Intel的MCS

11、-296和Infineon(Siemens)的TriCore。4) 嵌入式片上系統(tǒng)(System On Chip, SOC) 隨著EDI的推廣,VLSI設(shè)計的普及化,以及半導(dǎo)體工藝的迅速發(fā)展,可以在一塊硅片上實現(xiàn)一個更為復(fù)雜的系統(tǒng),這就產(chǎn)生了SOC技術(shù)。各種通用處理器內(nèi)核將作為SOC設(shè)計公司的標準庫,和其他許多嵌入式系統(tǒng)外設(shè)一樣,成為VLSI設(shè)計中一種標準的器件,用標準的VHDL、Verlog等硬件語言描述,存儲在器件庫中。用戶只需定義出其整個應(yīng)用系統(tǒng),仿真通過后就可以將設(shè)計圖交給半導(dǎo)體工廠制作樣品。這樣除某些無法集成的器件以外,整個嵌入式系統(tǒng)大部分均可集成到一塊或幾塊芯片中去,應(yīng)用系統(tǒng)電路板

12、將變得很簡單,對于減小整個應(yīng)用系統(tǒng)的體積和功耗、提高可靠性非常有利。SOC可分為通用和專用兩類,通用SOC如Infineon(Siemens)的TriCore、Motorola的M-Core,以及某些ARM系列器件,如Echelon和Motorola聯(lián)合研制的Neuron芯片等;專用SOC一般專用于某個或某類系統(tǒng)中,如Philips的Smart XA,它將XA單片機內(nèi)核和支持超過2048位復(fù)雜RSA算法的CCU單元制作在一塊硅片上,形成一個可加載Java或C語言的專用SOC,可用于互聯(lián)網(wǎng)安全方面。2. 嵌入式系統(tǒng)的軟件嵌入式系統(tǒng)的軟件是嵌入式系統(tǒng)的重要組成部分,它也是計算機軟件的一種,同樣由程

13、序及其文檔組成,可細分成操作系統(tǒng)軟件(要求實時和多任務(wù)操作)、支撐軟件和應(yīng)用軟件三類。操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用;支撐軟件是用于幫助和支持軟件開發(fā)的軟件;應(yīng)用程序控制著系統(tǒng)的運作和行為。1) 嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)(Embedded Operating System,EOS)是一種用途廣泛的系統(tǒng)軟件,通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標準化瀏覽器等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點,如能夠有效管理越來越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動程序移植和維護中解脫出來;能夠提供庫函數(shù)、驅(qū)動程序、工具集以及

14、應(yīng)用程序。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出的特點。嵌入式操作系統(tǒng)可以分為實時操作系統(tǒng)和分時操作系統(tǒng)兩類。實時操作系統(tǒng)是指具有實時性,能支持實時控制系統(tǒng)工作的操作系統(tǒng)。實時操作系統(tǒng)的首要任務(wù)是調(diào)度一切可利用的資源完成實時控制任務(wù),其次才著眼于提高系統(tǒng)的使用效率。實時操作系統(tǒng)通過任務(wù)調(diào)度對重要事件在規(guī)定時間內(nèi)作出正確的響應(yīng)。面向控制、通信等領(lǐng)域的是實時操作系統(tǒng),如WindRiver公司的VxWorks,ISI公司的pSOS,QNX系統(tǒng)軟件公司的QNX,ATI公司的Nucleus等;面向消費電子產(chǎn)品的是分時操作系統(tǒng),

15、這類產(chǎn)品包括個人數(shù)字助理(PDA)、移動電話、機頂盒、電子書、WebPhone等。(1) 分時操作系統(tǒng)。早期的嵌入式系統(tǒng)中沒有操作系統(tǒng)的概念,程序員編寫嵌入式程序通常直接面對裸機及裸設(shè)備。在這種情況下,通常把嵌入式程序分成兩部分,即前臺程序和后臺程序。前臺程序通過中斷來處理事件,其結(jié)構(gòu)一般為無限循環(huán);后臺程序則掌管整個嵌入式系統(tǒng)軟硬件資源的分配、管理以及任務(wù)的調(diào)度,是一個系統(tǒng)管理調(diào)度程序。這就是通常所說的前后臺系統(tǒng)。一般情況下,后臺程序也叫任務(wù)級程序,前臺程序也叫事件處理級程序。在程序運行時,后臺程序檢查每個任務(wù)是否具備運行條件,通過一定的調(diào)度算法來完成相應(yīng)的操作。對于實時性要求特別嚴格的操作

16、通常由中斷來完成,僅在中斷服務(wù)程序中標記事件發(fā)生時,不再做任何工作,退出中斷,經(jīng)過后臺程序的調(diào)度,轉(zhuǎn)由前臺程序完成事件的處理,這樣就不會因在中斷服務(wù)程序中處理費時的事件而影響后續(xù)和其他中斷。實際上,前后臺系統(tǒng)的實時性比預(yù)計的要差,這是因為前后臺系統(tǒng)認為所有的任務(wù)具有相同的優(yōu)先級別,即是平等的,而且任務(wù)的執(zhí)行又是通過FIFO隊列排隊執(zhí)行的,因而,那些實時性要求高的任務(wù)不可能立刻得到處理。另外,由于前臺程序是一個無限循環(huán)的結(jié)構(gòu),一旦在這個循環(huán)體中正在處理的任務(wù)崩潰,會使得整個任務(wù)隊列中的其他任務(wù)得不到機會被處理,從而造成整個系統(tǒng)的崩潰。由于這類系統(tǒng)結(jié)構(gòu)簡單,幾乎不需要RAM/ROM的額外開銷,因而

17、在簡單的嵌入式應(yīng)用中被廣泛使用。(2) 實時操作系統(tǒng)。實時操作系統(tǒng)是嵌入式系統(tǒng)目前最主要的組成部分。根據(jù)操作系統(tǒng)的工作特性,實時是指物理進程的真實時間。實時操作系統(tǒng)是能從硬件方面支持實時控制系統(tǒng)工作的操作系統(tǒng)。實現(xiàn)操作的實時性是第一要求,需要調(diào)度一切可利用的資源完成實時控制任務(wù),其次才著眼于提高計算機系統(tǒng)的使用效率,重要特點是要滿足對時間的限制和要求。實時系統(tǒng)對邏輯和時序的要求非常嚴格,如果邏輯和時序出現(xiàn)偏差將會引起嚴重后果。實時系統(tǒng)有軟實時系統(tǒng)和硬實時系統(tǒng)兩種類型。軟實時系統(tǒng)僅要求事件響應(yīng)是實時的,并不要求限定某一任務(wù)必須在多長時間內(nèi)完成,如消費類電子產(chǎn)品;在硬實時系統(tǒng)中,不僅要求任務(wù)響應(yīng)要

18、實時,而且要求在規(guī)定的時間內(nèi)完成事件的處理,如工業(yè)和軍工系統(tǒng)電子產(chǎn)品。通常,大多數(shù)實時系統(tǒng)是兩者的結(jié)合。實時應(yīng)用軟件的設(shè)計一般比非實時應(yīng)用軟件的設(shè)計困難。實時系統(tǒng)的技術(shù)關(guān)鍵是如何保證系統(tǒng)的實時性。實時操作系統(tǒng)具有任務(wù)管理(多任務(wù)和基于優(yōu)先級的任務(wù)調(diào)度)、任務(wù)間同步和通信(信號量和郵箱等)、存儲器優(yōu)化管理(含ROM的管理)、實時時鐘服務(wù)、中斷管理服務(wù)等功能。實時操作系統(tǒng)具有規(guī)模小,中斷被屏蔽的時間很短,中斷處理時間短,任務(wù)切換很快等特點。大多數(shù)嵌入式操作系統(tǒng)支持多任務(wù)。多任務(wù)運行實際是靠CPU在多個任務(wù)之間切換、調(diào)度來實現(xiàn)的。每個任務(wù)都有其優(yōu)先級,不同的任務(wù)優(yōu)先級可能相同也可能不同。根據(jù)任務(wù)調(diào)度

19、方式的不同,實時操作系統(tǒng)可分為可搶占型和不可搶占型兩類??蓳屨夹蛯崟r操作系統(tǒng)是指內(nèi)核可以搶占正在運行任務(wù)的CPU的使用權(quán),并將使用權(quán)交給進入就緒態(tài)的優(yōu)先級更高的任務(wù)。不可搶占型實時操作系統(tǒng)在使用某種算法并決定讓某個任務(wù)運行后,就把CPU的控制權(quán)完全交給了該任務(wù),直到它主動將CPU控制權(quán)還回來。中斷由中斷服務(wù)程序來處理,可以激活一個休眠態(tài)的任務(wù),使之進入就緒態(tài),而這個進入就緒態(tài)的任務(wù)還不能運行,一直要等到當(dāng)前運行的任務(wù)主動交出CPU的控制權(quán)。使用不可搶占型實時操作系統(tǒng)的實時性比不使用實時操作系統(tǒng)的系統(tǒng)性能好,其實時性取決于最長任務(wù)的執(zhí)行時間。不可搶占型實時操作系統(tǒng)的缺點也恰恰是這一點,如果最長任

20、務(wù)的執(zhí)行時間不能確定,系統(tǒng)的實時性就不能確定??蓳屨夹蛯崟r操作系統(tǒng)的實時性好,優(yōu)先級高的任務(wù)只要具備了運行的條件,或者說進入了就緒態(tài),就可以立即運行。也就是說,除了優(yōu)先級最高的任務(wù),其他任務(wù)在運行過程中都可能隨時被比它優(yōu)先級高的任務(wù)中斷,讓后者運行。通過這種方式的任務(wù)調(diào)度保證了系統(tǒng)的實時性,但是,如果任務(wù)之間搶占CPU控制權(quán)處理不好,會產(chǎn)生系統(tǒng)崩潰、死機等嚴重后果??蓳屨夹蛯崟r操作系統(tǒng)調(diào)度方式靈活,能及時處理緊迫事件,但頻繁調(diào)度任務(wù)和及時計算優(yōu)先權(quán)又會使系統(tǒng)開銷增大。不可搶占型實時操作系統(tǒng)調(diào)度方式簡單,系統(tǒng)開銷小,但不能及時處理緊迫事件,不適用于實時任務(wù)。在使用中應(yīng)該綜合權(quán)衡,以使它們的優(yōu)勢發(fā)

21、揮到最大。 使用實時操作系統(tǒng)的必要性。嵌入式實時操作系統(tǒng)在目前的嵌入式應(yīng)用中越來越廣泛,尤其在功能復(fù)雜、系統(tǒng)龐大的應(yīng)用中顯得愈來愈重要,如汽車安全氣囊等。首先,嵌入式實時操作系統(tǒng)提高了系統(tǒng)的可靠性。在控制系統(tǒng)中,出于安全方面的考慮,要求系統(tǒng)起碼不能崩潰,而且還要有自愈能力。不僅要求在硬件設(shè)計方面提高系統(tǒng)的可靠性和抗干擾性,而且也應(yīng)在軟件設(shè)計方面提高系統(tǒng)的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。以往長期使用的前后臺系統(tǒng)軟件在遇到強干擾時,易使運行的程序產(chǎn)生異常、出錯、跑飛,甚至死循環(huán),易造成系統(tǒng)的崩潰。而在實時操作系統(tǒng)管理的系統(tǒng)中,這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統(tǒng)運

22、行的系統(tǒng)監(jiān)控進程對其進行修復(fù)。通常情況下,系統(tǒng)監(jiān)視進程用來監(jiān)視各進程的運行狀況,遇到異常情況時采取一些利于系統(tǒng)穩(wěn)定可靠運行的措施,如把有問題的任務(wù)清除掉。其次,嵌入式實時操作系統(tǒng)提高了開發(fā)效率,縮短了開發(fā)周期。在嵌入式實時操作系統(tǒng)環(huán)境下,開發(fā)一個復(fù)雜的應(yīng)用程序,通??梢园凑哲浖こ讨械慕怦钤瓌t將整個程序分解為多個任務(wù)模塊。每個任務(wù)模塊的調(diào)試、修改幾乎不影響其他模塊。商業(yè)軟件一般都提供了良好的多任務(wù)調(diào)試環(huán)境。再次,嵌入式實時操作系統(tǒng)充分發(fā)揮了32位CPU的多任務(wù)潛力。32位CPU比8、16位CPU快,另外,它本來是為運行多用戶、多任務(wù)操作系統(tǒng)而設(shè)計的,故特別適于運行多任務(wù)實時系統(tǒng)。32位CPU采

23、用利于提高系統(tǒng)可靠性和穩(wěn)定性的設(shè)計,使其更容易做到不崩潰。例如,CPU運行狀態(tài)分為系統(tǒng)態(tài)和用戶態(tài)。將系統(tǒng)堆棧和用戶堆棧分開,以及實時地給出CPU的運行狀態(tài)等,允許用戶在系統(tǒng)設(shè)計中從硬件和軟件兩方面對實時內(nèi)核的運行實施保護。如果還是采用以前的前后臺方式,則無法發(fā)揮32位CPU的優(yōu)勢。從某種意義上說,沒有操作系統(tǒng)的計算機(裸機)是沒有用的。在嵌入式應(yīng)用中,只有把CPU嵌入到系統(tǒng)中,同時又把操作系統(tǒng)嵌入進去,才是真正的計算機嵌入式應(yīng)用。 實時操作系統(tǒng)的優(yōu)缺點。在嵌入式實時操作系統(tǒng)環(huán)境下開發(fā)實時應(yīng)用程序使程序的設(shè)計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應(yīng)用程序分割成若干獨立的任務(wù)模塊

24、,可使應(yīng)用程序的設(shè)計過程大為簡化,而且對實時性要求苛刻的事件都可得到快速、可靠的處理。通過有效的系統(tǒng)服務(wù),嵌入式實時操作系統(tǒng)使得系統(tǒng)資源得到了更好的利用。但是,使用嵌入式實時操作系統(tǒng)還需要額外的ROM/RAM開銷,2%5%的CPU額外負荷,以及內(nèi)核的費用。2) 嵌入式支撐軟件嵌入式支撐軟件通常包括數(shù)據(jù)庫和開發(fā)工具,其中以數(shù)據(jù)庫最為重要。嵌入式數(shù)據(jù)庫技術(shù)已得到廣泛的應(yīng)用,隨著移動通信技術(shù)的進步,人們對移動數(shù)據(jù)處理提出了更高的要求,嵌入式數(shù)據(jù)庫技術(shù)已經(jīng)得到了學(xué)術(shù)、工業(yè)、軍事、民用部門等各方面的重視。嵌入式移動數(shù)據(jù)庫或簡稱為移動數(shù)據(jù)庫(EMDBS)是支持移動計算或某種特定計算模式的數(shù)據(jù)庫管理系統(tǒng),數(shù)

25、據(jù)庫系統(tǒng)與操作系統(tǒng)、具體應(yīng)用集成在一起,運行在各種智能型嵌入設(shè)備或移動設(shè)備上。其中,嵌入在移動設(shè)備上的數(shù)據(jù)庫系統(tǒng)由于涉及數(shù)據(jù)庫技術(shù)、分布式計算技術(shù)以及移動通信技術(shù)等多個學(xué)科領(lǐng)域,目前已經(jīng)成為一個十分活躍的研究和應(yīng)用領(lǐng)域。國際上主要的嵌入式移動數(shù)據(jù)庫系統(tǒng)有Sybase、Oracle等。我國嵌入式移動數(shù)據(jù)庫系統(tǒng)以東軟集團研究開發(fā)的嵌入式數(shù)據(jù)庫系統(tǒng)OpenBASE Mini為代表。3) 嵌入式應(yīng)用軟件嵌入式應(yīng)用軟件是針對特定應(yīng)用領(lǐng)域,基于某一固定的硬件平臺,用來達到用戶預(yù)期目標的計算機軟件。由于用戶任務(wù)可能有時間和精度上的要求,因此有些嵌入式應(yīng)用軟件需要特定嵌入式操作系統(tǒng)的支持。嵌入式應(yīng)用軟件和普通

26、應(yīng)用軟件有一定的區(qū)別,它不僅要求其準確性、安全性和穩(wěn)定性等方面能夠滿足實際應(yīng)用的需要,而且還要盡可能地進行優(yōu)化,以減少對系統(tǒng)資源的消耗,降低硬件成本。目前我國市場上已經(jīng)出現(xiàn)了各式各樣的嵌入式應(yīng)用軟件,包括瀏覽器、E-mail軟件、文字處理軟件、通訊軟件、多媒體軟件、個人信息處理軟件、智能人機交互軟件、各種行業(yè)應(yīng)用軟件等。嵌入式系統(tǒng)中的應(yīng)用軟件是最活躍的力量,每種應(yīng)用軟件均有特定的應(yīng)用背景,盡管規(guī)模較小,但專業(yè)性較強,所以嵌入式應(yīng)用軟件不像操作系統(tǒng)和支撐軟件那樣受制于國外產(chǎn)品的壟斷,是我國嵌入式軟件的優(yōu)勢領(lǐng)域。4) 嵌入式系統(tǒng)軟件的特征嵌入式處理器的應(yīng)用軟件是實現(xiàn)嵌入式系統(tǒng)功能的關(guān)鍵,對嵌入式處

27、理器系統(tǒng)軟件和應(yīng)用軟件的要求也和通用計算機有所不同。 (1) 軟件要求固態(tài)化存儲。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存儲于磁盤等載體中。 (2) 軟件代碼要求高質(zhì)量、高可靠性。盡管半導(dǎo)體技術(shù)的發(fā)展使處理器速度不斷提高、片上存儲器容量不斷增加,但在大多數(shù)應(yīng)用中,存儲空間仍然是寶貴的,還存在實時性的要求。為此要求程序編寫和編譯工具的質(zhì)量要高,以減少程序二進制代碼長度,提高執(zhí)行速度。 (3) 系統(tǒng)軟件(OS)的高實時性是基本要求。在多任務(wù)嵌入式系統(tǒng)中,對重要性各不相同的任務(wù)進行統(tǒng)籌兼顧的合理調(diào)度是保證每個任務(wù)及時執(zhí)行的關(guān)鍵,單純通過提高處理器

28、速度是無法完成和沒有效率的。這種任務(wù)調(diào)度只能由編寫優(yōu)化的系統(tǒng)軟件來完成。這里系統(tǒng)軟件的高實時性是基本要求。 (4) 多任務(wù)操作系統(tǒng)是知識集成的平臺和走向工業(yè)標準化道路的基礎(chǔ)。1.1.3 嵌入式系統(tǒng)的特點嵌入式系統(tǒng)一般指非PC系統(tǒng),它有計算機功能但又不稱之為計算機的設(shè)備。嵌入式計算機系統(tǒng)同通用型計算機系統(tǒng)相比具有以下特點: (1) 嵌入式系統(tǒng)通常是面向特定應(yīng)用的嵌入式CPU,與通用型計算機的最大不同是嵌入式CPU大多工作在為特定用戶群設(shè)計的系統(tǒng)中。它通常都具有功耗低、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計趨于小型化,移動能力大大增強

29、,跟網(wǎng)絡(luò)的耦合也越來越緊密。 (2) 嵌入式系統(tǒng)是將計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,是一門綜合技術(shù)學(xué)科。由于空間和各種資源相對不足,嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現(xiàn)更高的性能,這樣才能在具體應(yīng)用中更具有競爭力。(3) 嵌入式系統(tǒng)是一個軟硬件高度結(jié)合的產(chǎn)物。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存儲于磁盤等載體中。片上系統(tǒng)、板上系統(tǒng)的實現(xiàn),使得以PDA等為代表的這類產(chǎn)品擁有更加熟悉的操作界面和操作方式,比傳統(tǒng)的電子記事本等功能更加完善、實用。(4) 為

30、適應(yīng)嵌入式分布處理結(jié)構(gòu)和上網(wǎng)的需求,要求配備標準的一種或多種網(wǎng)絡(luò)通信接口。針對外部聯(lián)網(wǎng)要求,嵌入設(shè)備必須配有通信接口,相應(yīng)地需要TCP/IP協(xié)議簇軟件支持。由于家用電器相互關(guān)聯(lián)(如防盜報警系統(tǒng)、燈光能源控制系統(tǒng)、影視設(shè)備和信息終端交換信息)及實驗現(xiàn)場儀器的協(xié)調(diào)工作等要求,新一代嵌入式設(shè)備還需具備IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同時也需要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動軟件。為了支持應(yīng)用軟件的特定編程模式,如Web或無線Web編程模式,還需要相應(yīng)的瀏覽器,如HTML、WML等。 (5) 為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲

31、器芯片或單片機中,而不是存儲于磁盤等載體中。軟件代碼要求高質(zhì)量和高可靠性。 (6) 因為嵌入式系統(tǒng)往往和具體應(yīng)用有機地結(jié)合在一起,它的升級換代也是和具體產(chǎn)品同步進行的,因此嵌入式系統(tǒng)產(chǎn)品一旦進入市場就具有較長的生命周期。(7) 嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境。由于其本身不具備自主開發(fā)能力,即使設(shè)計完成以后用戶通常也不能對其中的程序功能進行修改,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā),這些工具和環(huán)境一般基于通用計算機上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號示波器等。開發(fā)時往往有主機和目標機的概念,主機用于程序的開發(fā),目標機作為最后的執(zhí)行機,開發(fā)時需要交替結(jié)合進行。1.1.4 嵌入式系統(tǒng)的應(yīng)用領(lǐng)

32、域嵌入式系統(tǒng)依靠其功能適用、可靠性高,無病毒,存儲介質(zhì)無機械硬盤,抗干擾能力強,體積和尺寸小,功耗低,無需散熱風(fēng)扇,無噪音,價格低,市場競爭力強,環(huán)境適應(yīng)性強,操作使用人性化、儀表化,有多種類型的軟硬件支持平臺,無須經(jīng)常更新?lián)Q代,可充分發(fā)揮設(shè)計者的才能,創(chuàng)造出更好的產(chǎn)品等特點,獲得了廣泛的應(yīng)用。嵌入式系統(tǒng)的應(yīng)用前景是非常廣泛的,在日常生活中人們無時無處不接觸到嵌入式產(chǎn)品,如家里的洗衣機、電冰箱、電視機頂盒、數(shù)字電視、掌上PDA、移動計算設(shè)備、手機上網(wǎng)、汽車、工業(yè)自動化儀表、醫(yī)療儀器、遠程會議系統(tǒng)等。特別是以藍牙為代表的小范圍無線接入?yún)f(xié)議的出現(xiàn),使嵌入式無線電的概念悄然興起。嵌入式系統(tǒng)可以稱為后

33、PC時代和后網(wǎng)絡(luò)時代的新秀。美國著名未來學(xué)家尼格羅在1999年曾預(yù)言,4至5年后嵌入式系統(tǒng)將是繼PC和Internet之后最偉大的發(fā)明。如今,現(xiàn)實的發(fā)展已驗證了這個預(yù)言。嵌入式系統(tǒng)的應(yīng)用按照市場領(lǐng)域可以分為: 消費類電子產(chǎn)品; 工業(yè)控制系統(tǒng); 機器人領(lǐng)域; 醫(yī)療儀器; 汽車; 數(shù)據(jù)/無線通信。 1.1.5 嵌入式系統(tǒng)的發(fā)展趨勢隨著Internet與網(wǎng)絡(luò)的迅速普及,并向家庭領(lǐng)域不斷擴展,使消費電子、計算機和通信(3C)一體化趨勢日趨明顯,嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物。這一點就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集

34、成系統(tǒng)。目前嵌入式系統(tǒng)技術(shù)已經(jīng)成為最熱門的技術(shù)之一。信息化社會的建設(shè)對嵌入式系統(tǒng)市場提出巨大需求,目前微處理器與微控制器年產(chǎn)量達10億多片,遠遠大于個人通用臺式計算機,嵌入式計算機必將是信息產(chǎn)業(yè)新的經(jīng)濟增長點。嵌入式系統(tǒng)處于高速的發(fā)展之中,其中在以下幾個方面的發(fā)展尤其應(yīng)該引起重視: 系統(tǒng)結(jié)構(gòu)趨于復(fù)雜; 網(wǎng)絡(luò)互聯(lián)成為必然趨勢; 應(yīng)用時精簡系統(tǒng)內(nèi)核、算法,降低功耗和軟硬件成本; 系統(tǒng)提供友好的人機界面。 1.2 ARM嵌入式系統(tǒng)1.2.1 ARM簡介ARM(Advanced RISC Machines)是一個公司名稱,也是一種處理器的通稱,還可以認為是一種技術(shù)名稱。1991年ARM公司成立于英國C

35、ambridge,英國ARM 公司是全球領(lǐng)先的16/32 位嵌入式 RISC 微處理器解決方案的供應(yīng)商,向全球各大領(lǐng)先電子公司提供高性能、低成本和高效率的RISC 處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。ARM 還為開發(fā)完整系統(tǒng)提供綜合技術(shù)支持。ARM 的微處理器遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、海量存儲、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于ARM技術(shù)的微處理器應(yīng)用占據(jù)了32位RISC微處理器75%以上的市場份額。ARM的設(shè)計實現(xiàn)了體積小但性能高的結(jié)構(gòu)。ARM是精簡指令集計算機,集成了非常典型的RISC結(jié)構(gòu)特性: 采用固定長度的指令格式,指令歸整、簡單,基本尋址方式有23種; 使用單周期指令,

36、便于流水線操作執(zhí)行; 大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進行操作,只有加載/存儲指令可以訪問存儲器,以提高指令的執(zhí)行效率。除此以外,ARM體系結(jié)構(gòu)還采用了一些特別的技術(shù),在保證高性能的前提下盡量縮小芯片的面積,并降低功耗。主要技術(shù)有: 所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率; 可用加載/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率; 可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理; 在循環(huán)處理中使用地址的自動增減來提高運行效率。所有指令的條件執(zhí)行實現(xiàn)了最快速的代碼執(zhí)行。這些在基本RISC結(jié)構(gòu)上增強的特性使ARM處理器在高性能、低代碼規(guī)模、低功耗和小硅片尺寸方

37、面取得了良好的平衡。ARM公司開發(fā)了很多系列的ARM處理器,目前最新的系列是ARM11。然而應(yīng)用較多的是ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列和Intel的StrongARM、XScale系列。ARM處理器的選擇范圍非常寬廣,同內(nèi)核可以選擇任意一家廠商的芯片。ARM處理器的優(yōu)點包括以下幾方面: ARM處理器本身是位設(shè)計,但也配備16位指令集。 一般來講存儲器比等價位代碼節(jié)省達3040%,依然保留了32位系統(tǒng)的所有優(yōu)勢。 ARM的Jazelle技術(shù)使Java加速,得到比基于軟件的Java虛擬機(JVM)高得多的性能,和同等的非Java加速核相比功耗降

38、低了80%。 CPU功能上增加DSP指令集,提供增強的16位和32位算術(shù)運算能力,提高了性能和靈活性。 ARM內(nèi)核最初是為手持通信設(shè)備設(shè)計的,所以它的功耗非常低。1.2.2 ARM處理器的應(yīng)用領(lǐng)域到目前為止,ARM微處理器及其技術(shù)的應(yīng)用幾乎已經(jīng)深入到了各個領(lǐng)域,成為嵌入式系統(tǒng)微處理器家族中極其重要的一員。其主要應(yīng)用于: 工業(yè)控制領(lǐng)域:作為32位的RISC架構(gòu),基于ARM核的微控制器芯片不但占據(jù)了高端微控制器市場的大部分市場份額,同時也逐漸向低端微控制器應(yīng)用領(lǐng)域擴展,ARM微控制器的低功耗、高性價比,向傳統(tǒng)的8位/16位微控制器提出了挑戰(zhàn)。 無線通信領(lǐng)域:目前已有超過85%的無線通信設(shè)備采用了A

39、RM技術(shù),ARM以其高性能和低成本,在該領(lǐng)域的地位日益鞏固。 網(wǎng)絡(luò)應(yīng)用:隨著寬帶技術(shù)的推廣,采用ARM技術(shù)的ADSL芯片正逐步獲得競爭優(yōu)勢。此外,ARM在語音及視頻處理上進行了優(yōu)化,并獲得了廣泛支持,也對DSP的應(yīng)用領(lǐng)域提出了挑戰(zhàn)。 消費類電子產(chǎn)品:ARM技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機頂盒和游戲機中得到了廣泛采用。 成像和安全產(chǎn)品:現(xiàn)在流行的數(shù)碼相機和打印機中絕大部分采用ARM技術(shù)。手機中的32位SIM智能卡也采用了ARM技術(shù)。除此以外,ARM微處理器及其技術(shù)還應(yīng)用于許多不同的領(lǐng)域,并會在將來取得更加廣泛的應(yīng)用。1.2.3 ARM處理器的特點ARM處理器具有諸多技術(shù)優(yōu)勢,在嵌入式的各領(lǐng)

40、域應(yīng)用中表現(xiàn)出色,采用RISC架構(gòu)的ARM微處理器一般具有如下特點: 體積小、功耗低、成本低、性能高; 支持Thumb(16位)/ARM(32位)雙指令集,能很好地兼容8位/16位器件; 大量使用寄存器,指令執(zhí)行速度更快; 大多數(shù)數(shù)據(jù)操作都在寄存器中完成; 尋址方式靈活簡單,執(zhí)行效率高; 指令長度固定。1.2.4 ARM處理器的分類ARM微處理器目前包括下面幾個系列。除了具有ARM體系結(jié)構(gòu)的共同特點以外,每一個系列的ARM微處理器都有各自的特點和應(yīng)用領(lǐng)域。 ARM7家族; ARM9家族; ARM9E家族; ARM10E家族; ARM11家族; SecurCore家族; OptimoDE數(shù)據(jù)引擎

41、內(nèi)核; MPCore多處理器家族; Intel公司的StrongARM/XScale。其中,ARM7、ARM9、ARM9E和ARM10E為4個通用處理器系列,每一個系列提供一套相對獨特的性能來滿足不同應(yīng)用領(lǐng)域的需求。SecurCore系列專門為安全要求較高的應(yīng)用而設(shè)計。1.2.5 ARM處理器工作模式簡介ARM處理器具有7種工作模式,詳情見表1.1。表1.1 ARM處理器模式1.2.6 ARM處理器內(nèi)部寄存器簡介在ARM處理器內(nèi)部有37個用戶可見的寄存器。31個通用32位寄存器,在ARM公司文件中它們的名稱分別為R0R15,R13_svc,R14_svc,R13_abt, R14_abt, R

42、13_und, R14_und, R13_irq, R14_irq和R8_fiqR14_fiq。6個狀態(tài)寄存器,在ARM公司文件中它們的名稱分別為CPSR,SPSR_svc,SPSR_abt,SPSR_und, SPSR_irq和SPSR_fiq。這些寄存器并不是全都可以在同一時間被訪問的。處理器狀態(tài)和操作模式?jīng)Q定了程序員可以訪問哪些寄存器。具體情況見表1.2。表1.2 ARM各狀態(tài)模式下的寄存器1.2.7 ARM處理器的異常向量列表通常,將一張異常向量列表至于首地址處,當(dāng)產(chǎn)生異常響應(yīng)時,ARM處理器會自動跳轉(zhuǎn)到對應(yīng)地址執(zhí)行程序,見表1.3。表1.3 異常向量列表中斷處理采用“三級跳”方式。首

43、先跳轉(zhuǎn)到0 x00000018處執(zhí)行中斷跳轉(zhuǎn)指令;繼而以0 x00000018處所存地址跳轉(zhuǎn)至中斷服務(wù)子程序首地址存儲處;最后跳轉(zhuǎn)進中斷服務(wù)子程序執(zhí)行中斷例程。嵌入式系統(tǒng)是基于計算機技術(shù)的強調(diào)體積、功耗、成本等綜合因素的精簡計算機系統(tǒng)。ARM處理器是32位嵌入式處理器的一種,它的特點是可移植性強,可以在不同廠家相同內(nèi)核的芯片中輕松切換,功耗極低,功能強大,低端可以作為高級單片機使用,高端功能可以與PC機媲美。第2章 基于ARM9的開發(fā)平臺硬件介紹 2.1 開發(fā)板概述 2.2 電源 2.3 CPU最小系統(tǒng) 2.4 人機接口 2.5 設(shè)備間數(shù)據(jù)傳輸和IDE接口 2.6 數(shù)據(jù)采集和I/O端口控制 2

44、.7 其他 2.1 開發(fā)板概述開發(fā)板是基于ARM9芯片的EP9315,它帶有豐富的外設(shè)接口,基本配置如下: ARM9內(nèi)核工業(yè)級處理器EP9315; SDRAM 128 MB; Flash 64 MB可擴展; EEPROM IIC接口; LCD控制器; VGA接口 1個; LVDS接口 1個; 觸摸屏接口; RS232 2個(3線); RS485 1個(4線); USB Host 3個; SPI接口(不向外部擴展); EIDE接口 2個; 擴展PS2接口; 88矩陣鍵盤接口; RTC實時時鐘; 10/100M以太網(wǎng)口; 總線方式 CAN接口1個; A/D 8通道,采樣10 bit分辨率; D/A

45、 2通道10位(其中一路作脈寬調(diào)制輸出); I/O口 8路輸入,8路輸出(TTL或CMOS輸出5 V電平); JTAG接口; IIS接口保留;開發(fā)板的方案框圖如圖2.1所示。圖2.1 方案框圖考慮到工業(yè)級與工控中穩(wěn)定、高效的要求,故選擇EP9315處理器。EP9315是高度集成的片上系統(tǒng)處理器,擁有先進的200 MHz的ARM920T處理器。ARM920T 的32位微處理器結(jié)構(gòu)帶有一個5階管線,可以極低的功耗提供優(yōu)異的性能。16K指令高速緩存和16K數(shù)據(jù)高速緩存可為現(xiàn)有的程序和數(shù)據(jù)提供零等待時間,或者也可被鎖定,以確保對關(guān)鍵指令和數(shù)據(jù)的無延遲存取。對于那些具有指令存儲器大小限制的產(chǎn)品,ARM9

46、20T的壓縮型Thumb指令集有助于空間的充分利用和外部指令存儲器使用的最大化。Maverick Crunch協(xié)處理器顯著地提高了ARM920T 的單/雙精度整數(shù)及浮點處理能力。在通過以太網(wǎng)處理數(shù)據(jù),以及執(zhí)行其他運算密集型計算和數(shù)據(jù)處理功能時,該協(xié)處理器可為EP9315提供必需的速度和性能。EP9315提供了豐富的外層接口模塊,通過激活或中斷,設(shè)計者能夠?qū)我黄脚_稍加修改后滿足不同的產(chǎn)品設(shè)計需求,從而使設(shè)計方便簡潔。該存儲系統(tǒng)分為3部分,即:128 MB的SDRAM,64 MB的Flash和可配接EEPROM的IIC接口。SDRAM和Flash存儲系統(tǒng)的設(shè)計均可按典型電路來實現(xiàn)。EP9315提

47、供了必要的接口。由于可以很容易地存取其內(nèi)部的每一個字節(jié),其中的Flash 采用NOR_Flash來實現(xiàn)。為防止因斷電而丟失數(shù)據(jù),我們通過IIC接口來使用EEPROM保存現(xiàn)場數(shù)據(jù)。顯示平臺提供了帶有觸摸屏接口的LCD接口、VGA接口和LVDS接口。EP9315提供了LCD的接口。采用專用D/A芯片ADV7123來實現(xiàn)VGA接口。通過LVDS接口來解決遠距離傳輸?shù)膯栴}。系統(tǒng)還同時實現(xiàn)了兩路RS232、1路RS485和3路USB接口。由于EP9315提供了相應(yīng)的邏輯接口,因此硬件設(shè)計中重點要考慮采用相關(guān)芯片來滿足接口電平的問題。EP9315直接提供了EIDE接口,實現(xiàn)重點在軟件的驅(qū)動程序。PS2接口

48、用EP9315的GPIO口來形成,88矩陣鍵盤接口也由EP9315直接提供。EP9315的外層模塊已包含了形成以太網(wǎng)接口的MAC控制器。具體功能可通過MII接口和網(wǎng)絡(luò)接口芯片共同來完成。 為了實現(xiàn)CAN接口需要擴展對應(yīng)接口和驅(qū)動芯片。 系統(tǒng)要求的A/D和D/A接口可通過對應(yīng)接口芯片實現(xiàn)。 JTAG為調(diào)試接口,EP9315自身已提供。 8路輸入和8路輸出數(shù)字端口由EP9315的GPIO口來形成。 EP9315已自帶了RTC實時時鐘。軟件部分包含ADS下所有的測試程序,如AD、DA、LCD、 LED、KEY、NOR_ Flash、IIC、UART、RS485、CAN、WATCHDOG、USB、RT

49、C等。還包括了Linux內(nèi)核、驅(qū)動及文件系統(tǒng)等。Linux內(nèi)核采用了穩(wěn)定、流行的2.4.21版本,可以通過驅(qū)動及內(nèi)核配置來實現(xiàn)多種文件系統(tǒng),如RAMDISK、JFFS2、EXT2、QT等。2.2 電 源在開發(fā)板中主要使用的電源是電壓為1.8 V、3.3 V、5 V、12 V和12 V的電源。(1) 1.8 V的電源用于給EP9315CPU芯片供電。使用Linear Technology 公司的LT1963A-1.8芯片,能提供1.5 A的工作電流。輸入是3.3 V電源,輸出是1.8 V。(2) 3.3 V、5 V、12 V和12 V的電源使用ATX標準電源供給。 2.3 CPU最小系統(tǒng)ARM芯

50、片采用Cirrus Logic公司的EP9315,該芯片是目前集成外設(shè)接口最全的ARM9芯片。具有200 MHz的ARM920T微處理器,有支持Linux、WindowsCE和其他嵌入式操作系統(tǒng)的存儲器管理單元MMU。EP9315的ARM920T內(nèi)核工作電壓為1.8 V,輸入/輸出(I/O)電壓為3.3 V,根據(jù)不同的運行速度,功耗在100750 mW之間。EP9315的內(nèi)部結(jié)構(gòu)如圖2.2所示。圖2.2 EP9315內(nèi)部結(jié)構(gòu)圖(1) SDRAM芯片采用三星公司的512 MB的K4S511632B-TC,它的最大工作頻率是133 MHz,刷新周期為64 ms。可以按照128 MB4、64 MB8

51、或是32 MB16的方式組織。三種組織方式的行地址均是A0A12,列地址分別是A0A9,A11,A12;A0A9,A11和A0A9。(2) Flash存儲器采用Intel的28F256J3C125,是256 MB的NOR_Flash。 2.4 人 機 接 口人機接口有PS2接口、88鍵盤接口、觸摸屏和顯示接口。(1) PS2接口和EP9315的SPI接口共用相同的管腳。使用相應(yīng)的功能時通過跳線選擇。(2) EP9315有專門的鍵盤掃描接口,能夠提供88鍵盤輸入。(3) EP9315的觸摸屏接口具有12 bit A/D轉(zhuǎn)換器,可以提供系統(tǒng)觸摸屏的坐標信號和反饋信號。(4) 顯示接口提供VGA、L

52、CD和LVDS接口。3種顯示方式的顯示信號均由EP9315的LCD接口信號提供。通過ADV7123 芯片和SN75LVDS81 芯片分別轉(zhuǎn)換為VGA顯示信號和LVDS信號。2.5 設(shè)備間數(shù)據(jù)傳輸和IDE接口設(shè)備間數(shù)據(jù)的傳輸接口有2個RS232接口、1個雙向RS485接口、3個USB主機接口、1個SPI接口(與PS2接口共用)、1個10/100 M以太網(wǎng)接口和1個CAN接口。(1) EP9315 提供3個串口,分別用于2個RS232和1個RS485接口。只是使用了不同的驅(qū)動器,RS232信號使用MAX3223芯片驅(qū)動,雙向RS485信號使用MAX488芯片驅(qū)動。(2) EP9315直接提供3個U

53、SB主機接口。3個USB接口都是兼容USB 2.0規(guī)范的全速接口,速率能夠達到12 Mb/s。支持Open HCI 1.0規(guī)范。(3) EP9315提供以太網(wǎng)MAC層接口,以太網(wǎng)物理層芯片使用Realtek公司的RTL8201芯片。以太網(wǎng)接口支持1/10/100 Mb的傳輸速率,支持802.3以太網(wǎng)協(xié)議。(4) CAN接口使用飛利浦的SJA1000CAN總線控制器,傳輸速率可到達1 Mb,支持CAN 2.0規(guī)范,支持11 bit和29 bit的識別符,支持PeliCAN模式擴展。CAN信號收發(fā)器使用飛利浦的PCA82C251芯片,它能全兼容“ISO 1189824 V”標準,能夠支持最少110

54、個節(jié)點連接。(5) EP9315提供IDE接口,可以掛載一個主設(shè)備和一個從設(shè)備,支持PIO mode 4、Multiword DMA mode 2和Ultra DMA mode 2操作模式。2.6 數(shù)據(jù)采集和I/O端口控制數(shù)據(jù)采集部分有A/D轉(zhuǎn)換和D/A轉(zhuǎn)換兩部分。I/O端口控制可提供8路輸入、8路輸出的TTL 5 V控制電平。(1) A/D轉(zhuǎn)換使用MAXIM公司的MAX1261芯片,該芯片提供8通道12bit的A/D轉(zhuǎn)換器,轉(zhuǎn)換速率可達250 kb/s。MAX1261與CPU的接口采用并行接口,可直接接到CPU的數(shù)據(jù)總線上。(2) D/A轉(zhuǎn)換使用MAXIM公司的MAX5821芯片,該芯片提供

55、兩個10 bit的D/A通道,使用400 kHz的I2C接口與主機連接。(3) I/O端口控制使用8255并口擴展芯片,輸入/輸出可以編程設(shè)置。2.7 其 他除了前面所列的硬件外,基于ARM9的開發(fā)平臺硬件還包括RTC實時時鐘使用的DS1337芯片,它可以提供12/24小時計時,使用兩線的I2C接口與主機相連。系統(tǒng)還提供JATG調(diào)試接口。第3章 ADS下的硬件電路調(diào)試 3.1 概述 3.2 嵌入式系統(tǒng)的開發(fā)步驟及方法 3.3 測試內(nèi)容清單及各部分實現(xiàn)功能 3.1 概 述ADS測試程序部分主要功能是: 在裸板上(未加載操作系統(tǒng))利用編程手段測試各功能模塊的電氣連接是否正確; 通過這一工作中的源程

56、序,交代EP9315各片內(nèi)外設(shè)的寄存器設(shè)置方式,為后繼開發(fā)者提供切實有用的參考資料。ADS下的測試程序已在本開發(fā)板上實際運行過,其基本思路是:在對系統(tǒng)總體配置后,通過程序控制開發(fā)板上各外部硬件資源完成相應(yīng)動作。同時在監(jiān)控終端上顯示測試過程中的輸入、輸出信息,以此了解開發(fā)平臺硬件電路的實際運行情況。3.2 嵌入式系統(tǒng)的開發(fā)步驟及方法為向用戶全面系統(tǒng)地闡述ADS下的測試程序,本節(jié)先概要地介紹嵌入式系統(tǒng)開發(fā)的典型過程和所使用的軟、硬件工具。運行此測試程序所需要的設(shè)備及軟件工具如下: PC機(Windows超級終端軟件及機身COM口可用); ARM JTAG接口仿真器一臺及相對應(yīng)的控制臺驅(qū)動程序; E

57、P9315嵌入式開發(fā)板一塊; 串口線(連接開發(fā)板與PC機),并口線(連接仿真器與PC機); ADS 1.2開發(fā)套件。以上提及的硬件設(shè)備的連接情況見圖3.1。圖3.1 開發(fā)環(huán)境的搭建在路徑開始 所有程序附件 通信中打開PC機上的超級終端,建立測試監(jiān)控端。將超級終端配置為波特率為115200,數(shù)據(jù)位為8,奇偶校驗為無,停止位為1,數(shù)據(jù)流控制為無,見圖3.2。圖3.2 超級終端的配置打開開發(fā)板電源,在仿真器控制臺軟件中完成開發(fā)板與PC機的連接,見圖3.3。圖3.3 控制臺檢測處理器內(nèi)核至此,開發(fā)板已與PC主機建立了硬件上的連接。用戶此時需要在ADS環(huán)境下完成實驗工程的建立,以便進行源程序的編寫、編譯

58、以及鏈接,繼而產(chǎn)生ARM可執(zhí)行文件。首先建立實驗平臺,打開ADS開發(fā)套件中的CodeWarrior for ARM Developer Suite。平臺可將所有的源碼文件組織在一起,并能夠決定最終生成文件存放的路徑及輸出的格式等。然后在CodeWarrior中新建一個工程,新建工程的方法有兩種,一是在工具欄中單擊“New”按鈕,是在“File”菜單中選擇“New”菜單。這樣就會打開一個如圖3.4所示的對話框。圖3.4 建立工程 在這個對話框中為用戶提供了7種可選擇的工程類型。 ARM Executable Image:用于由ARM指令的代碼生成一個ELF格式的可執(zhí)行映像文件; ARM Obje

59、ct Library:用于由ARM指令的代碼生成一個armar格式的目標文件庫; Empty Project:用于創(chuàng)建一個不包含任何庫或源文件的工程; Makefile Importer Wizard:用于將Visual C的nmake或GNU make文件轉(zhuǎn)入到CodeWarrior IDE 工程文件; Thumb ARM Interworking Image:用于由ARM指令和Thumb指令的混和代碼生成一個可執(zhí)行的ELF格式的映像文件; Thumb Executable Image:用于由Thumb指令創(chuàng)建一個可執(zhí)行的ELF格式的映像文件; Thumb Object Library:用于

60、由Thumb指令的代碼生成一個armar格式的目標文件庫。在對話框中選擇ARM Executable Image,在“Project name”中輸入工程文件名。點擊“Location”文本框的“Set”按鈕,瀏覽選擇想要將該工程保存的路徑。將這些設(shè)置好后,點擊“確定”,即可建立一個新的工程。在工程窗口中點擊右鍵添加工程所需的源程序。當(dāng)選中要添加的文件時,會出現(xiàn)一個對話框,如圖3.5所示,詢問用戶把文件添加到何類目標中。在這里,選擇DebugRel目標。圖3.5 添加工程文件圖3.5所示的3類target解釋如下: DebugRel:使用該目標,在生成目標的時候,會為每一個源文件生成調(diào)試信息;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論