【正文】
n ARM的工作模式n ARM數(shù)據(jù)和指令格式n ARM開發(fā)軟件35TM 3539v08 The ARM Architecture數(shù)據(jù)和指令類型n ARM 采用的是 32位架構(gòu) .n ARM 約定 :n 字節(jié) : 8 bitsn 半字 : 16 bits (2 byte)n 字 : 32 bits (4 byte)n 大部分 ARM core 提供:n ARM 指令集( 32bit) n Thumb 指令集 (T變種 )( 16bit )36TM 3639v08 The ARM ArchitectureARM 指令集n 所有 ARM指令均為 32bits長n 大部分為單周期指令n 所有指令都可以條件執(zhí)行n 采用 Load/Store 架構(gòu) n 數(shù)據(jù)處理指令: SUB r0,r1,5 。r15r0 ADD r2,r3,r3,LSL 2 。R3x4+r3r2 ANDS r4,r4,0x20 。r4+0x20r4,更新條件碼標(biāo)志位 ADDEQ r5,r5,r6 。r5+r6r5(條件 相等 )n 存儲(chǔ)器存取指令: LDR r0,[r1],4 。r1+4r0 STRNEB r2,[r3,r4] 。NE符合 將 r2低 8位數(shù)寫到 [r3+r4]內(nèi)存單元 LDRSH r5,[r6,8]! 。[r6+8]r5(半字節(jié) ), r5中高 16位設(shè)置成該字節(jié)的符號(hào)位 STMFD sp!,{r0,r2r7,r10} ; 出棧37TM 3739v08 The ARM ArchitectureARM 跳轉(zhuǎn)分支指令n B labeln PC 177。32 Mbyte .n BL 子程序 n 保存返回地址到 LRn 返回時(shí)從 LR 恢復(fù) PCn 對(duì)于 nonleaf 函數(shù) , LR 必須壓棧保存STMFD sp!,{regs,lr}:BL func2:LDMFD sp!,{regs,pc}func1 func2::BL func1:::::::MOV pc, lr38TM 3839v08 The ARM ArchitectureThumb指令集n Thumb 是一個(gè) 16bits 指令集n 優(yōu)化代碼密度 (~65% of ARM )n 提高窄內(nèi)存操作性能n 是 ARM指令集的一個(gè)功能子集n ARM / Thumb 轉(zhuǎn)換使用 BX 指令01531 0ADDS r2,r2,1ADD r2,132bits ARM 指令16bits Thumb 指令對(duì)于有編譯器產(chǎn)生的絕大多數(shù)指令 :n 條件執(zhí)行不可用n 源和目的寄存器相同n 只有低端寄存器可用n 常量大小受限制n 內(nèi)嵌的桶形移位不可用39TM 3939v08 The ARM Architecture主要內(nèi)容n ARM簡介n ARM的主要特點(diǎn)n 常用 ARM內(nèi)核n ARM應(yīng)用選型n ARM的工作模式n ARM數(shù)據(jù)和指令格式n ARM開發(fā)軟件40TM 4039v08 The ARM ArchitectureARM Developer Suite n ARM開發(fā)而設(shè)計(jì)的一整套軟件開發(fā)工具n 從最初的軟件原型到最終優(yōu)化的 ROM代碼。n 2022的 12月份n 支持的主機(jī)系統(tǒng)n IBM patible PCs with Windows 95, 98, 2022, ME or NT4n Sun workstations with Solaris , or n HP workstations with HPUX , 11n Red Hat Linux amp。 n 使用 FLEXLM管理器 ,管理它的 LICENSEn 45天的評(píng)估版軟件n 第三方工具支持 :n 41TM 4139v08 The ARM Architecture使用 MultiICE 調(diào)試5線 JTAGn 被調(diào)試的系統(tǒng)可以是最終系統(tǒng) !n 也可以使用第三方開發(fā)調(diào)試工具。DataAddressControlBREAKPTCPUARMDebugger and MultiICE server (可以運(yùn)行在不同的主機(jī)上 )TAPEmbeddedICELogicRT42TM 4239v08 The ARM ArchitectureARM 實(shí)時(shí)跟蹤n Embedded Trace Macrocell (ETM)n 實(shí)時(shí)指令 (PC) 跟蹤n 實(shí)時(shí)數(shù)據(jù)訪問跟蹤n 包含 ICE功能( trigger amp。 filter logic)n MultiTrace Trace Port Analyzer (TPA)n 更深層次的追蹤n Trace Debug Toolsn 通過 JTAG/MultiICE配置 ETM 跟蹤n 從 ETM/MultiTrace接收跟蹤信息n 使用源代碼鏡像文件得到 ETM跟蹤的數(shù)據(jù)5ARMcore ETM…RAM ROM …TAPcontroller TraceTrigger /Filter9,13,21 wire Trace Port5 wire JTAG portSerial/Ether并口 l主機(jī)運(yùn)行 Trace Debug 工具(Addon for ADS)