版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM72022/12/18第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM72022/12/14第一章嵌1內(nèi)容簡介《ARM嵌入式應(yīng)用技術(shù)基礎(chǔ)》從基本概念和原理入手,循序漸進地講解了嵌入式系統(tǒng)基礎(chǔ)、ARM處理器基礎(chǔ)、ARM7指令系統(tǒng)、程序設(shè)計、ADS編譯環(huán)境和初始化代碼等各項基礎(chǔ)知識,幫助讀者成功地掌ARM應(yīng)用基礎(chǔ)。本套教材構(gòu)成:
入門篇 《ARM嵌入式應(yīng)用技術(shù)基礎(chǔ)》 提高篇 《ARM嵌入式接口技術(shù)應(yīng)用》 實戰(zhàn)篇 《ARM嵌入式應(yīng)用實戰(zhàn)》第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7內(nèi)容簡介《ARM嵌入式應(yīng)用技術(shù)基礎(chǔ)》從基本概念和原理入手,循2章節(jié)目錄第一章嵌入式系統(tǒng)基礎(chǔ)知識第二章ARM處理器基礎(chǔ)第三章ARM的指令系統(tǒng)第四章ARM的編程技術(shù)第五章四個操作范例第六章ADS1.2開發(fā)工具的使用第七章AXD調(diào)試工具的使用第八章初始化代碼研究第九章LPC2220(ARM7)處理器第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7章節(jié)目錄第一章嵌入式系統(tǒng)基礎(chǔ)知識第一章嵌入式系統(tǒng)基礎(chǔ)知3第一章嵌入式系統(tǒng)基礎(chǔ)知識一、認識嵌入式系統(tǒng)二、計算機系統(tǒng)的信息表示方式三、本節(jié)附錄第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7第一章嵌入式系統(tǒng)基礎(chǔ)知識一、認識嵌入式系統(tǒng)第一章嵌入式系統(tǒng)4一、認識嵌入式系統(tǒng)
以數(shù)字科技為基礎(chǔ),計算機科學技術(shù)為框架的嵌入式系統(tǒng)目前已普遍應(yīng)用于工業(yè)控制系統(tǒng)、信息家電、通信設(shè)備、醫(yī)療設(shè)備、智能儀器儀表等眾多領(lǐng)域:第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7一、認識嵌入式系統(tǒng) 以數(shù)字科技為基礎(chǔ),計算機科學技術(shù)為框架的51.1嵌入式系統(tǒng)的定義根據(jù)IEEE(國際電氣和電子工程師協(xié)會)的定義,嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助設(shè)備、機器和車間用行的裝備”(原文為devicesusedtocontrol,orassisttheoperationofequipment,machineryorplants)。
目前國內(nèi)一個被普遍認同的定義是:以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件和硬件可裁減,以適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、速度、體積、功耗嚴格要求的專用計算機系統(tǒng)。
可以認為,嵌入式系統(tǒng)是一種硬件和軟件緊密耦合在一起的專用計算機系統(tǒng),作為裝置或設(shè)備的一部分。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.1嵌入式系統(tǒng)的定義根據(jù)IEEE(國際電氣和電子工程師協(xié)61.2嵌入式系統(tǒng)發(fā)展的四個階段1、無操作系統(tǒng)階段;2、簡單操作系統(tǒng)階段;3、實時操作系統(tǒng)階段;4、嵌入式片上系統(tǒng)(SystemonChip,SoC)階段。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.2嵌入式系統(tǒng)發(fā)展的四個階段1、無操作系統(tǒng)階段;第一章嵌71.3嵌入式系統(tǒng)的發(fā)展現(xiàn)狀
1.新的微處理器層出不窮,精簡系統(tǒng)內(nèi)核,優(yōu)化關(guān)鍵算法,降低功耗和硬件成本。2.嵌入式系統(tǒng)的開發(fā)成了一項系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時還要提供強大的硬件開發(fā)工具和軟件支持包。3.通用計算機上使用的新技術(shù)、新觀念開始逐步移植到嵌入式系統(tǒng)中,嵌入式軟件平臺得到進一步完善,基本都能提供更加友好的多媒體人機交互界面。4.各種開源的嵌入式操作系統(tǒng)(如μCLinux、μC/OS-II)迅速發(fā)展,目前已經(jīng)形成了能與VxWorks、WindowsCE等嵌入式操作系統(tǒng)進行有力競爭的局面。5.網(wǎng)絡(luò)化、信息化的要求隨著Internet技術(shù)的成熟和帶寬的提高而日益突出,以往功能單一的設(shè)備功能不再單一,結(jié)構(gòu)變得更加復(fù)雜,網(wǎng)絡(luò)互連成為必然趨勢。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.3嵌入式系統(tǒng)的發(fā)展現(xiàn)狀1.新的微處理器層出不窮,精81.4嵌入式系統(tǒng)的組成
一個嵌入式系統(tǒng)裝置一般是由嵌入式計算機系統(tǒng)和執(zhí)行裝置兩部分組成。嵌入式計算機系統(tǒng)由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成:第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.4嵌入式系統(tǒng)的組成一個嵌入式系統(tǒng)裝置一般是由嵌入式計9硬件層
硬件層由嵌入式核心控制模塊和外圍設(shè)備接口組成。在嵌入式處理器基礎(chǔ)上添加電源電路、時鐘電路、復(fù)位電路和存儲器電路,就構(gòu)成一個嵌入式核心控制模塊。硬件層結(jié)構(gòu)示意圖第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7硬件層硬件層由嵌入式核心控制模塊和外圍設(shè)備接口101.嵌入式微處理器嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌入式微處理器大多工作在為特定用戶群所專門設(shè)計的系統(tǒng)中。嵌入式微處理器的體系結(jié)構(gòu)可以采用馮?諾依曼體系結(jié)構(gòu)或哈佛體系結(jié)構(gòu);指令系統(tǒng)可以選用精簡指令系統(tǒng)(RISC)和復(fù)雜指令系統(tǒng)(CISC)。2.存儲器存儲器是用來存放和執(zhí)行代碼。嵌入式系統(tǒng)的存儲器包含Cache、主存和輔助存儲器。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.嵌入式微處理器嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌113.通用設(shè)備接口和I/O接口嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口和I/O接口。每個外設(shè)通常都只有單一的功能,它可以在芯片外也可以內(nèi)置在芯片中。外設(shè)的種類很多,可從一個簡單的串行通信設(shè)備到非常復(fù)雜的802.11無線設(shè)備。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM73.通用設(shè)備接口和I/O接口嵌入式系統(tǒng)和外界交互12中間層 硬件層和軟件層之間為中間層,也稱為硬件抽象層或板級支持包。 中間層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置等功能。 中間層主要完成兩部分工作: 1、嵌入式系統(tǒng)硬件初始化:系統(tǒng)初始化過程的3個主要環(huán)節(jié):片級初始化、板級初始化和系統(tǒng)級初始化。 2、硬件相關(guān)的設(shè)備驅(qū)動程序: 硬件相關(guān)的設(shè)備驅(qū)動程序的初始化通常是一個從高到低的過程。設(shè)備驅(qū)動程序通常不直接由BSP使用,而是在系統(tǒng)初始化過程中由BSP將他們與操作系統(tǒng)中通用的設(shè)備驅(qū)動程序關(guān)聯(lián)起來,并在隨后的應(yīng)用中由通用的設(shè)備驅(qū)動程序調(diào)用,實現(xiàn)對硬件設(shè)備的操作。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7中間層 硬件層和軟件層之間為中間層,也稱為硬件抽象層或板級13系統(tǒng)軟件層
系統(tǒng)軟件層由實時多任務(wù)操作系統(tǒng)(Real-timeOperationSystem,RTOS)、文件系統(tǒng)、圖形用戶接口(GraphicUserInterface,GUI)、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成,如圖所示。其中RTOS是其他所有應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7系統(tǒng)軟件層系統(tǒng)軟件層由實時多任務(wù)操作系統(tǒng)(Real-tim141.嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)負責嵌入系統(tǒng)的全部軟、硬件資源的分配、控制、協(xié)調(diào)、任務(wù)調(diào)度等活動。2.文件系統(tǒng)與通用操作系統(tǒng)下的文件系統(tǒng)相比,嵌入式文件系統(tǒng)比較簡單,主要提供文件存儲、文件屬性修改和文件目錄服務(wù)等功能。3.圖形用戶接口(GUI)GUI極大地方便了非專業(yè)用戶地使用,人們可以通過窗口、菜單、按鍵等方式來方便的進行操作。嵌入式系統(tǒng)的GUI具有的基本要求:輕型、占用資源少、高性能、便于移植、可配置等特點。嵌入式系統(tǒng)中的圖形界面,一般采用下面的幾種方法實現(xiàn): ①針對特定的圖形設(shè)備輸出接口,自行開發(fā)相應(yīng)的功能函數(shù)。 ②購買針對特定嵌入式系統(tǒng)的圖形中間軟件包。 ③采用源碼開放的嵌入式GUI系統(tǒng)。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.嵌入式操作系統(tǒng)第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM715應(yīng)用軟件層
應(yīng)用軟件層是由基于實時操作系統(tǒng)開發(fā)的應(yīng)用程序組成,其作用是實現(xiàn)對被控制對象的控制功能。功能層是面向被控制對象和用戶的,為方便用戶操作,往往需要提供一個友好的人機界面。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7應(yīng)用軟件層應(yīng)用軟件層是由基于實時操作系統(tǒng)開發(fā)的應(yīng)161.5嵌入式系統(tǒng)實例
市場上現(xiàn)在有許多基于ARM芯片研制出來的手機產(chǎn)品,如圖所示。各種智能型手機具有多種多樣的功能,如接聽電話、電話薄、備忘錄、鬧鐘、短消息和游戲,甚至可以瀏覽網(wǎng)頁和收發(fā)電子郵件等。嵌入式產(chǎn)品的研發(fā)過程大致分為兩步:硬件設(shè)計:硬件是產(chǎn)品賴以存在的基礎(chǔ)。軟件設(shè)計:軟件是其靈魂。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.5嵌入式系統(tǒng)實例市場上現(xiàn)在有許多基于ARM芯片研制出171.硬件部分硬件部分的必需部件:1)ARM處理器:ARM處理器有很多種,目前包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、Secur-Core系列、Intel公司的StrongARM和Xscale等系列。2)顯示設(shè)備:顯示設(shè)備采用灰度或彩色的液晶模塊(LCD)。3)輸入設(shè)備:輸入設(shè)備可以采用鍵盤,還可以采用觸摸屏。4)存儲設(shè)備:通常情況下,當系統(tǒng)需要管理大量數(shù)據(jù),而這些數(shù)據(jù)又分為多種類別且需要分別進行處理時,采用文件系統(tǒng)能夠簡化編程,并提高效率。5)GPRS接口模塊:GPRS接口模塊能實現(xiàn)手機與GPRS網(wǎng)絡(luò)連接,處理器通過GPRS接口模塊可以與GPRS網(wǎng)絡(luò)上其他的手機進行數(shù)據(jù)通信。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.硬件部分硬件部分的必需部件:第一章嵌入式系統(tǒng)基礎(chǔ)知識AR182.軟件部分
軟件部分實際上就是編寫的程序代碼。程序代碼一般由高級語言(如C/C++)和處理器專用匯編指令編寫而成,經(jīng)過編譯、鏈接、重定位,最終成為機器代碼,存放到系統(tǒng)的存儲器中。軟件可分為4個層次,從低到高分別為: 1、硬件驅(qū)動層; 2、操作系統(tǒng)層; 3、系統(tǒng)中間件層; 4、用戶應(yīng)用層。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM72.軟件部分軟件部分實際上就是編寫的程序代碼。程序代碼一般19二、計算機系統(tǒng)的信息表示方式進位計數(shù)制是一種計數(shù)的方法,人們最習慣用的是十進制計數(shù)法。一個任意的十進制數(shù)可以表示為:1.1進位計數(shù)制與轉(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ù)碼為0~9,且遵循逢十進一的規(guī)則。上式中相對于每位數(shù)字的10k稱為該位數(shù)字的權(quán),例如:356.79=3×102+5×101+6×100+7×10-1+9×10-2
第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7二、計算機系統(tǒng)的信息表示方式進位計數(shù)制是一種計數(shù)的方法,人們20計算機為便于存儲及物理實現(xiàn),采用了二進制。二進制數(shù)的基數(shù)為2,只有0,1兩個數(shù)碼,并遵循逢二進一的規(guī)則,因此二進制數(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ù)r,即二進制的101101與十進制的45等值。再比如:102=210,1012=510,1112=710,10112=1210第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7計算機為便于存儲及物理實現(xiàn),采用了二進制。二進制數(shù)的基數(shù)為221進位計數(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ù)碼第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7進位計數(shù)制基數(shù)數(shù)碼十六進制數(shù)160,1,2,3,4,5,6,22比如二進制數(shù)0b101111:0b101111=1×25+0×24+1×23+1×22+1×21+1×20=32+8+4+2+1=47比如十六進制數(shù)0x20F:0x20F=2×162+0×161+F×160=512+15=527十進制數(shù)轉(zhuǎn)換二進制數(shù)十進制數(shù)轉(zhuǎn)換成二進制數(shù)的降冪法。因為:20=1,21=2,22=4,23=8,24=16,25=32,26=64,27=128……。十進制數(shù)29,利用降冪法29可以寫成:29=16+8+4+1=1×24+1×23+1×22+0×21+1×20=0b11101二進制數(shù)、十六進制數(shù)轉(zhuǎn)換十進制數(shù)
二進制數(shù)、十六進制數(shù)轉(zhuǎn)換成十進制數(shù)都比較簡單。2.數(shù)制之間的轉(zhuǎn)換第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7比如二進制數(shù)0b101111:0b101111=1×23二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)換
十六進制數(shù)中的每一位可以與4位二進制數(shù)相對應(yīng)。二進制數(shù)十六進制數(shù)十進制數(shù)二進制數(shù)十六進制數(shù)十進制數(shù)0000001000880001111001990010221010A100011331011B110100441100C120101551101D130110661110E140111771111F15二進制數(shù)、十進制數(shù)與十六進制數(shù)之間的數(shù)碼轉(zhuǎn)換表第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)換十六進制數(shù)中的每一位可以與4241.2計算機中數(shù)的表示
二進制數(shù)的運算
二進制數(shù)之間具有加、減、乘、除四則運算,在ARM匯編語言里都有相對應(yīng)的匯編指令完成四則運算。加減規(guī)則:0+0=0 0+1=1 1+0=11+1=0(進位1)0-0=0 0–1=1(借位1)1-0=1 1-1=00b1001111+0b1000001=0b10010000;0b101-0b011=0b010。加減法實例:第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.2計算機中數(shù)的表示二進制數(shù)的運算二進制數(shù)之間具有加25機器數(shù)的表示1、數(shù)的原碼表示計算機中的數(shù)是用二進制來表示的,數(shù)的符號也是用二進制表示的。把一個數(shù)連同其符號在內(nèi)在機器中的表示加以數(shù)值化,這樣的數(shù)稱為機器數(shù)。機器數(shù)常用原碼、補碼和反碼表示法來表示。二進制位數(shù)8位16位32位字長1個字節(jié)1個半字1個字位數(shù)與字長對應(yīng)關(guān)系
第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7機器數(shù)的表示1、數(shù)的原碼表示計算機中的數(shù)是用二進262、數(shù)的補碼表示計算一個負數(shù)的補碼的辦法:先寫出與該負數(shù)相對應(yīng)的正數(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]補=0xFFCC第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM72、數(shù)的補碼表示計算一個負數(shù)的補碼的辦法:先寫出與該負數(shù)相對273、補碼加減運算例假設(shè)機器字長為8位,已知[-23]補=0b11101001?,F(xiàn)在對[-23]補求補兩次:[-23]補為 0b11101001求補一次得 0b00010111再求補一次得 0b11101001對[-23]補求補兩次之后其結(jié)果等于本身,求補一次得到的結(jié)果恰好是[23]補,這一特性在讀者計算二進制補碼所代表十進制值時很有幫助。比如,給定一個二進制補碼0b11001101,下面計算所代表的十進制值:0b11001101求補一次:0b001100110b00110011=[51]補。所以0b11001101=[-51]補。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM73、補碼加減運算例假設(shè)機器字長為8位,已知[-23]補=028字符表示法
計算機中字符包括:字母:A、B、…、Z,a、b、…、z;數(shù)字:0、1、…、9;專用字符:+、-、*、/、%、…;非打印字符:BEL(Bell響鈴)、LF(LineFeed換行)、CR(CarriageReturn回車)、…。字符在機器里必須用二進制數(shù)來表示,目前比較普遍采用的是美國信息交換標準代碼ASCII(AmericanStandardCodeforInformationInterchange)表示法。部分常用的ASCII值。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7字符表示法計算機中字符包括:第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM29第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM730機器數(shù)表示小結(jié)
在計算機中,要處理的數(shù)可以分為兩類:無符號數(shù)和有符號數(shù)。1、無符號數(shù)
在計算機中,表示地址的數(shù)(地址指針)、字符、用前綴unsigned定義的C語言變量等等都是無符號數(shù)。2、有符號數(shù)有符號數(shù)在計算機中除了要表達該數(shù)的絕對值大小外,還要表達該數(shù)的正負號。機器數(shù)表示中用最高有效位保存該數(shù)的正負號,其他位保存該數(shù)的絕對值大小。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7機器數(shù)表示小結(jié)在計算機中,要處理的數(shù)可以分為兩類:無符號數(shù)311.3基本的邏輯運算
1、“與”運算(AND)“與”運算又稱邏輯乘,可用符號&來表示。只有當A、B兩個變量的取值均為1時,它們的“與”運算的結(jié)果才是1。2、“或”運算(ORR)“或”運算又稱邏輯加,可用符號|來表示即A、B兩個變量中只要有一個變量取值為1,則它們“或”運算的結(jié)果就是1。3、“非”運算“非”運算可用符號~來表示?!且粋€單元運算符,用來對一個二進制數(shù)按位取反。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.3基本的邏輯運算1、“與”運算(AND)“與324、“異或”運算(EORExclusive-OR)“異或”運算可用符號∧來表示,即當兩個變量的取值相異時,它們的“異或”運算結(jié)果為1。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM74、“異或”運算(EORExclusive-OR)33三、本節(jié)附錄1、十進制系統(tǒng)十進制由10個符號或數(shù)字組成:0、1、2、3、4、5、6、7、8、9使用這些數(shù)字,我們可以表示任何數(shù)量。2、二進制系統(tǒng)在二進制系統(tǒng)里,僅有兩種符號或可能的數(shù)位取值:0和1。3、八進制系統(tǒng)八進制系統(tǒng)的基數(shù)是8,有8個數(shù)字:0、1、2、3、4、5、6、7。4、十六進制系統(tǒng)十六進制使用16為基,它有16個數(shù)字和字符,它使用0~9的數(shù)字加上字母A、B、C、D、E、F作為16個數(shù)字符號。進制系統(tǒng)詳述第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7三、本節(jié)附錄1、十進制系統(tǒng)進制系統(tǒng)詳述第一章嵌入式系統(tǒng)基礎(chǔ)知341.1二進制系統(tǒng)的乘除運算
1、乘法運算二進制相乘類似于10進制相乘。事實上更簡單,因為二進制除了0就是1,沒有別的數(shù)字。十進制的9×11用二進制表示:第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.1二進制系統(tǒng)的乘除運算1、乘法運算二進制相乘類似于135演講完畢,謝謝聽講!再見,seeyouagain3rew2022/12/18第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7演講完畢,謝謝聽講!再見,seeyouagain3rew36第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM72022/12/18第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM72022/12/14第一章嵌37內(nèi)容簡介《ARM嵌入式應(yīng)用技術(shù)基礎(chǔ)》從基本概念和原理入手,循序漸進地講解了嵌入式系統(tǒng)基礎(chǔ)、ARM處理器基礎(chǔ)、ARM7指令系統(tǒng)、程序設(shè)計、ADS編譯環(huán)境和初始化代碼等各項基礎(chǔ)知識,幫助讀者成功地掌ARM應(yīng)用基礎(chǔ)。本套教材構(gòu)成:
入門篇 《ARM嵌入式應(yīng)用技術(shù)基礎(chǔ)》 提高篇 《ARM嵌入式接口技術(shù)應(yīng)用》 實戰(zhàn)篇 《ARM嵌入式應(yīng)用實戰(zhàn)》第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7內(nèi)容簡介《ARM嵌入式應(yīng)用技術(shù)基礎(chǔ)》從基本概念和原理入手,循38章節(jié)目錄第一章嵌入式系統(tǒng)基礎(chǔ)知識第二章ARM處理器基礎(chǔ)第三章ARM的指令系統(tǒng)第四章ARM的編程技術(shù)第五章四個操作范例第六章ADS1.2開發(fā)工具的使用第七章AXD調(diào)試工具的使用第八章初始化代碼研究第九章LPC2220(ARM7)處理器第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7章節(jié)目錄第一章嵌入式系統(tǒng)基礎(chǔ)知識第一章嵌入式系統(tǒng)基礎(chǔ)知39第一章嵌入式系統(tǒng)基礎(chǔ)知識一、認識嵌入式系統(tǒng)二、計算機系統(tǒng)的信息表示方式三、本節(jié)附錄第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7第一章嵌入式系統(tǒng)基礎(chǔ)知識一、認識嵌入式系統(tǒng)第一章嵌入式系統(tǒng)40一、認識嵌入式系統(tǒng)
以數(shù)字科技為基礎(chǔ),計算機科學技術(shù)為框架的嵌入式系統(tǒng)目前已普遍應(yīng)用于工業(yè)控制系統(tǒng)、信息家電、通信設(shè)備、醫(yī)療設(shè)備、智能儀器儀表等眾多領(lǐng)域:第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7一、認識嵌入式系統(tǒng) 以數(shù)字科技為基礎(chǔ),計算機科學技術(shù)為框架的411.1嵌入式系統(tǒng)的定義根據(jù)IEEE(國際電氣和電子工程師協(xié)會)的定義,嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助設(shè)備、機器和車間用行的裝備”(原文為devicesusedtocontrol,orassisttheoperationofequipment,machineryorplants)。
目前國內(nèi)一個被普遍認同的定義是:以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件和硬件可裁減,以適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、速度、體積、功耗嚴格要求的專用計算機系統(tǒng)。
可以認為,嵌入式系統(tǒng)是一種硬件和軟件緊密耦合在一起的專用計算機系統(tǒng),作為裝置或設(shè)備的一部分。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.1嵌入式系統(tǒng)的定義根據(jù)IEEE(國際電氣和電子工程師協(xié)421.2嵌入式系統(tǒng)發(fā)展的四個階段1、無操作系統(tǒng)階段;2、簡單操作系統(tǒng)階段;3、實時操作系統(tǒng)階段;4、嵌入式片上系統(tǒng)(SystemonChip,SoC)階段。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.2嵌入式系統(tǒng)發(fā)展的四個階段1、無操作系統(tǒng)階段;第一章嵌431.3嵌入式系統(tǒng)的發(fā)展現(xiàn)狀
1.新的微處理器層出不窮,精簡系統(tǒng)內(nèi)核,優(yōu)化關(guān)鍵算法,降低功耗和硬件成本。2.嵌入式系統(tǒng)的開發(fā)成了一項系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時還要提供強大的硬件開發(fā)工具和軟件支持包。3.通用計算機上使用的新技術(shù)、新觀念開始逐步移植到嵌入式系統(tǒng)中,嵌入式軟件平臺得到進一步完善,基本都能提供更加友好的多媒體人機交互界面。4.各種開源的嵌入式操作系統(tǒng)(如μCLinux、μC/OS-II)迅速發(fā)展,目前已經(jīng)形成了能與VxWorks、WindowsCE等嵌入式操作系統(tǒng)進行有力競爭的局面。5.網(wǎng)絡(luò)化、信息化的要求隨著Internet技術(shù)的成熟和帶寬的提高而日益突出,以往功能單一的設(shè)備功能不再單一,結(jié)構(gòu)變得更加復(fù)雜,網(wǎng)絡(luò)互連成為必然趨勢。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.3嵌入式系統(tǒng)的發(fā)展現(xiàn)狀1.新的微處理器層出不窮,精441.4嵌入式系統(tǒng)的組成
一個嵌入式系統(tǒng)裝置一般是由嵌入式計算機系統(tǒng)和執(zhí)行裝置兩部分組成。嵌入式計算機系統(tǒng)由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成:第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.4嵌入式系統(tǒng)的組成一個嵌入式系統(tǒng)裝置一般是由嵌入式計45硬件層
硬件層由嵌入式核心控制模塊和外圍設(shè)備接口組成。在嵌入式處理器基礎(chǔ)上添加電源電路、時鐘電路、復(fù)位電路和存儲器電路,就構(gòu)成一個嵌入式核心控制模塊。硬件層結(jié)構(gòu)示意圖第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7硬件層硬件層由嵌入式核心控制模塊和外圍設(shè)備接口461.嵌入式微處理器嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌入式微處理器大多工作在為特定用戶群所專門設(shè)計的系統(tǒng)中。嵌入式微處理器的體系結(jié)構(gòu)可以采用馮?諾依曼體系結(jié)構(gòu)或哈佛體系結(jié)構(gòu);指令系統(tǒng)可以選用精簡指令系統(tǒng)(RISC)和復(fù)雜指令系統(tǒng)(CISC)。2.存儲器存儲器是用來存放和執(zhí)行代碼。嵌入式系統(tǒng)的存儲器包含Cache、主存和輔助存儲器。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.嵌入式微處理器嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌473.通用設(shè)備接口和I/O接口嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口和I/O接口。每個外設(shè)通常都只有單一的功能,它可以在芯片外也可以內(nèi)置在芯片中。外設(shè)的種類很多,可從一個簡單的串行通信設(shè)備到非常復(fù)雜的802.11無線設(shè)備。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM73.通用設(shè)備接口和I/O接口嵌入式系統(tǒng)和外界交互48中間層 硬件層和軟件層之間為中間層,也稱為硬件抽象層或板級支持包。 中間層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置等功能。 中間層主要完成兩部分工作: 1、嵌入式系統(tǒng)硬件初始化:系統(tǒng)初始化過程的3個主要環(huán)節(jié):片級初始化、板級初始化和系統(tǒng)級初始化。 2、硬件相關(guān)的設(shè)備驅(qū)動程序: 硬件相關(guān)的設(shè)備驅(qū)動程序的初始化通常是一個從高到低的過程。設(shè)備驅(qū)動程序通常不直接由BSP使用,而是在系統(tǒng)初始化過程中由BSP將他們與操作系統(tǒng)中通用的設(shè)備驅(qū)動程序關(guān)聯(lián)起來,并在隨后的應(yīng)用中由通用的設(shè)備驅(qū)動程序調(diào)用,實現(xiàn)對硬件設(shè)備的操作。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7中間層 硬件層和軟件層之間為中間層,也稱為硬件抽象層或板級49系統(tǒng)軟件層
系統(tǒng)軟件層由實時多任務(wù)操作系統(tǒng)(Real-timeOperationSystem,RTOS)、文件系統(tǒng)、圖形用戶接口(GraphicUserInterface,GUI)、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成,如圖所示。其中RTOS是其他所有應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7系統(tǒng)軟件層系統(tǒng)軟件層由實時多任務(wù)操作系統(tǒng)(Real-tim501.嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)負責嵌入系統(tǒng)的全部軟、硬件資源的分配、控制、協(xié)調(diào)、任務(wù)調(diào)度等活動。2.文件系統(tǒng)與通用操作系統(tǒng)下的文件系統(tǒng)相比,嵌入式文件系統(tǒng)比較簡單,主要提供文件存儲、文件屬性修改和文件目錄服務(wù)等功能。3.圖形用戶接口(GUI)GUI極大地方便了非專業(yè)用戶地使用,人們可以通過窗口、菜單、按鍵等方式來方便的進行操作。嵌入式系統(tǒng)的GUI具有的基本要求:輕型、占用資源少、高性能、便于移植、可配置等特點。嵌入式系統(tǒng)中的圖形界面,一般采用下面的幾種方法實現(xiàn): ①針對特定的圖形設(shè)備輸出接口,自行開發(fā)相應(yīng)的功能函數(shù)。 ②購買針對特定嵌入式系統(tǒng)的圖形中間軟件包。 ③采用源碼開放的嵌入式GUI系統(tǒng)。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.嵌入式操作系統(tǒng)第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM751應(yīng)用軟件層
應(yīng)用軟件層是由基于實時操作系統(tǒng)開發(fā)的應(yīng)用程序組成,其作用是實現(xiàn)對被控制對象的控制功能。功能層是面向被控制對象和用戶的,為方便用戶操作,往往需要提供一個友好的人機界面。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7應(yīng)用軟件層應(yīng)用軟件層是由基于實時操作系統(tǒng)開發(fā)的應(yīng)521.5嵌入式系統(tǒng)實例
市場上現(xiàn)在有許多基于ARM芯片研制出來的手機產(chǎn)品,如圖所示。各種智能型手機具有多種多樣的功能,如接聽電話、電話薄、備忘錄、鬧鐘、短消息和游戲,甚至可以瀏覽網(wǎng)頁和收發(fā)電子郵件等。嵌入式產(chǎn)品的研發(fā)過程大致分為兩步:硬件設(shè)計:硬件是產(chǎn)品賴以存在的基礎(chǔ)。軟件設(shè)計:軟件是其靈魂。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.5嵌入式系統(tǒng)實例市場上現(xiàn)在有許多基于ARM芯片研制出531.硬件部分硬件部分的必需部件:1)ARM處理器:ARM處理器有很多種,目前包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、Secur-Core系列、Intel公司的StrongARM和Xscale等系列。2)顯示設(shè)備:顯示設(shè)備采用灰度或彩色的液晶模塊(LCD)。3)輸入設(shè)備:輸入設(shè)備可以采用鍵盤,還可以采用觸摸屏。4)存儲設(shè)備:通常情況下,當系統(tǒng)需要管理大量數(shù)據(jù),而這些數(shù)據(jù)又分為多種類別且需要分別進行處理時,采用文件系統(tǒng)能夠簡化編程,并提高效率。5)GPRS接口模塊:GPRS接口模塊能實現(xiàn)手機與GPRS網(wǎng)絡(luò)連接,處理器通過GPRS接口模塊可以與GPRS網(wǎng)絡(luò)上其他的手機進行數(shù)據(jù)通信。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.硬件部分硬件部分的必需部件:第一章嵌入式系統(tǒng)基礎(chǔ)知識AR542.軟件部分
軟件部分實際上就是編寫的程序代碼。程序代碼一般由高級語言(如C/C++)和處理器專用匯編指令編寫而成,經(jīng)過編譯、鏈接、重定位,最終成為機器代碼,存放到系統(tǒng)的存儲器中。軟件可分為4個層次,從低到高分別為: 1、硬件驅(qū)動層; 2、操作系統(tǒng)層; 3、系統(tǒng)中間件層; 4、用戶應(yīng)用層。第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM72.軟件部分軟件部分實際上就是編寫的程序代碼。程序代碼一般55二、計算機系統(tǒng)的信息表示方式進位計數(shù)制是一種計數(shù)的方法,人們最習慣用的是十進制計數(shù)法。一個任意的十進制數(shù)可以表示為:1.1進位計數(shù)制與轉(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ù)碼為0~9,且遵循逢十進一的規(guī)則。上式中相對于每位數(shù)字的10k稱為該位數(shù)字的權(quán),例如:356.79=3×102+5×101+6×100+7×10-1+9×10-2
第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7二、計算機系統(tǒng)的信息表示方式進位計數(shù)制是一種計數(shù)的方法,人們56計算機為便于存儲及物理實現(xiàn),采用了二進制。二進制數(shù)的基數(shù)為2,只有0,1兩個數(shù)碼,并遵循逢二進一的規(guī)則,因此二進制數(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ù)r,即二進制的101101與十進制的45等值。再比如:102=210,1012=510,1112=710,10112=1210第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7計算機為便于存儲及物理實現(xiàn),采用了二進制。二進制數(shù)的基數(shù)為257進位計數(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ù)碼第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7進位計數(shù)制基數(shù)數(shù)碼十六進制數(shù)160,1,2,3,4,5,6,58比如二進制數(shù)0b101111:0b101111=1×25+0×24+1×23+1×22+1×21+1×20=32+8+4+2+1=47比如十六進制數(shù)0x20F:0x20F=2×162+0×161+F×160=512+15=527十進制數(shù)轉(zhuǎn)換二進制數(shù)十進制數(shù)轉(zhuǎn)換成二進制數(shù)的降冪法。因為:20=1,21=2,22=4,23=8,24=16,25=32,26=64,27=128……。十進制數(shù)29,利用降冪法29可以寫成:29=16+8+4+1=1×24+1×23+1×22+0×21+1×20=0b11101二進制數(shù)、十六進制數(shù)轉(zhuǎn)換十進制數(shù)
二進制數(shù)、十六進制數(shù)轉(zhuǎn)換成十進制數(shù)都比較簡單。2.數(shù)制之間的轉(zhuǎn)換第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7比如二進制數(shù)0b101111:0b101111=1×59二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)換
十六進制數(shù)中的每一位可以與4位二進制數(shù)相對應(yīng)。二進制數(shù)十六進制數(shù)十進制數(shù)二進制數(shù)十六進制數(shù)十進制數(shù)0000001000880001111001990010221010A100011331011B110100441100C120101551101D130110661110E140111771111F15二進制數(shù)、十進制數(shù)與十六進制數(shù)之間的數(shù)碼轉(zhuǎn)換表第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)換十六進制數(shù)中的每一位可以與4601.2計算機中數(shù)的表示
二進制數(shù)的運算
二進制數(shù)之間具有加、減、乘、除四則運算,在ARM匯編語言里都有相對應(yīng)的匯編指令完成四則運算。加減規(guī)則:0+0=0 0+1=1 1+0=11+1=0(進位1)0-0=0 0–1=1(借位1)1-0=1 1-1=00b1001111+0b1000001=0b10010000;0b101-0b011=0b010。加減法實例:第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM71.2計算機中數(shù)的表示二進制數(shù)的運算二進制數(shù)之間具有加61機器數(shù)的表示1、數(shù)的原碼表示計算機中的數(shù)是用二進制來表示的,數(shù)的符號也是用二進制表示的。把一個數(shù)連同其符號在內(nèi)在機器中的表示加以數(shù)值化,這樣的數(shù)稱為機器數(shù)。機器數(shù)常用原碼、補碼和反碼表示法來表示。二進制位數(shù)8位16位32位字長1個字節(jié)1個半字1個字位數(shù)與字長對應(yīng)關(guān)系
第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM7機器數(shù)的表示1、數(shù)的原碼表示計算機中的數(shù)是用二進622、數(shù)的補碼表示計算一個負數(shù)的補碼的辦法:先寫出與該負數(shù)相對應(yīng)的正數(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]補=0xFFCC第一章嵌入式系統(tǒng)基礎(chǔ)知識ARM72、數(shù)的補碼表示計算一個負數(shù)的補碼的辦法:先寫出與該負數(shù)相對633、補碼加減運算例假設(shè)機器字長為8位,已知[-23]補=0b11101001?,F(xiàn)在對[-23]補求補兩次:[-23]補為 0b1110100
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能應(yīng)用場景的深度研究與跨行業(yè)應(yīng)用探索
- 2024年度企業(yè)品牌授權(quán)與連鎖經(jīng)營合作合同3篇
- 2024年標準工程監(jiān)理服務(wù)具體協(xié)議模板版B版
- 高標準農(nóng)田建設(shè)項目運營方案
- 2024版農(nóng)產(chǎn)品冷鏈物流采購與配送合作協(xié)議3篇
- 內(nèi)蒙古交通職業(yè)技術(shù)學院《視覺交互設(shè)計與開發(fā)》2023-2024學年第一學期期末試卷
- 2024年標準版購銷合同取消合同范本版B版
- 2024事業(yè)單位工作人員績效考核合同3篇
- 2024版固廢處理場區(qū)道路施工合同2篇
- 內(nèi)蒙古建筑職業(yè)技術(shù)學院《宏觀經(jīng)濟學(雙語)》2023-2024學年第一學期期末試卷
- 啟航計劃培訓總結(jié)與反思
- 《電力工程電纜防火封堵施工工藝導則》
- MOOC 作物育種學-四川農(nóng)業(yè)大學 中國大學慕課答案
- 變電站隱患排查治理總結(jié)報告
- 車輛救援及維修服務(wù)方案
- 三體讀書分享
- 《腎內(nèi)科品管圈》
- 空氣預(yù)熱器市場前景調(diào)研數(shù)據(jù)分析報告
- 2024年南平實業(yè)集團有限公司招聘筆試參考題庫附帶答案詳解
- PLC在變電站自動化控制中的應(yīng)用案例
- 2024版國開電大法學本科《合同法》歷年期末考試案例分析題題庫
評論
0/150
提交評論