一章 嵌入式系統(tǒng)基礎(chǔ)知識ARM7_第1頁
一章 嵌入式系統(tǒng)基礎(chǔ)知識ARM7_第2頁
一章 嵌入式系統(tǒng)基礎(chǔ)知識ARM7_第3頁
一章 嵌入式系統(tǒng)基礎(chǔ)知識ARM7_第4頁
一章 嵌入式系統(tǒng)基礎(chǔ)知識ARM7_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ARM嵌入式基礎(chǔ)技術(shù)

----入門篇長沙市元享電子制作內(nèi)容簡介介《ARM嵌入式式應用技技術(shù)基礎(chǔ)礎(chǔ)》從基本概概念和原原理入手手,循序序漸進地地講解了嵌入入式系統(tǒng)統(tǒng)基礎(chǔ)、、ARM處理器器基礎(chǔ)、、ARM7指令令系統(tǒng)、、程序設(shè)設(shè)計、ADS編編譯環(huán)境境和初始始化代碼碼等各項項基礎(chǔ)知知識,幫幫助讀者者成功地地掌ARM應用基礎(chǔ)礎(chǔ)。本套教材材構(gòu)成::入門篇《《ARM嵌入入式應用用技術(shù)基基礎(chǔ)》提高篇《《ARM嵌嵌入式接接口技術(shù)術(shù)應用》》實戰(zhàn)篇《《ARM嵌入入式應用用實戰(zhàn)》》章節(jié)目錄錄第一章嵌嵌入入式系統(tǒng)統(tǒng)基礎(chǔ)知知識第二章ARM處理理器基礎(chǔ)礎(chǔ)第三章ARM的指指令系統(tǒng)統(tǒng)第四章ARM的編編程技術(shù)術(shù)第五章四四個個操作范范例第六章ADS1..2開發(fā)發(fā)工具的的使用第七章AXD調(diào)試試工具的的使用第八章初初始始化代碼碼研究第九章LPC2220((ARM7)處處理器第一章嵌嵌入式式系統(tǒng)基基礎(chǔ)知識識一、認識識嵌入式式系統(tǒng)二、計算算機系統(tǒng)統(tǒng)的信息息表示方方式三、本節(jié)節(jié)附錄一、認識識嵌入式式系統(tǒng)以數(shù)字科科技為基基礎(chǔ),計計算機科科學技術(shù)術(shù)為框架架的嵌入入式系統(tǒng)統(tǒng)目前已已普遍應應用于工工業(yè)控制制系統(tǒng)、、信息家家電、通通信設(shè)備備、醫(yī)療療設(shè)備、、智能儀儀器儀表表等眾多多領(lǐng)域::1.1嵌入式系系統(tǒng)的定定義根據(jù)IEEE((國際電電氣和電電子工程程師協(xié)會會)的定定義,嵌嵌入式系系統(tǒng)是“控制、、監(jiān)視或或者輔助助設(shè)備、、機器和和車間用用行的裝裝備”((原文文為devicesusedtocontrol,,orassisttheoperationofequipment,machineryorplants)。

目前國內(nèi)內(nèi)一個被被普遍認認同的定定義是::以應用用為中心心,以計計算機技技術(shù)為基基礎(chǔ),軟件件和硬件件可裁減減,以適適應應用用系統(tǒng)對對功能、、可靠性性、成本本、速度度、體積、功功耗嚴格格要求的的專用計計算機系系統(tǒng)。

可以認為為,嵌入入式系統(tǒng)統(tǒng)是一種種硬件和和軟件緊緊密耦合合在一起起的專用用計算機機系統(tǒng),作作為裝置置或設(shè)備備的一部部分。1.2嵌入式系系統(tǒng)發(fā)展展的四個個階段1、無操操作系統(tǒng)統(tǒng)階段;;2、簡單單操作系系統(tǒng)階段段;3、實時時操作系系統(tǒng)階段段;4、嵌入入式片上上系統(tǒng)((SystemonChip,,SoC)階段段。1.3嵌入式系系統(tǒng)的發(fā)發(fā)展現(xiàn)狀狀1.新新的微處處理器層層出不窮窮,精簡簡系統(tǒng)內(nèi)內(nèi)核,優(yōu)優(yōu)化關(guān)鍵鍵算法,,降低功功耗和硬硬件成本本。2.嵌嵌入式系系統(tǒng)的開開發(fā)成了了一項系系統(tǒng)工程程,開發(fā)發(fā)廠商不不僅要提提供嵌入入式軟硬硬件系統(tǒng)統(tǒng)本身,,同時還還要提供供強大的的硬件開開發(fā)工具具和軟件件支持包包。3.通通用計算算機上使使用的新新技術(shù)、、新觀念念開始逐逐步移植植到嵌入入式系統(tǒng)統(tǒng)中,嵌嵌入式軟軟件平臺臺得到進進一步完完善,基基本都能能提供更更加友好好的多媒媒體人機機交互界界面。4.各各種開源源的嵌入入式操作作系統(tǒng)((如μCLinux、μC/OS-II)迅速速發(fā)展,,目前已已經(jīng)形成成了能與與VxWorks、WindowsCE等嵌入入式操作作系統(tǒng)進進行有力力競爭的的局面。。5.網(wǎng)網(wǎng)絡(luò)化、、信息化化的要求求隨著Internet技技術(shù)的成成熟和帶帶寬的提提高而日日益突出出,以往往功能單單一的設(shè)設(shè)備功能能不再單單一,結(jié)結(jié)構(gòu)變得得更加復復雜,網(wǎng)網(wǎng)絡(luò)互連連成為必必然趨勢勢。1.4嵌入式系系統(tǒng)的組組成一個嵌入入式系統(tǒng)統(tǒng)裝置一一般是由由嵌入式式計算機機系統(tǒng)和和執(zhí)行裝裝置兩部部分組成成。嵌入入式計算算機系統(tǒng)統(tǒng)由硬件件層、中中間層、、系統(tǒng)軟軟件層和和應用軟軟件層組組成:硬件層硬件層由由嵌入式式核心控控制模塊塊和外圍圍設(shè)備接接口組成成。在嵌嵌入式處處理器基基礎(chǔ)上添添加電源源電路、、時鐘電電路、復復位電路路和存儲儲器電路路,就構(gòu)構(gòu)成一個個嵌入式式核心控控制模塊塊。硬件層結(jié)結(jié)構(gòu)示意意圖1.嵌入入式微處處理器嵌入式系系統(tǒng)硬件件層的核核心是嵌嵌入式微微處理器器,嵌入入式微處處理器大大多工作作在為特特定用戶戶群所專專門設(shè)計計的系統(tǒng)統(tǒng)中。嵌入式微微處理器器的體系系結(jié)構(gòu)可可以采用用馮?諾諾依曼體體系結(jié)構(gòu)構(gòu)或哈佛佛體系結(jié)結(jié)構(gòu);指指令系統(tǒng)統(tǒng)可以選選用精簡簡指令系系統(tǒng)(RISC)和復復雜指令令系統(tǒng)((CISC)。。2.存儲儲器存儲器是是用來存存放和執(zhí)執(zhí)行代碼碼。嵌入式系系統(tǒng)的存存儲器包包含Cache、主存存和輔助助存儲器器。3.通用用設(shè)備接接口和I/O接接口嵌入式系系統(tǒng)和外外界交互互需要一一定形式式的通用用設(shè)備接接口和I/O接接口。每每個外設(shè)設(shè)通常都都只有單單一的功功能,它它可以在在芯片外外也可以以內(nèi)置在在芯片中中。外設(shè)設(shè)的種類類很多,,可從一一個簡單單的串行行通信設(shè)設(shè)備到非非常復雜雜的802.11無線線設(shè)備。。中間層硬件層和和軟件層層之間為為中間層層,也稱稱為硬件件抽象層層或板級級支持包包。中間層一一般包含含相關(guān)底底層硬件件的初始始化、數(shù)數(shù)據(jù)的輸輸入/輸輸出操作作和硬件件設(shè)備的的配置等等功能。。中間層主主要完成成兩部分分工作::1、嵌入入式系統(tǒng)統(tǒng)硬件初初始化::系統(tǒng)初始始化過程程的3個個主要環(huán)環(huán)節(jié):片片級初始始化、板板級初始始化和系系統(tǒng)級初初始化。。2、硬件件相關(guān)的的設(shè)備驅(qū)驅(qū)動程序序:硬件相關(guān)關(guān)的設(shè)備備驅(qū)動程程序的初初始化通通常是一一個從高高到低的的過程。。設(shè)備驅(qū)驅(qū)動程序序通常不不直接由由BSP使用用,而是是在系統(tǒng)統(tǒng)初始化化過程中中由BSP將將他們與與操作系系統(tǒng)中通通用的設(shè)設(shè)備驅(qū)動動程序關(guān)關(guān)聯(lián)起來來,并在在隨后的的應用中中由通用用的設(shè)備備驅(qū)動程程序調(diào)用用,實現(xiàn)現(xiàn)對硬件件設(shè)備的的操作。。系統(tǒng)軟件件層系統(tǒng)軟件件層由實實時多任任務操作作系統(tǒng)((Real-timeOperationSystem,,RTOS)、、文件系系統(tǒng)、圖圖形用戶戶接口((GraphicUserInterface,GUI))、網(wǎng)絡(luò)絡(luò)系統(tǒng)及及通用組組件模塊塊組成,,如圖所所示。其其中RTOS是是其他所所有應用用軟件的的基礎(chǔ)和和開發(fā)平平臺。1.嵌入式式操作系系統(tǒng)嵌入式操操作系統(tǒng)統(tǒng)負責嵌嵌入系統(tǒng)統(tǒng)的全部部軟、硬硬件資源源的分配配、控制制、協(xié)調(diào)調(diào)、任務務調(diào)度等等活動。。2.文件系系統(tǒng)與通用操操作系統(tǒng)統(tǒng)下的文文件系統(tǒng)統(tǒng)相比,,嵌入式式文件系系統(tǒng)比較較簡單,,主要提提供文件件存儲、、文件屬屬性修改改和文件件目錄服服務等功功能。3.圖形用用戶接口口(GUI)GUI極極大地地方便了了非專業(yè)業(yè)用戶地地使用,,人們可可以通過過窗口、、菜單、、按鍵等等方式來來方便的的進行操操作。嵌嵌入式系系統(tǒng)的GUI具具有的的基本要要求:輕輕型、占占用資源源少、高高性能、、便于移移植、可可配置等等特點。。嵌入式系系統(tǒng)中的的圖形界界面,一一般采用用下面的的幾種方方法實現(xiàn)現(xiàn):①針對對特定的的圖形設(shè)設(shè)備輸出出接口,,自行開開發(fā)相應應的功能能函數(shù)。。②購買買針對特特定嵌入入式系統(tǒng)統(tǒng)的圖形形中間軟軟件包。。③采用用源碼開開放的嵌嵌入式GUI系系統(tǒng)。。應用軟件件層應用軟件件層是由由基于實實時操作作系統(tǒng)開開發(fā)的應應用程序序組成,,其作用用是實現(xiàn)現(xiàn)對被控控制對象象的控制制功能。。功能層層是面向向被控制制對象和和用戶的的,為方方便用戶戶操作,,往往需需要提供供一個友友好的人人機界面面。1.5嵌入式系系統(tǒng)實例例市場上現(xiàn)現(xiàn)在有許許多基于于ARM芯片研研制出來來的手機機產(chǎn)品,,如圖所所示。各各種智能能型手機機具有多多種多樣樣的功能能,如接接聽電話話、電話話薄、備備忘錄、、鬧鐘、、短消息息和游戲戲,甚至至可以瀏瀏覽網(wǎng)頁頁和收發(fā)發(fā)電子郵郵件等。。嵌入式產(chǎn)產(chǎn)品的研研發(fā)過程程大致分分為兩步步:硬件設(shè)計計:硬件是產(chǎn)產(chǎn)品賴以以存在的的基礎(chǔ)。。軟件設(shè)計計:軟件是其其靈魂。。1.硬件部分分硬件部分分的必需需部件::1)ARM處理器::ARM處理器有有很多種種,目前前包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、Secur-Core系列、Intel公司的StrongARM和Xscale等系列。。2)顯示設(shè)設(shè)備:顯示設(shè)備備采用灰灰度或彩彩色的液液晶模塊塊(LCD)。3)輸入設(shè)設(shè)備:輸入設(shè)備備可以采采用鍵盤盤,還可可以采用用觸摸屏屏。4)存儲設(shè)設(shè)備:通常情況況下,當當系統(tǒng)需需要管理理大量數(shù)數(shù)據(jù),而而這些數(shù)數(shù)據(jù)又分分為多種種類別且且需要分分別進行行處理時時,采用用文件系系統(tǒng)能夠夠簡化編編程,并并提高效效率。5)GPRS接口模塊塊:GPRS接口模塊塊能實現(xiàn)現(xiàn)手機與與GPRS網(wǎng)絡(luò)連接接,處理理器通過過GPRS接口模塊塊可以與與GPRS網(wǎng)絡(luò)上其其他的手手機進行行數(shù)據(jù)通通信。2.軟件部分分軟件部分分實際上上就是編編寫的程程序代碼碼。程序序代碼一一般由高高級語言言(如C/C+++))和處理理器專用用匯編指指令編寫寫而成,,經(jīng)過編編譯、鏈鏈接、重重定位,,最終成成為機器器代碼,,存放到到系統(tǒng)的的存儲器器中。軟件可分分為4個個層次,,從低到到高分別別為:1、硬件件驅(qū)動層層;2、操作作系統(tǒng)層層;3、系統(tǒng)統(tǒng)中間件件層;4、用戶戶應用層層。二、計算算機系統(tǒng)統(tǒng)的信息息表示方方式進位計數(shù)數(shù)制是一一種計數(shù)數(shù)的方法法,人們們最習慣慣用的是是十進制制計數(shù)法法。一個個任意的十十進制數(shù)數(shù)可以表表示為::1.1進位計數(shù)數(shù)制與轉(zhuǎn)轉(zhuǎn)換1.數(shù)制制系統(tǒng)anan-1…a0.b1b2…bm含意是::an×10n+an-1×10n-1+…++a0×100+b1×10-1+b2×10-2+…++bm×10-m其中ai,bj是0,1,2,,3,4,5,,6,7,8,,9十個個數(shù)碼中中的一個個。十進進制數(shù)的的基數(shù)為為10,,即其數(shù)數(shù)碼為0~9,,且遵循循逢十進進一的規(guī)規(guī)則。上上式中相相對于每每位數(shù)字字的10k稱為該位位數(shù)字的的權(quán),例例如:356..79==3×102+5××101+6××100+7××10-1+9××10-2計算機為為便于存存儲及物物理實現(xiàn)現(xiàn),采用用了二進進制。二二進制數(shù)數(shù)的基數(shù)數(shù)為2,,只有0,1兩兩個數(shù)碼碼,并遵遵循逢二二進一的的規(guī)則,,因此二二進制數(shù)數(shù)anan-1…a0.b1b2…bm的值是::an×2n+an-1×2n-1+…++a0×20+b1×2-1+b2×2-2+…++bm×2-m例如:1011012=1××25+1××23+1××22+1××20=4510其中數(shù)的的下標表表示該數(shù)數(shù)的基數(shù)數(shù)r,即即二進制制的101101與十十進制的的45等等值。再再比如::102=210,1012=510,1112=710,10112=1210進位計數(shù)制基數(shù)數(shù)碼十六進制數(shù)160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十進制數(shù)100,1,2,3,4,5,6,7,8,9八進制數(shù)80,1,2,3,4,5,6,7二進制數(shù)20,1在計算機機里:0x表示示十六進進制數(shù);;0b表示示二進制制數(shù)值。。常用的進進位計數(shù)數(shù)制的基基數(shù)和數(shù)數(shù)碼比如二進進制數(shù)0b101111::0b101111==1×25+0××24+1××23+1××22+1××21+1××20=32+8++4++2+1==47比如十六六進制數(shù)數(shù)0x20F:0x20F==2×162+0××161+F××160=512++15=527十進制數(shù)數(shù)轉(zhuǎn)換二二進制數(shù)數(shù)十進制數(shù)數(shù)轉(zhuǎn)換成成二進制制數(shù)的降降冪法。。因為:20=1,21=2,22=4,23=8,24=16,,25=32,,26=64,,27=128………。十進制數(shù)數(shù)29,,利用降降冪法29可以以寫成::29==16+8++4++1=1×24+1××23+1××22+0××21+1××20=0b11101二進制數(shù)數(shù)、十六六進制數(shù)數(shù)轉(zhuǎn)換十十進制數(shù)數(shù)二進制數(shù)數(shù)、十六六進制數(shù)數(shù)轉(zhuǎn)換成成十進制制數(shù)都比比較簡單單。2.數(shù)制之間間的轉(zhuǎn)換換二進制數(shù)數(shù)與十六六進制數(shù)數(shù)之間的的轉(zhuǎn)換十六進制制數(shù)中的的每一位位可以與與4位二二進制數(shù)數(shù)相對應應。二進制數(shù)十六進制數(shù)十進制數(shù)二進制數(shù)十六進制數(shù)十進制數(shù)0000001000880001111001990010221010A100011331011B110100441100C120101551101D130110661110E140111771111F15二進制數(shù)數(shù)、十進進制數(shù)與與十六進進制數(shù)之之間的數(shù)數(shù)碼轉(zhuǎn)換換表1.2計算機中中數(shù)的表表示二進制數(shù)數(shù)的運算算二進制數(shù)數(shù)之間具具有加、、減、乘乘、除四四則運算算,在ARM匯匯編語言言里都有有相對應應的匯編編指令完完成四則則運算。。加減規(guī)則則:0+0==00++1==1 1++0=11++1=0(進進位1))0-0==00––1==1((借位1)1--0=11-1==00b1001111++0b1000001=0b10010000;0b101--0b011==0b010。。加減法實實例:機器數(shù)的的表示1、數(shù)的原原碼表示示計算機中中的數(shù)是是用二進進制來表表示的,,數(shù)的符符號也是是用二進進制表示示的。把把一個數(shù)數(shù)連同其其符號在在內(nèi)在機機器中的的表示加加以數(shù)值值化,這這樣的數(shù)數(shù)稱為機機器數(shù)。。機器數(shù)常常用原碼碼、補碼碼和反碼碼表示法法來表示示。二進制位數(shù)8位16位32位字長1個字節(jié)1個半字1個字位數(shù)與字字長對應應關(guān)系2、數(shù)的補補碼表示示計算一個個負數(shù)的的補碼的的辦法::先寫出出與該負負數(shù)相對對應的正正數(shù)的原原碼表示示,然后后將其按按位求反反(即0變?yōu)?,1變變?yōu)?)),最后后在末位位(最低低位)加加1,就就可以得得到該負負數(shù)的補補碼表示示了。機器字長長為8位位,N==-52的補碼碼表示+52原碼表示 0b00110100按位求反后為 0b11001011末位加1后為 0b11001100用十六進制數(shù)表示 0xCC即[-52]補=0xCC機器字長長為16位,N=--52的補碼碼表示+52原碼表表示0b0000000000110100按位求反反后為0b1111111111001011末位加1后為0b1111111111001100用十六進進制數(shù)表表示0xFFCC即[-52]補=0xFFCC3、補碼加加減運算算例假設(shè)設(shè)機器字字長為8位,已已知[--23]]補=0b11101001?,F(xiàn)在在對[--23]]補求補兩次次:[-23]補為0b11101001求補一次次得0b00010111再求補一一次得0b11101001對[-23]補補求補兩兩次之后后其結(jié)果果等于本本身,求求補一次次得到的的結(jié)果恰恰好是[[23]]補,這這一特性性在讀者者計算二二進制補補碼所代代表十進進制值時時很有幫幫助。比比如,給給定一個個二進制制補碼0b11001101,,下面計計算所代代表的十十進制值值:0b11001101求求補一次次:0b001100110b00110011==[[51]]補。所以0b11001101==[--51]]補。字符表示示法計算機中中字符包包括:字母:A、B、…、Z,a、b、…、z;數(shù)字:0、1、…、9;專用字符符:+、-、*、/、%、…;非打印字字符:BEL((Bell響鈴)、LF(LineFeed換行)、CR(CarriageReturn回車)、…。字符在機機器里必必須用二二進制數(shù)數(shù)來表示示,目前前比較普普遍采用用的是美美國信息息交換標標準代碼碼ASCII((AmericanStandardCodeforInformationInterchange))表示法法。部分常用用的ASCII值。機器數(shù)表表示小結(jié)結(jié)在計算機機中,要要處理的的數(shù)可以以分為兩兩類:無無符號數(shù)數(shù)和有符符號數(shù)。。1、無符符號數(shù)在計算機機中,表表示地址址的數(shù)((地址指指針)、、字符、、用前綴綴unsigned定定義的C語言變變量等等等都是無無符號數(shù)數(shù)。2、有符符號數(shù)有符號數(shù)數(shù)在計算算機中除除了要表表達該數(shù)數(shù)的絕對對值大小小外,還還要表達達該數(shù)的的正負號號。機器數(shù)表表示中用用最高有有效位保保存該數(shù)數(shù)的正負負號,其其他位保保存該數(shù)數(shù)的絕對對值大小小。1.3基本的邏邏輯運算算1、““與”運運算(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論