浙江大學(xué)嵌入式課件-嵌入式系統(tǒng)4_第1頁
浙江大學(xué)嵌入式課件-嵌入式系統(tǒng)4_第2頁
浙江大學(xué)嵌入式課件-嵌入式系統(tǒng)4_第3頁
浙江大學(xué)嵌入式課件-嵌入式系統(tǒng)4_第4頁
浙江大學(xué)嵌入式課件-嵌入式系統(tǒng)4_第5頁
已閱讀5頁,還剩150頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

嵌入式處理器結(jié)構(gòu)

浙江大學(xué)計算機(jī)學(xué)院

陳天洲

tzchen@

2005年3月

,、概述

?嵌入式系統(tǒng)的核心部件是各種類型的嵌入式處理

器。

?嵌入式CPU具有處理速度快、I/O功能強(qiáng)、功率

損耗低及實(shí)時響應(yīng)快等特點(diǎn)。

?RISC(ReducedInstructionSetComputer)型

處理器且有結(jié)構(gòu)簡單、處理速度快和處理功能強(qiáng)

等優(yōu)點(diǎn),新型的嵌入式系統(tǒng)大多數(shù)都采用RISC型

處理器作為核。

?ARM公司的ARM、Hitachi公司的SH、

MIPS/LSILogic/IDT/Aldeny/Toshiba公司的

MIPS和Motorola公司的M?Core等都是新型嵌入

式系統(tǒng)常用的RISC型處理器。2

二、ARM嵌入式CPU

?ARM架構(gòu)處理器已在高性能、低功耗、低

成本的嵌入式應(yīng)用領(lǐng)域占據(jù)領(lǐng)先地位。

?ARM公司是嵌入式RISC處理器的知識產(chǎn)

權(quán)IP供應(yīng)商

?它為ARM架構(gòu)處理器提供了ARM處理器

內(nèi)核(如ARM7TDMI、ARM9TDMK

ARM1OTDMI等)和ARM處理器核

(ARM710T/720T/740T>

ARM920T/922T/940T>ARM926E/966E

及ARM1020E等)

ARM系列產(chǎn)品表示

?ARM系列產(chǎn)品很多,以ARM7系列為例淇內(nèi)核

ARM7TDMI表示為:

?-ARM7:ARM系列具有32位整數(shù)運(yùn)算核

?T?:內(nèi)含16位壓縮指令集Thumb

?D?:支持片內(nèi)Debug調(diào)試,

?M?:采用增強(qiáng)型乘法器(Multiplier),

?■!:內(nèi)含嵌入式ICE宏單元

?另外,各產(chǎn)品的后綴提供了各種形式與功能的選擇:

?-?S:可綜合的軟核Softcore

?-E:具有DSP的功能

?-?J:Jazeller,允許直接執(zhí)行Java字節(jié)碼

4

ARM架構(gòu)

?ARM架構(gòu)自誕生至今,已經(jīng)發(fā)生了很大的

演變,至今已定義5種不同的版本

?V1版架構(gòu)

?V2版架構(gòu)

?V3版架構(gòu)

?V4版架構(gòu)

?V5版架構(gòu)

V1版架構(gòu)

?該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過,其基本

性能:

?基本的數(shù)據(jù)處理指令(無乘法)

?字節(jié)、半字和字的LOAD/STORE指令

?轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令

?軟件中斷指令

?尋址空間:64M字節(jié)(226)

6

V2版架構(gòu)

?該版架構(gòu)對V1版進(jìn)行了擴(kuò)展,如ARM2與

ARM3(V2a版)架構(gòu),增加了以下功能:

?乘法和乘加指令

?支持協(xié)處理器操作指令

?快速中斷模式

?SWP/SWPB的最基本存儲器與寄存器交

換指令

?尋址空間:64M字節(jié)

7

V3版架構(gòu)

?把尋址空間增至32位(4G字節(jié)),

?增加了當(dāng)前程序狀態(tài)寄存器CPSR(Current

ProgramStatusRegister)和程序狀態(tài)保存寄存

器SPSR(SavedProgramStatusRegister)以

便于異常(Exception)的處理。

?增加了中止(Abort)和未定義二種處理器模式。

ARM6就采用該版架構(gòu)。指令集變化如下:

?增加了MRS/MSR指令,以訪問新增的

CPSR/SPSR寄存器

?增加了從異常處理返回的指令功能。

8

V4版架構(gòu)

?V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),對V3版架構(gòu)

進(jìn)行了進(jìn)一步擴(kuò)充,有的還引進(jìn)了16位的Thumb指令集,

使ARM使用更力口靈活。ARM7、ARM8、ARM9和

StrongARM都采用該版架構(gòu)。指令集中增加了以下功能

*

?符號化和非符號化半字及符號化字節(jié)的存/取指令

?增加了16位Thumb指令集

?完善了軟件中斷SWI指令的功能

?處理器系統(tǒng)模式引進(jìn)特權(quán)方式時使用用戶寄存器操作

?把一些未使用的指令空間捕獲為未定義指令

9

V5版架構(gòu)

?這是最近推出ARM架構(gòu),在V4版基本上增

加了一些新的指令,ARM10和XScale都采

用該版架構(gòu),這些新增指令有:

?帶有鏈接和交換的轉(zhuǎn)移BLX指令

?計數(shù)前導(dǎo)零CLZ指令

?BRK中斷指令

?增加了信號處理指令(V5TE版)

?為協(xié)處理器增加更多可選擇的指令

10

v6版架構(gòu)

?2001年發(fā)布的

?增加了SIMD功能擴(kuò)展

?適合使用電池供電的便攜式設(shè)備

?SIMD功能擴(kuò)展

-包括音頻/視頻處理在內(nèi)的應(yīng)用系統(tǒng)提供了優(yōu)

化功能

-可以使音頻/視頻處理性能提高4倍

?首先在2002年發(fā)布的ARM11處理器中使

11

入StrongARM架構(gòu)處理器

?StrongARM是Intel公司為手持式消費(fèi)類

電子設(shè)備和移動計算與通信的嵌入式處理

器。采用StrongARM架構(gòu)的處理器有:

?SA-1:StrongARM處理器內(nèi)核

?SA-110:StrongARM處理器核

?SA-1100:通用處理器MPU

?SA-1110:通用處理器MPU

?IXP1200:采用StrongARM核的網(wǎng)絡(luò)處

理器

12

StrongARM架構(gòu)主要特性

?StrongARM處理器核

-內(nèi)核:SA-1、指令快存l-Cache:16K字節(jié)、數(shù)據(jù)快存D-Cache:8K字節(jié)

、微小數(shù)據(jù)Cache:512字節(jié)、存儲器管理單元IMMU和DMMU、讀和寫緩沖

?存儲器控制模塊

-支持各種ROM、FLASH(閃存)、DRAM和SRAM、支持PCMCIA

?系統(tǒng)控制模塊

-通用可中斷GPIO:28根、看門狗定時計數(shù)器、間隔定時器、電源管理控制器

、中斷控制器、片上振蕩器:2個(含鎖相環(huán))

?外圍控制模塊

-LCD液晶驅(qū)動控制器、串行接口UART、紅外接口irDA、數(shù)字單頻Codec接

?目前,大量應(yīng)用的是改進(jìn)型SA-1110處理器。在SA-1100處理器基礎(chǔ)上,增

加了以下功能:

-DMA控制器:6通道,以提高LCD顯示和I/O傳送的效率

-實(shí)時時鐘RTC

-串行外圍接口SPI

-SA-1110處理器已取代了SA-1100處理器,與其配套的SA-1111芯片,擴(kuò)展了

PS/2鍵盤與鼠標(biāo)接口、USB的主機(jī)接口以及PCMCIA/CF接口。

IW

四、XScale架構(gòu)處理器

?XScale架構(gòu)處理器是新一代為無線手持式

應(yīng)用產(chǎn)品開發(fā)的嵌入式處理器,

?是PCA開發(fā)式平臺架構(gòu)中的應(yīng)用子系統(tǒng)與

通信子系統(tǒng)中的嵌入式處理器

?XScale微架構(gòu)處理器的時鐘可以達(dá)1GHz

、功耗1.6W,并能達(dá)到1200MIPS。

?IOP310、IOP321、PXA210>PXA25X

、PXA26X、PXA27X

14

XScale系統(tǒng)結(jié)構(gòu)圖

CP14BranchTargetBuffer

Debug/

ManagementTrace

InterruptBuffer

CP15Request

Config.nstruction

nstruction

Registers

Cache

Execution

32KBytes

Core

Data

AddressDataCache

CPOData32KBytesWrite

Multiplier/Buffer

AccumulatorMiniD-Cache

2KBytes

System

JTAGDebugManagement

15

XScale架構(gòu)特點(diǎn)(一)

?采用7/8級超級流水線

-動態(tài)跳轉(zhuǎn)預(yù)測、分支目標(biāo)緩沖器BTB(BranchTarget

Baffer)

?支持多媒體處理技術(shù)

-新增乘/加器MAC、40位累加器、兼容ARMV5TE指

令、特定DSP型協(xié)處理器CP0

?指令快存(l-Cache):32K字節(jié)

?數(shù)據(jù)快存(D-Cache):32K字節(jié)

-可以重構(gòu)為28K字節(jié)片內(nèi)RAM

?微小數(shù)據(jù)快存(MiniQCache):2K字節(jié)

?指令存儲器管理單元IMMU

-32路變換后備緩沖器TLB(快表)

?動態(tài)電源管理16

XScale架構(gòu)特點(diǎn)(二)

?數(shù)據(jù)存儲器管理單元DMMU

-32路變換后備緩沖器TLB(快表)

?中斷控制器

?總線控制器

?1G字節(jié)/秒、ECC協(xié)議

?調(diào)試(Debug)接口:

-性能監(jiān)控:協(xié)處理器CP14、硬件斷點(diǎn)、硬件

觀察點(diǎn)、BKPT指令、異常中斷、JTAG接口

、跡緩沖器

17

五、ARM系列簡介

?32位cpu中領(lǐng)軍芯片

?2001年,市場占有率75%

?知識供應(yīng)商

?合作伙伴100多個

18

ARM特點(diǎn)

?內(nèi)核耗電少,成本低,功能強(qiáng)

?特有16/32位雙指令集

?全球眾多的合作伙伴

?成為移動通訊,手持計算機(jī),多媒體數(shù)字

消費(fèi)等嵌入式解決方案的RISC標(biāo)準(zhǔn)

19

?AdvancedRISCMachines

?85年英國劍橋ARM原型

?90年成立ARMltd.

?五個產(chǎn)品系列:ARM7,ARM9,ARM9E

,ARM10,SecurCore

?進(jìn)一步產(chǎn)品---來源于合作伙伴:intel

Xscale微體系結(jié)構(gòu)和StrongARM

20

ARM7系列

?系列產(chǎn)品

-ARM7TDMI:T:Thumb,D:debug,M:

multiplier,I:嵌入式ICE

-ARM7TDMI-S:synthesizable可綜合

-ARM720T

-ARM7EJ—最低功耗

?具有:

-嵌入式ICE-RT邏輯一硬件上提供片上斷點(diǎn)與調(diào)試點(diǎn)支

-非常低的功耗

-提供0.9MIPS/MHz的三級流水線和馮?諾依曼體系

21

ARM9系

?系列產(chǎn)品

—ARM920T與ARM922T

-ARM940T

?具有:

-5級流水線

-1.1MIPS/MHz的哈佛結(jié)構(gòu)

22

ARM9E系歹U

?系列產(chǎn)品

-ARM966E-S

-ARM946E-S

-ARM926EJ-S

?提供

-DSP擴(kuò)充

-嵌入式ICE-RT調(diào)試邏輯

-1.1MIPS/MHZ的5級流水線和哈佛結(jié)構(gòu)

-緊耦合存儲器(TCM)接口,可使存儲器以最高處理

器速度運(yùn)轉(zhuǎn),可直接連到內(nèi)核上

23

ARM10系列

?產(chǎn)品系列

-ARM1022ErevO

-ARM1020Erev1

?提供

-DSP擴(kuò)展

-嵌入式ICE-RT

-全性能MMU

-Cache

-對于指令與數(shù)據(jù),64位AHB接口

-6級流水線

-內(nèi)部64位數(shù)據(jù)通道

-1.25MIPS/MHZ

-比同等ARM9器件,同樣時鐘下,性能提高50%

24

SecurCoreSC100

?專為安全設(shè)計

?抗竄改(resisttampering)

?逆向工程(reverseengineering)

?保護(hù)機(jī)構(gòu)一確保操作系統(tǒng)與數(shù)據(jù)安全

25

StrongARM

?IntelStrongARMSA?1100處理器

?兼容ARMv4體系

?具有intel體系結(jié)構(gòu)的特點(diǎn)

26

XScale

?IntelXscale基于ARMv5TE體系

?支持Thumb指令

?支持DSP擴(kuò)充

27

應(yīng)用

?采用ARM7內(nèi)核最多

?最典型為ARM7TDMI、ARM720T

28

芯片工藝

?0.18pm,0.13pm,0.25pim工藝

29

ARM特定功能的變種

?T變種(Thumb指令集):

-Thumb指令集

-嚴(yán)格控制產(chǎn)品成本

-比采用ARM指令更多的指令,不適合對時間要求苛刻的場合

?M變種(長乘法指令):

-增加了兩條用于進(jìn)行長乘法操作的ARM指令

-首先在ARM體系版本3引入,在ARM體系版本4之后,M變種成

為系統(tǒng)的標(biāo)準(zhǔn)功能;

?E變種(增強(qiáng)型DSP指令):

-包含附加指令用于增強(qiáng)處理器對一些典型DSP算法的處理性能

-E變種首先在ARM體系版本5T中使用

30

?J變種(Java力口速器Jazelle):

-提供Java加速功能

?D變種(片內(nèi)Debug):

-支持片內(nèi)Debug調(diào)試;

?I變種(嵌入式ICE):

-集成嵌入式ICE宏單元;

?SIMD變種(ARM媒體功能擴(kuò)展):

-高性能的音頻/視頻處理技術(shù)。

六、ARM體系結(jié)構(gòu)簡介

?1)、Thumb指令集的16位指令集

-32ARM指令集的子集

-代碼密度高,性能高

一狀態(tài):ARM狀態(tài),Thumb狀態(tài)

-每指令集都有:切換狀態(tài)的指令

32

2)寄存器

?37個寄存器

?寄存器分成可以重疊的組

?R13堆棧

?R14返回地址

?R15=PC

33

3)ARM指令集

?32位長度

?字對準(zhǔn)

?可以傳送8bit,16bit,32bit符號/無符號

數(shù)據(jù)

34

4)Thumb指令集

?16位長度

?半字對準(zhǔn)

?操作寄存器中是32bit

?數(shù)據(jù)訪問和取指使用全32bit地址

?條件分支指令是唯——句CPSR的Thumb

指令

?大多數(shù)指令訪問RO—R7

35

5)ARM體系結(jié)構(gòu)

?1)ARM體系結(jié)構(gòu)的版本

?版本1?5

36

ARMvl

?基本數(shù)據(jù)處理指令(不含乘法)

?字節(jié)、字、半字的load,store

?分支指令,包括子程序調(diào)用

?軟件中斷指令,進(jìn)行操作系統(tǒng)調(diào)用

?26位尋址

?無使用,

37

ARMv2

?增加乘法,乘加

?協(xié)處理器支持

?快速中斷中2個以上分組的寄存器

?稱為SWP與SWPB的原子性加載與存儲

?26位尋址

?不使用了

38

ARMv3

?尋址32位

?增力口CPSR(CurrentProgramStatus

Register)

?增力口SPSR(SavedProgramStatus

Register)

?增力口訪問CPSR與SPSR的指令

?修改了過去用于異常返回的指令的功能

?與位尋址模式兼容

2639

ARMv4

?半字load,store

?加載與進(jìn)行字節(jié)和半字節(jié)帶符號擴(kuò)展

?在T變量中,一個轉(zhuǎn)換到Thumb狀態(tài)的指

?使用用戶模式寄存器的新的特權(quán)處理器模

?不再要求與26位尋址模式兼容

40

ARMv5

?提高T變量中ARM/Thumb切換效率

?讓非T變量同T變量一樣,使用相同的代碼

生成技術(shù)

?增加一個計數(shù)前導(dǎo)零指令

?增加軟件斷點(diǎn)指令

?為協(xié)處理器設(shè)計者增加更多可選擇指令

?對乘法如何設(shè)置標(biāo)志嚴(yán)密定義

41

2)ARM體系結(jié)構(gòu)的變量

?A)Thumb指令集(T變量)

?Thumb指令集

?Thumbv1應(yīng)用在ARMv4

?Thumbv2應(yīng)用在ARMv5

42

?B)長乘法指令(M變量)

?ARM指令集的M變量包括4個附加指令完

成32X32?>64的乘法和乘加

?結(jié)果放在2個32位寄存器中

43

?C)增強(qiáng)型DSP指令(E變量)

?完成DSP功能

44

3)處理器模式

處理器模式說明

用戶usr正常程序執(zhí)行模式

FIQfiq支持高速數(shù)據(jù)傳輸或通道處理

IRQirq用于通用中斷處理

管理SVC操作系統(tǒng)保護(hù)模式

中止abt支持虛擬存儲器和/或存儲器保護(hù)

未定義支持硬件協(xié)處理器的軟件仿真

und

系統(tǒng)sys運(yùn)行特權(quán)操作系統(tǒng)任務(wù)(ARMv4以上)

45

改變模式

?方法:

-軟件控制

■-外部中斷

-異常處理

?通常在用戶模式下

-不能訪問被保護(hù)的系統(tǒng)資源

-一般不能改變模式

-異常發(fā)生可以導(dǎo)致模式改變

46

特權(quán)模式

?除了用戶模式外的所有模式

47

異常模式

?FIQ

?IRQ

?管理(Supervisor)

?中止(Abort)

?未定義(Undefined)

?由異常進(jìn)入對應(yīng)模式

48

系統(tǒng)模式

?不受限制的用戶模式

49

4)寄存器組織

?37個寄存器

-31個32bit通用寄存器

-6個32bit狀態(tài)寄存器(實(shí)際只用12bit)

?每個模式下可見15個通用寄存器(R0—

R14),1~2個狀態(tài)寄存器,PC

?不同模式下的通用寄存器有所不同

50

通用寄存器分類

?R0-R14

?R0-R7:不分組寄存器

-任何模式下都可以訪問,且映射固定寄存器

?R8-R14:分組寄存器

-不同模式映射不同物理寄存器

51

?ARM狀態(tài)下:位[1:0]為0,位[31:2]為PC

?Thumb狀態(tài):位⑼為0,位[31:1]為PC

52

CPSR

NZCVQDNM(RAZ)IFTMMMMM

43210

?1)條件碼標(biāo)記

?N:負(fù)數(shù)

?Z:為0

?C:進(jìn)位

?V:溢出

?Q:增強(qiáng)型DSP的溢出標(biāo)志

53

2)控制位

?I:禁止IRQ中斷標(biāo)記

?F:禁止FIQ中斷標(biāo)記

?T:T變量

?模式位M[4:0]

-10000:用戶模式1000LFIQ模式

-10010:IRQ模式10011:管理模式

-10111:中止模式11011:未定義

-11111:系統(tǒng)模式54

Thumb狀態(tài)的寄存器集

?可訪問的寄存器集是ARM的子集

個通用寄存器RO—R7

?PC(R15)

?SP(R13)

?LR(R14)

?CPSR

55

5)異常

?由內(nèi)部、外部引起的事件

?7種異常

-復(fù)位,進(jìn)入管理模式

-未定義指令:未定義模式

-軟件中斷(SWI):管理模式

-預(yù)取中止:中止模式

-數(shù)據(jù)中止:中止模式

-IRQ:IRQ模式

-FIQ:FIQ模式

56

異常的優(yōu)先級

?優(yōu)先級異常

?1(最高)復(fù)位

?2數(shù)據(jù)中止

?3FIQ

?4IRQ

?5預(yù)取中止

?6未定義指令,SWI

57

6)Thumb指令集

?與ARM指令集的區(qū)別

-分支語句

-數(shù)據(jù)傳送指令

-單寄存器加載與存儲指令

-多寄存器加載與存儲指令

-沒有協(xié)處理器指令

-沒有信號量指令

-沒有訪問CPSR指令

58

分支指令

?向后轉(zhuǎn)移

?條件下向前轉(zhuǎn)移

?轉(zhuǎn)向子程序

?從Thumb狀態(tài)切換到ARM狀態(tài)

數(shù)據(jù)處理指令

?操作的結(jié)果放第一個寄存器eg:R1=R1+R2

?數(shù)據(jù)處理操作少

?訪問R8—R15受到限制

60

單寄存器load、store

?只訪問R1—R7

61

多寄存器load、store

?LDMIAR3!,{R0-R7}

?STMIARO!,{R6,R7}

?PUSH{R3,R5-R7}

?POP{R2,R5}

62

7)流水線

?ARM7的三級流水線

?取指

?■>譯碼

?。執(zhí)行

63

)嵌入式ICERT邏輯

?在片調(diào)試支持

?調(diào)試通道DDC:(Debug

communicationChannel)

-在目標(biāo)機(jī)與宿主調(diào)試器之間傳送信息

?JATG(JointTestActionGroup)

-可以通過JATG測試訪問口進(jìn)行控制

?可以設(shè)置DBGEN為低電平禁止ICE?RT

64

9)存儲系統(tǒng)

?增加控缶Ucache與MMU操作的寄存器

?IDC操作(Instructionanddatacache)

?MMU中的可cache位

-是否可將正在讀的數(shù)據(jù)放入IDC

?IDC使能,禁止,復(fù)位:操作控制寄存器

65

寫緩沖(WB)

?8字data

?4個獨(dú)立地址

?三種操作:

-可緩沖的寫

-非緩沖的寫

一讀一鎖一寫

66

MMU功能

?1o將虛擬地址翻譯成物理地址

?2??刂拼鎯ζ鞯脑L問權(quán)限

67

MMU硬件

?1oTL

?2O訪問控制邏輯

?3o變換表移動邏輯

-地址變換表

?4o增加的寄存器

-變換表基址寄存器,域訪問控制寄存器,TL

操作寄存器,故障狀態(tài)寄存器,故障地址寄存

68

2種頁映射方式

?大頁:64K

?小頁:4KB

IDC,WB,MMU—>存儲系統(tǒng)

70

?不同系列的ARM內(nèi)核差異

?詳見各內(nèi)核的說明書

71

七、ARMJTAG調(diào)試

InterfaceBox

Product

幾種常用的調(diào)試方法

■指令集模擬器

一種利用PC機(jī)端的仿真開發(fā)軟件模擬調(diào)試的方法。

?駐留監(jiān)控軟件

駐留監(jiān)控程序運(yùn)行在目標(biāo)板上,PC機(jī)端調(diào)試軟件可通

過并口、串口、網(wǎng)口與之交互,以完成程序執(zhí)行、存

儲器及寄存器讀寫、斷點(diǎn)設(shè)置等任務(wù)

?JTAG仿真器

通過ARM芯片的JTAG邊界掃描口與ARM核進(jìn)行通信

,不占用目標(biāo)板的資源,是目前使用最廣泛的調(diào)試手

?在線仿真器

使用仿真頭代替目標(biāo)板上的CPU,可以完全仿真ARM

芯片的行為。但結(jié)構(gòu)較復(fù)雜,價格昂貴,通常用于74

ARM硬件開發(fā)中

ARM的JTAG調(diào)試結(jié)構(gòu)

宿主機(jī)調(diào)試器

?宿主機(jī)調(diào)試器通過固定的協(xié)議控制下位

機(jī)(協(xié)議轉(zhuǎn)換器)。比如,SDT中通過

Angel協(xié)議或者第三方調(diào)試器所提供的協(xié)

?宿主機(jī)調(diào)試器只發(fā)送宏觀的命令,比如

就序運(yùn)行、終止。讀些內(nèi)存、ARM寄存

器等

?通訊的介質(zhì)可以是串口、并口、以太網(wǎng)

、USB等76

JTAG與Angel

?JTAG調(diào)試:協(xié)議轉(zhuǎn)換器解釋上位機(jī)傳送過來

的命令,通過JTAG控制ARM執(zhí)行。

?Angel調(diào)試:協(xié)議轉(zhuǎn)換器可以直接做為目標(biāo)板

的Firmware的一部分。直接執(zhí)行從宿主機(jī)傳

送過來的調(diào)試命令;并回送相應(yīng)的數(shù)據(jù)。

?Angel可以節(jié)省專門的JTAG仿真器,但是,

它需要軟件,或者是嵌入式操作系統(tǒng)的支持,

做不到完全的實(shí)時仿真。而JTAG仿真是通過

硬件和控制ARM的EmbeddedICE實(shí)現(xiàn)的,可

以做到實(shí)時仿真。

77

什么是JTAG?

?JTAG是JointTestActionGroup

的縮寫;

是IEEg149.1標(biāo)準(zhǔn)

?JTAG的建立使得集成電路固定在

PCB上,只通過邊界掃描便可以被

測試

?在ARM7TDMI處理器中,可以通過

JTAG直接控制ARM的內(nèi)部總線,

I。口等信息,從而達(dá)到調(diào)試的目的

JTAG的典型接口

?TMS:測試模式選擇(TestMode

Select),通過TMS信號控制JTAG

狀態(tài)機(jī)的狀態(tài)

?TCK:JTAG的時鐘信號

?TDI:數(shù)據(jù)輸入信號

?TDO:數(shù)據(jù)輸出信號

?nTRST:JTAG復(fù)位信號,復(fù)位

JTAG的狀態(tài)機(jī)和內(nèi)部的宏單元(

Macrocell)79

JTAG的狀態(tài)機(jī)(TAP)

^/seteckDR-Scan、jms=i

0x7/

|tms=O

Capture-IR、\

OxE/

0

Shi!l.DR

XShift-IR

hms=1

J/Exit1-DRX14/Exjl1-IRX

<0x1/\0x9Z\

\:/tms=1、:/tms=1

hms=Ohms=0

Pause-DRPause-IR

OxB

|lms=11

>

Xtms=OExit2-DR\tms=OEMIR

<0x0<0x8

1>1

Update-DR)Update*Z

0x5OxD

tms=1tms=O

tms=1

80

<<tms=0x

JTAG鏈的組成

TCK

ScandatainSampleddata

scannedout

ARM7TDMI的JTAG標(biāo)準(zhǔn)鏈(1)

ARM7TDMIprocessor

Scanchain0

TL-l

ARMCPU

mainprocessor

C

logic8

W

ABREAKPT

TAPcontroller

ARM7TDMI的JTAG標(biāo)準(zhǔn)鏈(2)

?ScanChain0:包括ARM核的所有的10

和總線的輸入輸出控制信號

?ScanChain1:包括ARM核的數(shù)據(jù)總線

和一個斷點(diǎn)控制信號。通過控制這個條

鏈,可以控制ARM核執(zhí)行指定的指令。

?ScanChain2:通過控制

EmbeddedICE宏單元,實(shí)現(xiàn)對ARM執(zhí)

行指令的斷點(diǎn)、觀察點(diǎn)的控制

83

EmbeddedICE的結(jié)構(gòu)

r/wUpdate

4Address

/Decoder

Address

0

31ENABLE

CHAINCHAIN

EXTERbEXTERN

nOPCnOPC

nBWnBW

Data32

nRWnRW

7Breakpoint

Av[31:0]Am[31:0]

oA[31:0]―>>

D[31:0]―?Dv[31:0]Dm[31:0]

Control------?

TDI

TDO

ARM7TDMI中斷點(diǎn)的設(shè)置

?設(shè)置EmbeddedICE的兩個

watchpoint單元

主要包括:地址、數(shù)據(jù)、控制信號

?當(dāng)一個(或者兩個)watchpoint中

的地址(也可以包括數(shù)據(jù))和ARM

所執(zhí)行的當(dāng)前的指令相同的時候,

ARM就從運(yùn)行狀態(tài)進(jìn)入Debug狀態(tài)

85

斷點(diǎn)的類型

?硬件斷點(diǎn):在ARM中直接設(shè)定

watchpoint中的地址,當(dāng)ARM運(yùn)行

到制定的地址時,就進(jìn)入Debug狀

態(tài)

?軟件斷點(diǎn):改變存儲器中的ARM指

令為一個特殊的數(shù)據(jù)X(ARM的未

定義指令),同時,設(shè)置

watchpoint中的斷點(diǎn)數(shù)據(jù)也為X,

當(dāng)ARM把X數(shù)據(jù)作為指令讀入的時

候,ARM就進(jìn)入Debug狀態(tài)86

硬件斷點(diǎn)和軟件斷點(diǎn)的優(yōu)缺點(diǎn)

?硬件斷點(diǎn):數(shù)目受EmbeddedICE中

的Watchpoint數(shù)目的限制;但是,

可以在任何地方設(shè)置斷點(diǎn)

?軟件斷點(diǎn):數(shù)目不受限制,但是,

軟件斷點(diǎn)是通過替換系統(tǒng)的斷點(diǎn)地

址的指令實(shí)現(xiàn)的,所以,軟件斷點(diǎn)

只能在可寫的存儲器的地址中設(shè)置

(比如:RAM),而不能在ROM(

比如:Flash)中設(shè)置87

八、ARM實(shí)例SamsungS3c44B0X

ARM體系結(jié)構(gòu)的主要特征

>大量的寄存器,都可用于多種用途;

>Load-Store體系結(jié)構(gòu)

>3地址指令(兩個源操作數(shù)寄存器和結(jié)果寄存器獨(dú)立設(shè)定)

>每條指令都條件執(zhí)行包含非常強(qiáng)大的多寄存器Load和Store指令

>能在單時鐘周期執(zhí)行的單條指令內(nèi)完成一項普通的移位操作和一

項普通的ALU操作

>能過協(xié)處理器指令集來擴(kuò)展ARM指令集,包括在編程模式下增加

了新的寄存器和數(shù)據(jù)類型

>在Thumb體系結(jié)構(gòu)中以高密度16位壓縮形式表示指令集

88

SamsungS3C44B0X

?SamsungS3c44B0X微處理器是三星公司

專為手持設(shè)備和一般應(yīng)用提供的高性價比和高

性能的微控制器解決方案,它使用

ARM7TDMI核,工作在66MHZ。為了降低系

統(tǒng)總成本和減少外圍器件,這款芯片中還集成

了下列部件:

?8KBCache>外部存儲器控制器、LCD控

制器、4個DMA通道、2通道UART、1個多主

12c總線控制器、1個ns總線控制器,5通道

PWM定時器及一個內(nèi)部定時器、71個通用I/O

口、8個外部中斷源、實(shí)時時鐘、8通道10位

ADC等。

89

s3c44B0X體系結(jié)構(gòu):

?用于手持設(shè)備和通用嵌入式應(yīng)用的完

整系統(tǒng);

?16/32位RISC結(jié)構(gòu)和帶ARM7DMI

CPU核的功能強(qiáng)大的指令集;

?Thumb協(xié)處理器在保證性能的前提

下使代碼密度最大;

?片上ICE中斷調(diào)試JTAG調(diào)試方式

?32x8位硬件乘法器;

90

系統(tǒng)管理:

?支持大/小端模式

?地址空間:每個Bank32MB(一共256MB);

?每個Bank支持8/16/32位數(shù)據(jù)總線編程;

?固定的Bank起始地址和7個可編程的Bank;

?1個起始地址和尺寸可編程的Bank;

?8個內(nèi)存Bank::6個用于ROM、SRAM;2個用于

ROM/SRAM/DRAM;

?所有內(nèi)存Bank的可編程尋址周期;

?在能量低的情況下支持DRAM/SDRAM自動刷新模

?支持的非對稱/對稱尋址;

DRAM91

?緩沖內(nèi)存和內(nèi)部SRAM

?4路帶8K字節(jié)的聯(lián)合緩存;

?不使用緩存的0/4/8K內(nèi)容SRAM

?偽LRU(最近最少使用)的替代算

法;

?通過在主內(nèi)存和緩沖區(qū)內(nèi)容之間保

持一致的方式寫內(nèi)存;

?當(dāng)緩沖區(qū)出錯時,請求數(shù)據(jù)填充技

術(shù);

92

時鐘和能量管理

?低能耗;

?時鐘可以通過軟件選擇性地反饋回每個

功能塊

?能量模式:

?正常模式:正常運(yùn)行模式;

?低能模式:不帶PLL的底頻時鐘;

?休眠模式:只使CPU的時鐘停止;

?停止模式:所有時鐘都停止;

?用EINT或RTC警告中斷從停止模式喚

醒9

「斷控制器

?30個中斷源(看門狗定時器,6個定時器,

6個UART,8個外部中斷,4個DMA,2個

RTC,1個ADC,1個PC,1個SIO;

?矢量IRQ中斷模式減少中斷響應(yīng)周期;

?外部中斷源的水平/邊緣模式;

?可編程的水平/邊緣極性;

?對緊急中斷請求支持FIQ(快速中斷請求

);

94

帶PWM的定時器

?脈沖寬度調(diào)制

?5個16位帶PWM的定時器/I個16位基

于DMA或基于中斷的定時器;

?可編程的工作循環(huán),頻率和極性

?死區(qū)產(chǎn)生

?支持外部時鐘源

95

實(shí)時時鐘

?全時鐘特點(diǎn):毫秒、秒、分、小時

、天、星期、月、年

?32.768KHZ運(yùn)行

CPU喚醒的警告中斷

時鐘記號中斷

96

通用輸入輸出端口

?8個外部中斷端口

?71個多路輸入輸出口;

UART

?2個帶DMA和中斷的UART;

?支持5位,6位,7位,8位串行數(shù)據(jù)傳送/接收;

?當(dāng)傳送/接收時支持雙向握手

?可編程波特率;

?支持IrDALO(115.2KBPS);

?測試的循環(huán)返回模式;

?每個通道有2個內(nèi)部32位FIFO

97

DMA與A/D

DMA控制器

?2路通用無需要CPU干涉的DMA控制器;

?2路橋式DMA控制器;

?采用6種DMA請求的橋式DMA支持IO到內(nèi)存,

內(nèi)存至UlO,IO至UIO:軟件,4個內(nèi)部功能塊(UART

,SIO,實(shí)時器,IIS),外部管腳;

?DMA之間可編程優(yōu)先級次序;

?突發(fā)傳送模式提高到FPDRAM、EDODRAM

和SDRAM的傳送窣;

A/D轉(zhuǎn)換

?10位多路ADC;

?最大500KspS/10位;

98

LCD控制器

?支持彩色/單色/灰度LCD;

?支持單掃描和雙掃描顯示;

?支持虛擬顯示功能

?系統(tǒng)內(nèi)存作為顯示內(nèi)存

?專用DMA用于從系統(tǒng)內(nèi)存中提取圖

象數(shù)據(jù);

?可編程屏幕尺寸;

?灰度:16級

?256色9

看門狗定時器與12c總線接口

?16位看門狗定時器;

?定時中斷請求和系統(tǒng)復(fù)位;

?1個帶中斷的多主機(jī)12c總線;

?串行,8位,雙向數(shù)據(jù)傳送器能夠以

100KB/S的標(biāo)準(zhǔn)模式和400KB/S的快速

模式傳送

100

ns總線接口

?1個I帶DMA的音頻IS總線接口;

?串行,每路8/16位數(shù)據(jù)傳送器;

支持MSB數(shù)據(jù)格式;SIO(同步串

行I/O)

?1個帶DMA和中斷的SIO

?可編程波特率;

?支持8位串行數(shù)據(jù)傳送/接收操作101

?操作電壓范圍

?內(nèi)核:2.5V;I/O:3.0V至U3.6V;

?運(yùn)行頻率

?最高到75MHz;

?封裝

?160LQFP/160FBGA;

102

S3c44B0X微處理器體系結(jié)構(gòu)框圖

BusArbiter

CPUUnitMemoryl/F

ROM/SRAM

WriteyDRAM/SDRAM

Buffer

BoundaryScan

JTAGARM7TDMILCDLCD

——>ARM7TDMITAP

CPUCoreeDMACONT.

Controllerm

Cache

InterruptCONT.

BKByteBG

Power

ZDMA(2-Ch)|<->n

Management

SystemBusBridge&Arbitration/

BDMA(2-Ch.)

GPIO

(Controller)

AIN[7:0]ADC

I2CBusO

Controller

P

hI2SBus

Controller

e

WatchdogTimer

□ART0,1(Eachi.

a16byteFIFO)?o

SynchronousI/O

32768HzB

RTC

SIOCK

□(ReedTimeClock

PWMTimer

0-4,5(intemal)

EXTCLK103

S3c44B0X微處理器管腳定義圖

□Q

DA

溫馨提示

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

評論

0/150

提交評論