Upload
shaine-edwards
View
111
Download
8
Embed Size (px)
DESCRIPTION
嵌入式系统设计与实例开发 —— ARM 与 C/OS-Ⅱ 第六讲 嵌入式微处理器体系结构. 第六讲、 ARM 微处理器体系结构. 1. 嵌入式微处理器分类. ARM 嵌入式微处理器简介. 2. 3. ARM 体系结构. ARM JTAG 调试. 4. 5. 6. 一、嵌入式微处理器分类. ( 1 )、嵌入式微控制器. 嵌入式微控制器的典型代表是单片机,这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。 - PowerPoint PPT Presentation
Citation preview
4
( 1 )、嵌入式微控制器
嵌入式微控制器的典型代表是单片机,这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。
单片机芯片内部集成 ROM/EPROM 、 RAM 、总线、总线逻辑、定时 / 计数器、看门狗、 I/O 、串行口、脉宽调制输出、 A/D 、 D/A 、 Flash RAM 、EEPROM 等各种必要功能和外设。
6
由于 MCU 低廉的价格,优良的功能,所以拥有的品种和数量最多,比较有代表性的包括 8051 、 MCS-251 、 MCS-96/196/296 、 P51XA 、 C166/167、 68K 系列以及 MCU 8XC930/931 、 C540 、 C541 ,并且有支持 I2C 、 CAN-Bus 、 LCD 及众多专用MCU 和兼容系列。
近来 Atmel 推出的 AVR 单片机由于其集成了 FPGA 等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。
7
( 2 )、嵌入式 DSP 处理器
DSP 处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、 FFT 、频谱分析等各种仪器上 DSP 获得了大规模的应用。
DSP 的理论算法在 70 年代就已经出现,但是由于专门的DSP 处理器还未出现,所以这种理论算法只能通过 MPU 等由分立元件实现。 1982 年世界上诞生了首枚 DSP 芯片。在语音合成和编码解码器中得到了广泛应用。 DSP 的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。
目前最为广泛应用的嵌入式 DSP 处理器是 TI 的 TMS320C2000/C5000 系列,另外如 Intel 的 MCS-296 和 Siemens 的TriCore 也有各自的应用范围。
8
MPU 嵌入式微处理器是由通用计算机中的 CPU 演变而来的。
与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。
( 3)、嵌入式微处理器( Micro Processor Unit)
10
SoC 就是 System on Chip , SoC 嵌入式系统微处理器就是一种电路系统。
它结合了许多功能区块,将功能做在一个芯片上,像是 ARM RISC 、 MIPS RISC 、 DSP或是其他的微处理器核心,加上通信的接口单元,像是通用串行端口( USB )、 TCP/IP 通信单元、 GPRS 通信接口、 GSM 通信接口、 IEEE1394 、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。
( 4)、嵌入式片上系统 (System On Chip)
11
SoC 是追求产品系统最大包容的集成器件, SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。
运用 VHDL 等硬件描述语言不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。
12
由于 SOC往往是专用的,所以大部分都不为用户所知,如 Philips 的 Smart XA 。 Siemens 的 TriCore , Motorola 的 M-Core ,某些 ARM 系列器件, Echelon 和 Motorola联合研制的 Neuron 芯片等。
SOC 芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。
13
SoC 嵌入式系统微处理器所具有的其他的好处可以分为下列几点:
利用改变内部工作电压,降低芯片功耗。减少芯片对外管脚数,简化制造过程。减少外围驱动接口单元及电路板之间的信号传
递,可以加快微处理器数据处理的速度。内嵌的线路可以避免外部电路板在信号传递时
所造成系统杂讯。
15
二、 ARM 结构微处理器简介
ARM 于 1990 年 11月在英国伦敦成立
前身为 Acorn 计算机公司
Advance RISC Machine (ARM)
全球领先的 16/32 位嵌入式 RISC 微处理器解决方案供应商。
ARM公司是知识产权( IP )公司,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。
16
ARM 的发展历程
1991 年, ARM 推出第一款RISC 嵌入式微处理器核 AR
M6;
1993 年, ARM 推出 ARM7
核;
1995 年, ARM 的 Thumb
指令为 16 位系统增加了 32
位的性能, ARM 提供了业界领先的代码密度。
19
ARM 微处理器系列 ARM 微处理器目前包括下面几个系列,除了具有 ARM 体系结构的共同特
点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。
- ARM7 系列
- ARM9 系列
- ARM9E 系列
- ARM10E 系列
- SecurCore 系列
- Inter 的 Xscale
- Inter 的 StrongARM
其中, ARM7 、 ARM9 、 ARM9E 和 ARM10 为 4个通用处理器系列。
20
ARM7 微处理器
ARM7采用冯 ·诺依曼( Von-Neumann) 结构,数据存储器和程序存储器重合在一起。
ARM7 为三级流水线结构(取指,译码,执行),平均功耗为 0.6mW/MHz ,时钟速度为 66MHz ,每条指令平均执行 1.9个时钟周期。
ARM7 系列微处理器包括如下几种类型的核: ARM7
TDMI 、 ARM7TDMI-S 、 ARM720T 、 ARM7EJ 。
21
ARM7 微处理器
ARM7TMDI 是目前使用最广泛的 32 位嵌入式RISC 处理器,属低端 ARM 处理器核。 TDMI
的基本含义为:
T: 支持 16 位压缩指令集 Thumb;
D: 支持片上 Debug;
M:内嵌硬件乘法器( Multiplier )
I: 嵌入式 ICE ,支持片上断点和调试点;
22
ARM9 微处理器
ARM9采用哈佛( Harvard) 结构,程序存储器与数据存储器分开,提供了较大的存储器带宽。同时,大多数 DSP都采用此结构。
ARM9 为五级流水线(取指,译码,执行,缓冲 / 数据,回写),平均功耗为 0.7mW/MHz 。时钟速度为 120MHz-200MHz ,每条指令平均执行 1.5个时钟周期。
ARM9 系列微处理器包含 ARM920T 、 ARM922T和 ARM940T三种类型,以适用于不同的应用场合。
25
ARM 微处理器的应用 1 、工业控制领域:作为 32 的 RISC架构,基于 ARM核的微控制器芯片
不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,向传统的 8 位 /16 位微控制器提出了挑战。
2 、无线通讯领域:目前已有超过 85% 的无线通讯设备采用了 ARM技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。
3 、网络应用:随着宽带技术的推广,采用 ARM技术的 ADSL 芯片正逐步获得竞争优势。此外, ARM 在语音及视频处理上行了优化,并获得广泛支持,也对 DSP 的应用领域提出了挑战。
4 、消费类电子产品: ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。
5 、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用 ARM
技术。手机中的 32 位 SIM智能卡也采用了 ARM技术。
27
三、 ARM 体系结构的特点
(1) 、 RISC 型处理器结构;
ARM采用 RISC 结构,在简化处理器结构,减少复杂功能指令的同时,提高了处理器的速度。
考虑到处理器与存储器打交道的指令执行时间远远大于在寄存器内操作的指令执行时间, RISC 型处理器采用了 Load/Store (加载 /
存储)结构,即只有 Load/Store 指令可与存储器打交道,其余指令都不允许进行存储器操作。
同时,为了进一步提高指令和数据的存取速度, RISC 型处理器增加了指令高速缓冲 I-Cache 和数据高速缓冲 D-Cache 及多处理器结构,使指令的操作尽可能在寄存器之间进行。
28
ARM 体系结构的特点
(2) 、 Thumb 指令集;
虽然 ARM 处理器本身是 32 位设计, 但考虑到 RISC 型处理器的指令功能相对较弱,新型的 ARM 体系结构中定义了 16 位的 Thumb 指令集。
Thumb 指令集比通常的 8/16 位 CISC/RISC 处理器有更好的代码密度,而芯片面积只增加 6% ,却可以使程序存储器更小。
29
ARM 体系结构的特点
(3) 、多处理器状态模式;
ARM 体系结构定义了 7 种处理器模式:用户 (usr) 、快中断 (fiq) 、中断 (irq) 、管理 (svc) 、终止 (abt) 、未定义(und) 和系统 (sys) ,大大提高了 ARM 处理器的效率。
(4) 、两种处理器工作状态;
ARM状态(执行 32 位 ARM 指令)和 Thumb状态(执行 16 位 Thumb 指令)。
30
ARM 体系结构的特点
(5) 、嵌入式在线仿真调试;
ARM 体系结构的处理器芯片都嵌入了在线仿真 ICE-RT 逻辑,便于通过 JTAG 来仿真调试芯片,省去了价格昂贵的在线仿真器。
(6) 、灵活方便的接口;
ARM 体系结构具有协处理器接口,允许接 16个协处理器。既可以使基本的 ARM 处理器内核尽可能小,方便地扩充 AR
M 指令集,也可以通过未定义指令来支持协处理器的软件仿真。
32
Samsung S3C44B0X
Samsung S3C44B0X 微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,使用 ARM7TDMI核,工作在 66MHZ 。集成了下列部件:
8KB Cache
外部存储器控制器 LCD 控制器 4个 DMA 通道 2 通道 UART
1个多主 I2C 总线控制器 1个 IIS 总线控制器 5 通道 PWM 定时器及一个内部定时器 71个通用 I/O 口 8个外部中断源、实时时钟、 8 通道 10 位 ADC 等。
33
S3C44B0X 体系结构:
用于手持设备和通用嵌入式应用的完整系统;16/32 位 RISC 结构和带 ARM7TDMI CPU核
的功能强大的指令集;Thumb协处理器在保证性能的前提下使代码
密度最大;片上 ICE 中断调试, JTAG 调试方式328 位硬件乘法器;
34
系统管理:支持大 / 小端模式地址空间:每个 Bank32MB (一共 256MB );每个 Bank 支持 8/16/32 位数据总线编程;固定的 Bank起始地址和 7个可编程的 Bank;1个起始地址和尺寸可编程的 Bank;8个内存 Bank::6个用于 ROM 、 SRAM; 2个用于ROM/SRAM/DRAM;所有内存 Bank 的可编程寻址周期;在能量低的情况下支持 DRAM/SDRAM 自动刷新模式 支持 DRAM 的非对称 /对称寻址;
35
缓冲内存和内部 SRAM
4路带 8K 字节的联合缓存;不使用缓存的 0/4/8K 内容 SRAM
伪 LRU (最近最少使用)的替代算法;通过在主内存和缓冲区内容之间保持一致的方
式写内存;当缓冲区出错时,请求数据填充技术;
系统管理:
36
时钟和能量管理
低能耗; 时钟可以通过软件选择性地反馈回每个功能块 能量模式: 正常模式:正常运行模式; 低能模式:不带 PLL 的底频时钟; 休眠模式:只使 CPU 的时钟停止; 停止模式:所有时钟都停止; 用 EINT或 RTC警告中断从停止模式唤醒
37
中断控制器
30个中断源(看门狗定时器, 6个定时器, 6个 UART , 8个外部中断, 4个 DMA , 2个 RTC , 1个 ADC , 1个 I2C , 1个 SIO;
矢量 IRQ 中断模式减少中断响应周期;
外部中断源的水平 /边缘模式;
可编程的水平 /边缘极性;
对紧急中断请求支持 FIQ (快速中断请求);
40
通用输入输出端口
8个外部中断端口71个多路输入输出口;UART
2个带 DMA 和中断的 UART; 支持 5 位, 6 位, 7 位, 8 位串行数据传送 /接收; 当传送 /接收时支持双向握手 可编程波特率; 支持 IrDA1.0 ( 115.2KBPS ); 测试的循环返回模式; 每个通道有 2个内部 32 位 FIFO
41
DMA 与 A/D
DMA控制器 2路通用无需要 CPU干涉的 DMA 控制器;2路桥式 DMA 控制器;采用 6 种 DMA请求的桥式 DMA 支持 IO 到内存 , 内
存到 IO , IO 到 IO:软件, 4个内部功能块( UART , SIO,实时器, IIS ),外部管脚;
DMA之间可编程优先级次序;突发传送模式提高到 FPDRAM 、 EDODRAM 和 SDR
AM 的传送率;
A/D转换10 位多路 ADC; 最大 500KSPS/10 位;
42
LCD 控制器
支持彩色 / 单色 /灰度 LCD; 支持单扫描和双扫描显示; 支持虚拟显示功能 系统内存作为显示内存 专用 DMA 用于从系统内存中提取图象数据; 可编程屏幕尺寸; 灰度: 16级 256色
43
看门狗定时器与 I2C 总线接口
16 位看门狗定时器: 定时中断请求和系统复位;
1个带中断的多主机 I2C 总线:串行, 8 位,双向数据传送器能够以 100KB/S 的标准模式和 400KB/S 的快速模式传送
44
IIS 总线接口
1个带 DMA 的音频 IIS 总线接口:串行,每路8/16 位数据传送器;支持 MSB 数据格式;
SIO (同步串行 I/O )
1个带 DMA 和中断的 SIO
可编程波特率;支持 8 位串行数据传送 /接收操作
60
回顾 S3C44B0X 的几个特点
集成 ARM7TDMI核
ARM7TDMI:无MMU ,无 Cache
增加 8KB 的 Cache(SRAM)
外部扩充存储控制器系统 (存储 )管理
支持大 / 小端模式
总共 256MB 的地址空间
62
Cache 和片内 SRAM
4路组相联统一的 8KB 指令 / 数据 Cache
未作为 Cache 使用的 Cache存储空间可作为片内 SRAM 使用
Cache采用伪 LRU替换算法采用写直达 (Write through) 模式与主存保持
一致
64
CPU Wrapper
CPU Wrapper 由 CPU核、 Cache 和写入缓冲器组成
8k 的内部直接存储器,三种方式使用:
1 、用作 8k 字节的统一 Cache
2 、用作 4k 的统一 Cache 和 4k 的片内 SRAM
3 、用作 8k 字节的内部 SRAM
65
写缓冲操作 (Write Buffer)
S3C44B0X 有 4 个写缓冲区寄存器来提高存储器的写性能。当写缓冲器模式使能, CPU 不再将数据直接写入外部存储器而是将数据写入写缓存区。
写缓冲区具有 4 个寄存器。每个寄存器包括一个 32 位数据区域, 28 位的地址区域和 2 位的状态区域
70
S3C44B0X 支持的存储器类型
ROM 只读,主要用来存放启动代码Flash ROM(闪存 ) 可读可写,但写的速度较慢
。用于存放断电后需长期保存的数据DRAM 最为常用的 RAM 。需要定时刷新,要先设置好 DRAM 控制器。
SRAM 比 DRAM 要快,不需要刷新,速度快,通常用于高速存储器 (Cache)
SDRAM 和处理总线同步,支持 burst 高效传输
71
SC344B0X存储管理控制器的特点
地址空间 (Bank): 8×32M= 256M
6个可用于 ROM,SRAM 。 2个可用于 ROM 、SRAM 、 FP/EDO/SDRAM 等存储器
7个起始地址固定, 1个起始地址及大小可变所有存储器空间的访问周期都可通过编程配置
72
特殊功能寄存器
1 、总线宽度 / 等待控制寄存器 (BWSCON)
2 、 Bank 控制寄存器 (BANKCONn)
3 、刷新控制寄存器 (REFRESH)
4 、 Bank 大小寄存器 (BANKSIZE)
5 、 Bank6 和 Bank7 模式设置寄存器 (MRSR)
81
SDRAM BANKS DESIGN
SDRAM ( 同步动态随机存储器 )地址空间的配置需要用到 CKE 、 SCLK 、 nSCS[1:0] 、 nSCAS 、 nSRAS 、 DQM[3:0] 、 ADDR[12] 等信号。
常见的配置方式如下图:
84
总结: S3C44B0X存储系统的特征
支持数据存储的大 / 小端选择 ( 通过外部引脚进行选择: ENDIAN 为 L 时则使用大端模式 )
地址空间:具有 8个存储体,每个存储体可达 32Mb ,总共可达 256Mb 。对所有存储体的访问大小均可改变( 8 位/ 16 位/ 32 位)8个存储体中, Bank0- Bank5 可支持 ROM 、 SRAM ; Bank6 、 Bank7 可支持 ROM 、 SRAM和 SDRAM 等。7个存储体的起始地址固定, 1个存储体的起始地址可变。
85
典型系统中存储体的分配情况
存储体 与存储体的接口
Bank0 BIOS 512K×2Flash
Bank1 16M Flash 硬盘
Bank2 USB接口
Bank3 LCD显示模块
Bank4 保留
Bank5 保留
Bank6 系统内存 SDRAM
Bank7 保留
86
复位后的 S3C44B0X 的存储器映射表
2MB/4MB/8MB/16MB/32MB
2MB/4MB/8MB/16MB/32MB
32MB
32MB
32MB
32MB
32MB
28MB
256MB SA[27:0] 可存取 区域
参 见 表 7-1
特殊功能 寄存器(4MB)
SROM (nGCS1)
SROM (nGCS1)
SROM (nGCS2)
SROM (nGCS3)
SROM (nGCS4)
SROM (nGCS5)
SROM/DRAM/SDRAM (nGCS6)
SROM/DRAM/SDRAM (Ngcs7)
0x1000_0000
0x0e00_0000
0x0c00_0000
0x0e00_0000
0x0800_0000
0x0600_0000
0x0400_0000
0x0200_0000
0x01c0_0000
0x0000_0000
87
使用 Bank0 上的两片 512Kb×2:
放置系统 BIOS ,系统上电以后, PC 指针自动指向 Bank0 的第一个单元,开始进行系统自举。
系统自举完成以后,从硬盘中将系统文件和用户应用程序复制到 SDRAM 内存中执行。
Bank1 上接 16M非线性 Flash ,当做系统硬盘使用,可以构造文件系统,存放海量数据。 用 SDRAM当作系统内存,只有 Bank6/Bank7 能支持
SDRAM ,所以将 SDRAM接在 Bank6 上。如果同时使用 Bank6/Bank7 ,则要求连接相同容量的存储,而且其地址空间在物理上是连续的。
实验系统的存储空间分配
88
实验系统的存储空间分配
Bank0 中系统初始化程序的主要任务是:
1 、管理处理器的中断服务程序处理器的中断是从 0x0地址开始,引导 ROM负责把这一部分的中断映射到另一个区域,以便系统处理。具体的做法,可以参考 44binit.s里面的代码。(这部分代码是三星主页可以提供,它把系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统 RAM 的空间))。
89
实验系统的存储空间分配
2 、初始化硬件平台,配置其他的 Bank
S3C44B0X 的 Bank0 是通过外部的一个管脚提供的上拉、下拉电阻来配置的。主要包括:数据位数( 8 位、 16 位、 32 位),数据格式(大端、小端)。而其他的 Bank 的配置,以及读写周期等信息是靠 Bank
0 内部的代码配置相应的寄存器来实现的。同时,系统的引导 Rom 也负责配置系统的其他的一些寄存器,比如,系统的 PLL (锁频环)配置,系统的 IO口等一些端口功能的配置等等。
90
实验系统的存储空间分配
3 、系统自动检测
引导 Rom负责检测系统的启动必须的外设是否正常。主要是系统的 SDRAM 的检测。
4 、系统的软件设置,更新系统( system.bin )
用户可以在系统启动的时候,按任意键,进入系统的软件设置状态。通过引导 Rom 设置或者查看系统的一些软件信息。包括:通过开启 USB端口,更新系统文件 system.bin; LCD显示测试;演示程序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以太网地址的设置等
91
实验系统的存储空间分配
Bank1: K9F2808 (三星 16Mbyte Flash ),非线性寻址,每次寻址需要 3次写入 8 位地址线。具体的时序可以参考 K9F2808 的 datasheet
Bank2: USBN9603 。 USB 设备端接口芯片,占用系统外部中断 0 。 8 位数据总线。
Bank3 、 Bank4 未接设备。可以供扩展使用Bank5: RTL8019AS , ISA 总线兼容的 10M 以太网( PHY+MAC层)控制芯片。占用系统外部中断 1 , 16 位数据总线
92
Bank6: SDRAM ,起始地址为 0xC000000 。在 SDRAM 中,前 512Kbyte 的空间:作为系统的 LCD显示缓冲区(更新其
中的数据,就可以更新 LCD 的显示)。系统的程序存储空间从 0xC080000 开始。引导系统的时候,需要把 system.bin文件复制到 0xC080000 开始的地址空间,把 PC 指针指向 0xC080000 。
Bank7:未使用。可以扩展另一片 SDRAM ,或者其他的外设 系统的同步串行口( SIO ),连接着触摸屏控制芯片 FM7843
(与 ADS7843完全兼容)。在同步串行口上,还可以扩展其他的芯片。使用片选信号( CS )防止设备的冲突。
注:系统的扩展接口上, A0 的标号,连接在 S3C44B0X 的 ADDR1 上,后面的地址依次向后错位。
95
几种常用的调试方法指令集模拟器
一种利用 PC 机端的仿真开发软件模拟调试的方法。驻留监控软件
驻留监控程序运行在目标板上, PC 机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务
JTAG仿真器
通过 ARM 芯片的 JTAG边界扫描口与 ARM核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段
在线仿真器
使用仿真头代替目标板上的 CPU ,可以完全仿真 ARM 芯片的行为。但结构较复杂,价格昂贵,通常用于 ARM硬件开发
96
什么是 JTAG?
JTAG 是 Joint Test Action Group 的缩写;是 IEEE1149.1标准
JTAG 的建立使得集成电路固定在 PCB 上,只通过边界扫描便可以被测试
在 ARM7TDMI 处理器中,可以通过 JTAG直接控制 ARM 的内部总线, IO 口等信息,从而达到调试的目的
97
JTAG 的典型接口
TMS: 测试模式选择( Test Mode Select ),通过 TMS 信号控制 JTAG状态机的状态
TCK : JTAG 的时钟信号TDI:数据输入信号TDO :数据输出信号nTRST: JTAG复位信号,复位 JTAG 的状态机
和内部的宏单元( Macrocell )
99
宿主机调试器
宿主机调试器通过固定的协议控制下位机(协议转换器)。比如, SDT 中通过 Angel协议或者第三方调试器所提供的协议
宿主机调试器只发送宏观的命令,比如:程序运行、终止。读写内存、 ARM寄存器等
通讯的介质可以是串口、并口、以太网、 USB 等
100
JTAG 与 Angel
JTAG 调试:协议转换器解释上位机传送过来的命令,通过 JTAG 控制 ARM执行。
Angel 调试:协议转换器可以直接做为目标板的 Firmware 的一部分。直接执行从宿主机传送过来的调试命令;并回送相应的数据。
Angel 可以节省专门的 JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而 JTAG仿真是通过硬件和控制 ARM 的 EmbeddedICE 实现的,可以做到实时仿真。
101
ARM7TDMI 中断点的设置
设置 EmbeddedICE 的两个 watchpoint 单元主要包括:地址、数据、控制信号等
当一个(或者两个) watchpoint 中的地址(也可以包括数据)和 ARM 所执行的当前的指令相同的时候, ARM 就从运行状态进入 Debug状态
102
断点的类型
硬件断点:在 ARM 中直接设定 watchpoint 中的地址,当 ARM 运行到制定的地址时,就进入Debug状态
软件断点:改变存储器中的 ARM 指令为一个特殊的数据 X ( ARM 的未定义指令),同时,设置 watchpoint 中的断点数据也为 X ,当 ARM把 X 数据作为指令读入的时候, ARM 就进入 Debug状态
103
硬件断点和软件断点的优缺点
硬件断点:数目受 EmbeddedICE 中的 Watchpoint 数目的限制;但是,可以在任何地方设置断点
软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置(比如: RAM ),而不能在 ROM (比如: Flash )中设置