第2章 CM3嵌入式系统体系结构
嵌入式系统体系结构
嵌入式系统体系结构嵌入式系统体系结构所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
下面是店铺整理的关于嵌入式系统体系结构,欢迎大家参考!嵌入式系统体系结构:嵌入式系统的组成包含了硬件层、中间层、系统软件层和应用软件层。
1、硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。
嵌入式核心模块=微处理器+电源电路+时钟电路+存储器Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。
它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。
2、中间层(也称为硬件抽象层HAL或者板级支持包BSP).它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。
BSP有两个特点:硬件相关性和操作系统相关性。
设计一个完整的BSP需要完成两部分工作:A、嵌入式系统的硬件初始化和BSP功能。
片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。
板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。
系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。
B、设计硬件相关的设备驱动。
3、系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。
RTOS是嵌入式应用软件的基础和开发平台。
4、应用软件:由基于实时系统开发的应用程序组成。
嵌入式芯片体系结构介绍1.嵌入式微处理器(Micro Processor Unit,MPU)嵌入式微处理器是由通用计算机中的CPU演变而来的。
它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。
但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。
嵌入式系统体系结构
嵌入式系统体系结构嵌入式系统体系结构是指嵌入式系统在硬件和软件层面的组织结构和设计原则。
嵌入式系统体系结构的设计需要考虑到系统的功能需求、资源限制、可靠性、实时性等因素。
本文将介绍嵌入式系统体系结构的几个重要概念和设计原则。
一、嵌入式系统体系结构的概念1.处理器体系结构:嵌入式系统的处理器体系结构决定了系统的性能和功耗特性。
常见的处理器体系结构包括单核处理器、多核处理器、多处理器系统等。
在选择处理器体系结构时,需要根据系统的性能需求和资源限制来确定。
2.操作系统体系结构:嵌入式系统的操作系统主要负责管理系统的资源和提供各种服务,如任务调度、内存管理、设备驱动等。
常见的操作系统体系结构包括单任务系统、多任务系统、实时操作系统等。
在选择操作系统体系结构时,需要根据系统的实时性需求和资源限制来确定。
3.硬件体系结构:嵌入式系统的硬件体系结构主要包括中央处理器、存储器、通信接口等。
在设计硬件体系结构时,需要考虑系统的性能需求、资源限制以及可扩展性等因素。
二、嵌入式系统体系结构的设计原则1.低功耗:嵌入式系统常常工作在电池供电或功耗限制的环境下,因此低功耗是嵌入式系统设计的重要考虑因素。
在处理器体系结构的设计上,可以采用节能技术如动态电压调节、频率调节等来降低功耗;在软件设计上,可以采用功耗管理技术如功耗分级、功耗优化等来降低功耗。
2.实时性:嵌入式系统常常需要满足实时性需求,即对任务的响应时间有严格的要求。
在操作系统体系结构的设计上,可以采用实时调度算法如最早截止时间优先(EDF)、最短剩余时间优先(SRT)等来保证任务的实时性。
3.可靠性:嵌入式系统往往工作在恶劣的环境下,对系统的可靠性要求较高。
在硬件体系结构的设计上,可以采用冗余技术如备份处理器、备份存储器等来增强系统的可靠性;在软件设计上,可以采用容错技术如软件重启、错误检测与纠正等来提高系统的可靠性。
4.简洁性:嵌入式系统的资源有限,因此在系统的设计上要追求简洁和高效。
第二章 嵌入式系统体系结构
ARM架构
ARM架构至今已定义5种不同版本:
V1版架构
V2版架构
V3版架构
V4版架构
V5版架构
V1版架构
V1版架构只在原型机ARM1出现过,其基本性能:
基本的数据处理指令(无乘法) 字节、半字和字的LOAD/STORE指令 转移指令,包括子程序调用及链接指令 软件中断指令 寻址空间:64M字节(226)
SHARC的移位操作
Rn=LSHIFT Rx by Ry Rn=Rn OR SHIFT Rx by Ry
逻辑移位Ry位 逻辑移位并逻辑或
Rn=ASHIFT Rx by Ry
算术移位
Rn=Rn OR ASHIFT Rx by Ry 算术移位并逻辑或
Rn=ROT Rx by Ry
在片系统/片级系统(SOC)
微处理器(ARM)/DSP(SHARC)
计算机系统体系结构 1、冯.诺依曼结构
五大部件: ALU/Controller/Memory/Input/Output
核心部件:CPU—Memory
存储程序(stored program)
计算机系统体系结构
指令执行次序:
Rn=BCLR Rx by Ry Rn=BSET Rx by RY
循环移位Ry位
清Rx中的一位 设Rx中的一位
Rn=BTGL Rx by Ry BTST Rx by Ry Rn=FDEP Rx by Ry
切换Rx中的1位 测试Rx中的1位 将Rx中的域累计进Rn中
Rn=Rn OR FDEP Rx by Ry 使用OR操作累计并符号扩展 Rn=FEXT Rx by Ry Rn=EXP Rx 提取Rx中的域 提取指数域
《嵌入式系统结构》课件
嵌入式存储器包括RAM、ROM、Flash 等类型
Flash用于存储程序和数据,断电后数 据不丢失,速度快,但价格较高
RAM用于存储临时数据,速度快,但断 电后数据丢失
嵌入式存储器的选择需要考虑成本、性 能、功耗等因素
嵌入式输入输出接口
输出接口:用于输出处理结 果,如显示器、扬声器、 LED灯等
输入接口:用于接收外部信 号,如键盘、鼠标、传感器 等
接口类型:串行接口、并行 接口、USB接口、I2C接口
等
接口功能:数据传输、控制 信号、电源管理等
嵌入式电源与接地
电源管理:确保系统稳定运行,降低功耗 电源设计:考虑电源电压、电流、稳定性等因素 接地设计:确保系统安全,防止电磁干扰 电源保护:防止电源异常导致的系统损坏
Part Four
嵌入式系统软件结 构
应用程序:实现特定功能,如数据采 集、数据处理等
Part Five
嵌入式系统的性能 评估与优化
嵌入式系统的性能指标
资源利用率:系统对硬件资 源的使用效率
吞吐量:系统在单位时间内 处理的数据量
响应时间:系统对输入信号 的反应速度
稳定性:系统在长时间运行 中的稳定性和可靠性
功耗:系统在运行过程中消 耗的能源
嵌入式系统在智能制造领域的应用前景
智能化生产:通过嵌入式系统实现 生产线的自动化、智能化生产
质量控制:通过嵌入式系统实现产 品质量的实时监控和自动调整,提 高产品质量
添加标题
添加标题
添加标题
添加标题
设备监控:通过嵌入式系统实时监 控生产设备的运行状态,提高生产 效率
智能物流:通过嵌入式系统实现物 流的自动化、智能化管理,提高物 流效率
嵌入式处理器的特点包括低功耗、 高集成度、高可靠性和实时性等。
嵌入式系统硬件体系结构-第二章
DRAM
RAM类存储器
SDRAM
SRAM
CACHE
DRAM
SDRAM
SRAM
CACHE
NVRAM
NVRAM
RAM类存储器
DRAM SDRAM
SRAM
CACHE NVRAM
1. DRAM 的英文全称是“Dynamic RAM”,翻译成中文就是“动态随机存储器”。
2. DRAM用于通常的数据存取。我们常说内存有多大,主要是指DRAM的容量。
3. DRAM需要刷新:DRAM的数据是靠电容特性存储的。由于电容会放电,要维持 数据,就要不断的给它充电。给动态 DRAM 定期充电的机制就叫做数据刷新时钟 电路,即内存刷新电路。
4. 在标准的 PC 电路设计中,每隔 15 微秒( us )对 DRAM 充电一次,整个充电 操作必须在 4ms 之内完成。
2. FLASH ROM芯片的读和写操作都是在单电压下进行,不需跳线,只利用 专用程序即可方便地修改其内容;
3. FLASH ROM的存储容量普遍较大,约为512K到至8M KBit,由于大批量 生产,价格也比较合适,很适合用来存放程序码,广泛用于主板的 BIOS ROM,也是CIH攻击的主要目标。
③ DSP: (Digital Signal Processor )数字信号处理器.是一种具有特 殊结构的微处理器。DSP芯片的内部采用程序和数据分开的结 构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊 的DSP 指令,可以用来快速地实现各种数字信号处理算法。
处理器的性能
1. 处理器的性能包括速度和精度,处理器的速度由 处理器的时钟频率决定,处理器的精度和寻址能 力由处理器的字长决定。
1. 厂商:
① Intel 公司的805X; ② Motorola的68HCxx
CM嵌入式系统体系结构
中断状态寄存器(IPSR)
中断状态寄存器(IPSR)包含当前激活的异常 的ISR编号。 IPSR的位分配
31 ---保留 ISR NUMBER 基础级别 =0 Reset =1 NMI =2 SVCall =11 ...... 9 8 -中断号 0
执行状态寄存器(EPSR) 为什么需要执行状态寄存器EPSR?
CM3处理器内核是ARMv7-M体系结构:
1. CPU中央处理器(32位)
2. 先进的系统外设
3. 中断控制 4. 内存保护 5. 系统调试与跟踪功能 6. 传统Thumb和新型Thumb2指令译码器 7. 特殊功能寄存器
STM32F103 系列内部框图
2.2 处理器工作模式和状态
不同的应用会有不同的模式
1、应用程序PSR(APSR)
2、中断状态PSR(IPSR)
3、执行状态PSR(EPSR)
通过MRS/MSR指令,这三个PSRs可单向访问,
也可组合访问。
使用三合一访问时的名称为xPSR或PSR。
寄存器位域名称
APSR各位定义
1、应用状态寄存器(APSR)包含条件代码标志。 2、在进入异常之前,Cortex-M3处理器将 APSR中的条件代码标志保存在堆栈内(硬件 压栈)。 3、访问APSR可以使用MSR(2)和MRS(2)指令 来。
支持2种模式和2种访问
1. 工作模式与访问权限的关系
Handler
私有模式
私有模式
非私模式 Thread
特权访问和用户访问
2. 特权访问和用户访问之间的相互转换
复位 线程模式 特权访问 CONTROL[0] = [0]=1 线程模式 用户访问
MSR指令置位 CONTROL[0]=1
嵌入式部分复习题、练习题-含答案
第1章:ARM和嵌入式系统介绍嵌入式系统的概念ARM嵌入式处理器的版本Cortex系列处理器的组成和特点嵌入式操作系统第2章:ARM体系结构ARM、CM3处理器状态:Thumb状态和调试状态CM3处理器工作模式:Handler模式和Thread模式代码特权分级:特权级和非特权(用户)级CM3内部寄存器:r0-r12,r13,r14,r15,状态寄存器xPSR存储器映射机制:大端格式和小端格式数据对齐方式:字对齐、半字对齐、非字对齐、非半字对齐异常概念、CM3异常机制特点第3章:Cortex-M3控制器及外围硬件简介嵌入式最小系统组成第4章:指令系统和时钟ARM、Thumb、Thumb-2和CM3指令集的特点和关系STM32时钟系统结构原理和初始化编程启动代码第5章:GPIO实验、第6章:UART实验、第9章:中断实验第10章:RTC实验原理和编程第7章:模/数转换、第8章:定时器实验原理即可,不考程序1. 什么是嵌入式系统?嵌入式系统有哪些应用?2. 什么是嵌入式处理器?嵌入式处理器分为哪几类?3. 说明使用实时操作系统的必要性。
4. 简要说明ARM Cortex内核处理器分为哪几个系列?各有什么特点?5. ARM Cortex-M3处理器有哪些优势符合嵌入式操作系统的要求?6. 简述NVIC的初始化步骤。
7. 什么是嵌入式处理器?嵌入式处理器分为哪几类?二、填空1. STM32F103ZET6有个引脚, KB片内FLAM ROM, KB 片内SRAM。
2. Cortex-M3处理器支持两种特权分级:特权级和。
Cortex-M3处理器支持两种工作模式,:模式和模式。
3. PSR中,标志位C是,Z是 N是,V是。
4. CM3内部寄存器中,R13的作用是,R14的作用是,R15的作用是。
5. 经典ARM7处理器有和两种状态,CM3处理器只有状态。
6. Cortex-M3的流水线分3级,分别为、、。
7. STM32F10x的管理着包括Cortex-M3核异常等中断,其和ARM 处理器核的接口紧密相连,可以实现的中断处理,并有效地处理迟来中断。
第2讲 嵌入式系统体系结构
– VLIW代码密度最低,因为它的指令字倾向于 采用多字节。
第2讲 嵌入式系统体系结构[23]
2.2.4 主流的嵌入式微处理器
• 目前主流的嵌入式微处理器系列主要有 ARM系列、MIPS系列、PowerPC系列、 Super H系列和X86系列等。
• 属于这些系列的嵌入式微处理器产品很多, 有上千种以上。
– 中断控制器,DMA控制器,协处理器
– 定时器,A/D、D/A转换器
– 多媒体加速器:当高级图形功能需要时
– 总线
– 其他标准接口或外设
第2讲 嵌入式系统体系结构[14]
2.2.3 嵌入式微处理器特点(集成度)
集 成
•
单芯片方式(Single Chip)
度 • 芯片组方式(Chip Set):由微处理器主芯
– 影响功耗的其他因素还有总线(特别是总线转 换器,可以采用特殊的技术使它的功耗最小) 和存储器的大小(如果使用DRAM,它需要不 断的刷新)。为了使功耗最小,总线和存储器 要保持在应用系统可接受的最小规模。
返回
第2讲 嵌入式系统体系结构[21]
2.2.3 嵌入式微处理器特点(成本)
成 • 为降低价格,需要在嵌入式微处理器的设计中
<200 MHz
< 600 MHz
晶体管个 数
位数
> 500K 8/16bit
>2M 8/16/32bit
>5M 8/16/32bit
>22M
8/16/32/64b it
第2讲 嵌入式系统体系结构[9]
2.2.2 嵌入式微处理器分类
• 嵌入式微处理器种类繁多,按位数可分为4位、8 位、16位、32位和64位。
– 使用多处理器:采用多处理器的方式满足应用系统的更高要 求。一些嵌入式微处理器采用特殊的硬件支持多处理器。如 TI的OMAP730包括了三个处理器核ARM9、ARM7、DSP。
第2章嵌入式系统硬件体系结构(张思民)
寄存器(register)是CPU的组成部分,是 CPU内部用来存放数据的一些小型存储区域,用 于暂时存放参与运算的数据和运算结果。
2、随机存取存储器(RAM) 嵌入式系统的存储器中,最为常见的一 种是动态随机存取存储器(DRAM),在 DRAM中晶体管和电容器合在一起就构成 一个存储单元,代表一个数据位元。电容 器保存一位二进制信息位——0或1(电容 器有无电荷表示数据1或0)。
2、S3C6410微处理器
2.4.3 Cortex微处理器结构
本章小结
• 本章首先简单介绍了嵌入式系统相关的基 础知识,这些知识和概念在以后学习嵌入 式系统设计时都要了简介。 • 本章重点要掌握嵌入式系统硬件平台的组 成,这是学习和应用嵌入式系统的基础。
2、嵌入式系统中的存储设备
(1)RAM、SRAM、DRAM • RAM即是我们通常所说的内存。RAM又可 分为SRAM(静态存储器)和DRAM(动 态存储器)。 (2)Flash • Flash是一种非易失闪存,它具有和ROM 一样掉电后数据不会丢失的特性。Flash是 目前嵌入式系统中广泛采用的主流存储器, 它的主要特点是按整体/扇区擦除和按字节 编程,具有低功耗、高密度、小体积等优 点。
• 图2.8
I/O接口电路的位置
• CPU对外设I/O端口物理地址的编址方式有 两种: • 一种是I/O映射方式(I/O-mapped); • 另一种是内存映射方式(Memory- mapped)。 • 具体采用哪一种则取决于CPU的体系结构。
2.1.6 中断
• 中断方式是指,当外部设备准备与CPU进 行数据传输时,外部设备首先向CPU发出 中断请求,CPU接收到中断请求并在一定 条件下,暂时停止原来的程序并执行中断 服务处理程序,执行完毕以后再返回原来 的程序继续执行。
第2章 嵌入式系统的体系结构
AHB总线
VIC
AHB To VPB 桥
EMC I2C串行接口 SPI串行接口 UART0 & 1 CAN
PWM0
实时时钟
看门狗定时器
系统控制
嵌入式系统开发技术与应用
2.2.1 嵌入式处理器——嵌入式DSP处理器
嵌入式系统开发技术与应用
2.2.1 嵌入式处理器——嵌入式微处理器
嵌入式微处理器具有体积小、重量轻、成本低、可靠性 高的优点,但是在电路板上必须包括ROM、RAM、总线 接口、各种外设等器件,从而降低了系统的可靠性,技术 保密性也较差。 嵌入式微处理器及其存储器、总线、外设等安装在一块 电路板上,称为单板计算机。如STD-BUS、PC104等。
2.2.2 嵌入式存储器
只读存储器ROM
Flash ROM(闪存)
静态随机访问存储器SRAM
存储器类型
动态随机访问存储器DRAM
同步动态随机访问存储器(SDRAM)
硬盘、软盘、CD-ROM等外存储器
嵌入式系统开发技术与应用
2.2.3 外设及接口
串口UART
USB(通用串行总线接口)
通信接口 以太网口 I2C、SPI、GPIO etc LCD、触摸屏 外设及接口 输入输出设备 键盘 SD/MMC卡 存储扩展接口 CF/PCMICA 电源及辅助设备
嵌入式系统开发技术与应用
2.4.1 嵌入式系统开发的流程
(1)需要交叉开发工具和环境 (2)软硬件协同设计
(3)嵌入式系统开发人员以应用专家为主
(4)软件要求固态化存储
(5)软件代码高质量、高可靠性
《嵌入式系统结构》课件
云计算和网络化
嵌入式系统将更多地与云计算和网络技术结 合,实现远程控制和数据传输。
定制化设计
随着应用领域的多样化,嵌入式系统的定制 化设计需求越来越高。
02
嵌入式系统硬件结构
微处理器
微处理器是嵌入式系统的核心 ,负责控制和协调整个系统的 运作。
常见的微处理器类型包括ARM 、MIPS、PowerPC等,它们 具有低功耗、高性能的特点。
嵌入式系统优化技术
01
嵌入式系统优化技术概述
介绍嵌入式系统优化的目的、方法和技巧,以及优化工具的种类和功能
。
02
代码优化技术
介绍代码优化的常用方法和技巧,如变量优化、循环优化、函数优化等
,以及如何使用代码优化提高程序执行效率和降低功耗。
03
内存优化技术
介绍内存优化的常用方法和技巧,如内存管理、内存泄漏检测和内存压
嵌入式系统硬件结构实例
ARM架构嵌入式系统
ARM处理器具有低功耗、高性能的特点,广泛应用于移动设备和物联网领域。
MIPS架构嵌入式系统
MIPS处理器具有简单高效的特点,常用于网络设备和数字电视领域。
03
嵌入式系统软件结构
嵌入式操作系统
实时性
嵌入式操作系统能够提供实时响应, 确保系统在规定时间内完成特定任务 。
《嵌入式系统结构》ppt课件
contents
目录
• 嵌入式系统概述 • 嵌入式系统硬件结构 • 嵌入式系统软件结构 • 嵌入式系统的开发工具与技术 • 嵌入式系统的应用案例
01
嵌入式系统概述
定义与特点
定义
嵌入式系统是一种专用的计算机系统,主要 用于控制、监视或帮助操作机器和设备。
CM嵌入式系统体系结构-2022年学习资料
Cortex-M3与ARM7的性能比较-名称。-ARM7TDMI-架构。-ARMv4T冯.若依曼-ARMv -M哈佛-ISA支持。-Thumb/ARM-Thumb/Thumb-2-流水线。-3级-3级+分支预测-中 -FIQ/IRQ-240个物理中断。-中断延时。-24~42个时钟周期。-12个时钟(末尾连锁仅6个)·眠保护。-无-内置-存储器保护。-8段存储器保护单元-硬件除法-2~12个时钟周期-运行速度-0.95 D IPS/MHZ-1.25 DMIPS/MHZ-功耗。-0.28 mW/MHZ-0.19 mW/MHz-面积 -0.62mm2〔仅内核-0.86mm2内核+外设a
支持2种模式和2种访问-1.工作模式与访问权限的关系-Handler-处理模式-始终特权访问-私有模式-可 特权访问-线程模式-也可以用户访问-非私模式-Thread
特权访问和用户访问-2.特权访问和用户访问之间的相互转换-复位-线程模式-异常-处理模式-CONTROL[ ]=0-异常退出-LCONTROLIOJ-1-MSR指令置位-CONTROL[O]=1
第2章ARMCortex-M3体系结构
Cortex-M3内核的主要特点-功耗低-2uW-内核的门数少,具有优异的性价比-中断延迟短-调试成本低有嵌套向量中断控制器-NVIC-处理器采用ARMV7-M架构-具有可裁减的存储器保护单元MPU-总线接口
2.1 ARM Cortex-M3处理器内核-CM3处理器内核是ARMV7-M体系结构:-1.CPU中央处 器32位-Cortex-M3芯片-由ARM设计-Cortex-M3内核-调试系统-内部总线-外设-存储器芯片制造商-设计开发-时钟和复位-I/o
STM32F103系列内部框图-STM32F10x Series Block Diagram-32位的Co tex3微处理器-CORTEXM3-分1-可嵌套的向量中断轻制器NVIC和43个可-CPU-32k0-12 k日-Power Supply-72MH2-Flash Memory-Reg 1.8V-屏蔽中断且有16个 编程优先级-5:2kB to come-POR/PDR/PVD-in 2008-内嵌内存:-海LASH:最 128E字节(2008年可达512kB-嚣-XTAL oscillators-Uyta20 kB SRA图 321z+4-15MHz-意SRA1M:最大20K字节2008年末可达64kB-JTAG/SW Debug 6i4kB to come in-Int.RC oscillators-7个通道的DMA-Nested v ct IT Ctrl-40KHz +8MHz-内部自带电压调节器及多种低功耗模式:-1x Systic T mer-20B Backup Regs-PLL-@供电范围:2W-一3.6V-。4种带自动唤醒的低功耗模式 Reset Clock-7 Channels-Control-RTC/AWU-@有上电复位/掉电复位和可编 电压检测-20个字节寄存器的备份区域-ARM Peripheral Bus-Bridge-ma436耐Hz 1x USB 7.0FS-使用带时钟安全系统的时钟控制模块进行-1x 16.bit PWM-频率管理和监控 频率最高可达72Mz-Synchronized AC-3x1 5-bit Time时-1x bxCAN 2 0B-@丰官的外设和I0口主-Up to 16 Ext.ITs-Independent-意内舷带有电池备用 能的低功耗的RTC-Watchdog-2x USART/LIN-。双看门狗结构-Smartcard IrD -3214980/0g-Window-Modem Control-■5个有高级控制特色的定时器(含Cort x的SysTick-通9个通讯接口-1x SPI-Zx 12-bit ADC-1×SPI-最多可有80个[ 100脚封装,有16外部中断和事件-16 channels/-1x USART/LIN-1M8p8-■最多 使用2个12位1M即s的ADC,且最多可用16个通-Smartc ard/lrD a-道,内嵌误差位±1. °且与测量温度成线性比例的-Modem-Ctrl-Temp Sensor-2x RC-温度传感器-操作模式:-处理模式和线程模式-程序执行设置2种权限:-用户级和特权级。-异常 andler的代码-handler模式-错误的用法-主应用程序的代码-特权级可以访问任意资源,用户级对有些 源的访问有限制或不允许访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CM3采用双堆栈结构
SP_process
SP_main
通用寄存器
低组寄存器r0-r7 高组寄存器r8-r12 堆栈指针寄存器r13 链接寄存器(LR)r14 程序计数器寄存器r15
堆栈指针R13
CM3支持2个堆栈,都指向R13 主堆栈MSP:默认堆栈指针,系统内核、异常、
地址8的 字节3
地址 1 的 字节1
地址0 的 字节 0
地址 0 的半字 0
地址4 的字 地址0 的字
存储器格式
大端数据格式(数据高位存入低地址)
31
24 23
16 15
87
0
地址F的 字节0
地址E的 字节1
地址D的 字节2
地址C的 字节3
地址C的字
地址E的0
地址C的半字1
地址B的 字节0
地址A的 字节1
地址9的 字节2
If-then状态区 EPSR的IT区包含了If-Then指令的执行状态位。
注:ICI区和IT区是重叠的,因此,If-Then模块内的多 寄存器加载或存储操作不具有可中断-可继续功能。
EPSR的位分配
31 27
保留
26 24 25
ICI/IT T
23 16
保留
15 10
ICI/IT
9 0
保留
ICI
2.2 处理器工作模式和状态
不同的应用会有不同的模式 不同的模式解决不同的问题 模式代表解决特定的应用或某类问题的解
决方案(手机有正常模式和飞行模式)。 CM3的模式用于区别: (1)普通应用程序的代码与异常 (2)中断服务例程的代码
CM3的操作模式
CM3具有存储器访问的保护机制,它使得 普通用户程序代码不能意外地或恶意地 执行涉及要害的操作。支持线程和处理 者操作模式。(程序类型)
程序计数器R15(PC)
CM3内部使用了三级指令流水线,读PC时返回 值是当前指令的地址+4
若向PC写入一个数据,就会引起程序分支 CM3中的指令时半字节对齐的,所以PC得最低
有效位总是读回0.
程序状态寄存器
内部分为三个子状态寄存器: 1、应用程序PSR(APSR) 2、中断状态PSR(IPSR) 3、执行状态PSR(EPSR) 通过MRS/MSR指令,这三个PSRs可单向访问,
LDM、STM和If-then指令,为多周期指令,如果在 执行以上多周期指令时发生异常,处理器会暂时停 止以上指令的操作,进入异常,这时需要保护现场。
异常
LDM指令 STEP1 STEP2 STEP3 STEP4
异常程序
执行状态寄存器PSR(EPSR)包含两个重叠的区域 :
可中断-可继续指令(ICI)区 多寄存器加载(LDM)和存储(STM)操作是可中 断的。EPSR的ICI区用来保存从产生中断的点继续 执行多寄存器加载和存储操作时所必需的信息。
13个通用寄存器:r0~r12 分组的堆栈指针r13,别名为SP_process
和SP_main 链接寄存器r14 程序计数器r15 1个程序状态寄存器xPSR
Cortex-M3的寄存器集
低寄存器 高寄存器
程序状态寄存器
r0 r1 r2 r3
r4 r5 r6 r7 r8 r9 r10 r11
APSR的位分配
31 30 29 28 27 26
----
0
NZCVQ
保留
置顶饱和标志:(sticky saturation)标志 ,
某变量值达到上限/下限时被置1
溢出标志:1:溢出
0:没有溢出
进位/借位标志: 1:进位或借位
0:没位有进位或借
零标志:1:结果为0
0:结果为非0
负数或小于标志: 1:结果为负数或小于
0:结果为正数或大于
中断状态寄存器(IPSR)
中断状态寄存器(IPSR)包含当前激活的异常 的ISR编号。
IPSR的位分配
31
----
保留
9 8 -- 0 中断号
ISR NUMBER 基础级别 =0 Reset =1 NMI =2 ห้องสมุดไป่ตู้VCall =11
......
执行状态寄存器(EPSR)
为什么需要执行状态寄存器EPSR?
特权访问时使用。 进程堆栈PSP:可在线程模式使用
链接寄存器R14(LR)
LR用于在调用子程序时存储返回地址,也用于 异常返回。
PC的最低位LSB始终为0,但LR的LSB可读/写。 在这之前,由LR的第0位来指示ARM/Thumb状
态,因为有些ARM芯片同时支持ARM状态和 Thumb状态。 为方便程序移植,CM3需要允许LR的LSB位可读 /可写。
CONTROL[0] CONTROL[1]
0
特权模式
主堆栈
1
用户模式
进程堆栈
功能作用:定义特权级别,选择堆栈指针
CM3工作模式、堆栈、控制寄存器关系
CM3寄存器(特殊功能寄存器)
CM3 总线接口
片上总线标准众多 ARM公司开发的AMBA总线规范成为现在的主流 AMBA总线规范包括: 1、AHB(Advanced High preformance Bus)系统总
地址 B 的 字节3
地址A 的 字节 2
地址9 的 字节 1
地址8 的 字节 0
地址 8 的字
地址 A 的半字 1
地址 8 的半字 0
地址7 的 字节 3
地址6 的 字节2
地址 6 的半字 1
地址3 的 字节 3
地址 2 的 字节2
地址 2 的半字 1
地址5 的 字节1
地址 4 的 字节 0
地址 4 的半字 0
CM3的操作模式
处理器2种操作模式: 处理模式和线程模式
程序执行设置2种权限: 用户级和特权级。
特权级可以访问任意资源,用户级对有些资源的访问有限制或不允许访问。
操作模式状态转换
1、CM3运行主应用程序时(线程模式),可使用特权级或用户级 2、处理异常服务例程必须使用特权模式。 3、复位后,CM3默认进入线程模式,特权级访问 4、从特权模式切换到用户级,修改CONTROL寄存器即可 5、用户级切换回特权级,必须执行一条系统调用指令SVC,触发
如果出现下列情况,LDM/STM操作重新开始而不是 继续执行:
➢ LDM/STM错误 ➢ LDM/STM指令位于IT内
特殊功能寄存器1
中断屏蔽寄存器( PRIMASK )
中断屏蔽寄存器(只有1位)
PRIMASK 1
0
相当于中断总开关,
所有中断被屏蔽 中断能正常响应
为1,所有中断被屏蔽; 为0,中断能正常响应。 只有最低位有效。
试总线信号。SWJ-DP支持SW与JTAG 两种协议,而SW-DP则只支持SW) 另外,在CoreSight产品中还可使用一种JTAG-DP,它只支持JTAG协议。DAP 总线
上的地址是32的,其中高8 位用于选择访问哪一个设备,由此可见最多可以在DAP 总线上面挂256个设备。在CM3 处理器的内部,用去1个设备的地址,剩下的255 个 都可以用于连接访问端口(AP)到DAP 总线上。
BASEPRI
优先级0 优先级1
优先级2 优先级3 优先级4
….
2 中断可响应 中断被屏蔽
优先级号大于/等于阀值的中 断被屏蔽。
例如,把BASEPRI设置为2, 则2和2以上优先级的中断 都被屏蔽,只有0和1优先级 的中断不会被屏蔽。
注: BASEPRI与优先级分组有 关,stellaris系列处理器使 用高3位来配置。
BASEPRI与BASEPRI_MAX为同一寄存器
1、BASEPRI可任意设置新的优先级阀值 2、BASEPRI_MAX只允许新的阀值比原来的
数字更小。也就是说,修改BASEPRI_MAX 时,只能一次次地扩大屏蔽范围。
特殊功能寄存器4
控制寄存器( CONTROL) CONTROL寄存器由两个状态位组成:
EPSR的位分配
31 27
保留
26 24 25
ICI/IT T
23 16
保留
15 10
ICI/IT
9 0
保留
IT
If-Then位。它们是If-Then指令的执行状 态位。包含If-Then模块的指令数目和它 们的执行条件。
EPSR的位分配
31 27
保留
26 24 25
ICI/IT T
23 16
保留
线,使用于高速设备连接 2、APB(Advanced preformance Bus)外设总线,
使用于低速设备连接
CM3 总线接口
包含5个总线接口: 1、Icode存储器接口(32位AHB,可访程存空间0000 0000-1fff ffffH) 2、Dcode存储器接口(32位AHB,可访程存空间0000 0000-1fff ffffH) 3、系统接口(32位AHB,对系存空间2000 0000-dfff ffffH和e010000-ffff
2.1 ARM Cortex-M3 处理器内核
CM3处理器内核是ARMv7-M体系结构: 1. CPU中央处理器(32位) 2. 先进的系统外设 3. 中断控制 4. 内存保护 5. 系统调试与跟踪功能 6. 传统Thumb和新型Thumb2指令译码器 7. 特殊功能寄存器
STM32F103 系列内部框图
特殊功能寄存器2
异常关闭寄存器( FaultMASK )
异常关闭寄存器(只有1位)
FaultMASK 1
除NMI外所有异常被屏蔽
0
异常能正常响应
相当于异常总开关,为1,除NMI外所有异常被屏蔽;