《嵌入式系统设计》教案


    


    嵌入式系统设计教案






    课程总学时:
    32
    讲课学时:
    24
    实验学时:
    8
    授 课 :









    XX学信息工程学院
    目 录
    1 嵌入式系统概述 1
    11 嵌入式系统基概念 1
    12 嵌入式系统发展历史 2
    13 嵌入式系统体系结构 2
    14 嵌入式处理器 3
    15 嵌入式操作系统 4
    16 嵌入式系统应发展趋势 7
    2 ARM体系结构 8
    21 ARM设计思想 8
    22 ARM体系结构分析 9
    23 ARM处理器系列 11
    24 ARM处理器模式 15
    25 ARM体系异常处理 16
    26 ARM部寄存器 18
    27 ARM体系存储系统 19
    3 ARM指令系统程序设计基础 21
    31 ARM寻址方式 21
    32 ARM指令集 24
    33 Thumb指令集 33
    34 35
    35 35
    36 嵌入式系统设计开发程 36
    4 STM32微控制器 37
    41 STM32微控制器性指标 37


    1 嵌入式系统概述
    教学目:学生嵌入式系统基概念体系结构嵌入式处理器嵌入式操作系统嵌入式系统历史应发展趋势定解
    教学重点:嵌入式系统基概念嵌入式处理器嵌入式操作系统
    教学难点:嵌入式系统体系结构嵌入式处理器
    教学方法教学手段:课堂讲授媒体教学
    教学时间:2课时
    教学容

    11 嵌入式系统基概念
    (1) 嵌入式系统定义
    先举例说明生活中种嵌入式系统设备iPhone米手机洗衣机电压力锅等
    IEEE(国际电气电子工程师协会)定义:嵌入式系统控制监视者辅助操作机器设备装置(Devices used to control monitor or assist the operation of equipment machinery or plants)
    微机学会定义:嵌入式系统嵌入式应目计算机系统分系统级板级片级
    a) 系统级:种类型工控机PC104等模块
    b) 板级:种类型带CPU板OEM产品
    c) 片级:种单片机DSP微处理器核心产品
    般定义:嵌入式系统应中心计算机技术基础软件硬件裁剪功性成体积功耗求严格专计算机系统
    (2) 嵌入式系统特点
    a) 专软硬件剪裁配置
    b) 低功耗高性高稳定性
    c) 软件代码矮精悍
    d) 代码固化
    e) 实时性
    f) 弱交互性
    g) 软件开发通常需专门开发工具环境方法
    h) 求开发设计员具较高技
    i) 具较长生命周期
    (3) 嵌入式系统分类
    嵌入式微处理器位数分:4位8位16位32位64位
    实时性分:非实时系统实时系统
    软件结构分:嵌入式单线程系统嵌入式事件驱动系统
    应领域分:信息家电类消费电子类医疗电子类移动终端类通信类汽车电子类工业控制类航空电子类军事电子类等
    12 嵌入式系统发展历史
    (1) 单芯片核心编程控制器形成系统
    1971年11月Intel推出Intel 4004出现Intel 808080858086Motorola680068000ZilogZ80Z8000
    微处理器核心构成系统
    单板机:InteliSBC系列ZilogMCB等
    计算机做芯片部分应专业性强工业控制系统中没操作系统支持系统结构功相单处理效率较低存储容量较
    (2) 嵌入式CPU基础简单操作系统核心嵌入式系统
    CPU种类繁通性较弱系统开销效率高操作系统达定兼容性扩展性应软件较专业化户界面够友
    (3) 嵌入式操作系统标志嵌入式系统
    嵌入式操作系统运行种类型微处理器兼容性操作系统核效率高具备文件目录理支持务网络应具备图形窗口户界面量应程序接口API
    (4) Internet标志嵌入式系统
    嵌入式设备Internet结合
    13 嵌入式系统体系结构
    (1) 体系结构
    (2) 硬件层
    l 嵌入式处理器:ARMDSPFPGA
    l 存储器系统:ROMFLASHSDRAM
    l 中断控制器DMAC定时器计数器UARTUSB控制器LCD控制器等
    l IO接口:USBI2CSPICAN等

    (3) 中间层
    l 硬件抽象层(Hardware Abstraction Layer HAL)位操作系统核硬件电路间接口层隐藏硬件接口细节
    l 板级支持包(Board Support Package BSP)层驱动程序提供访问硬件设备寄存器函数包
    l 设备驱动程序
    14 嵌入式处理器
    (1) 嵌入式处理器分类
    中高端嵌入式微处理器(Embedded MicroProcessor Unit EMPU)
    低端微控制器(Microcontroller Unit MCU)
    DSP处理器(Digital Signal Processor DSP)
    高度集成片系统(System on Chip SoC)
    (2) 嵌入式微处理器
    通计算机中CPU演变保留嵌入式应紧密相关功硬件工作温度抗电磁干扰性功耗等方面做种增强
    嵌入式处理器类型:ARMMIPSPowerPC68000系列等
    特点
    a) 设计中考虑低功耗
    b) 采扩展处理器结构处理器部留扩展接口
    c) 具强存储区保护功
    d) 提供丰富调试功
    e) 实时务具强支持力
    (3) 微控制器
    俗称单片机整计算机系统集成块芯片中
    种微处理器核心芯片部集成FlashRAM总线逻辑定时器计数器IO口串行口PWMADDA等
    早单片机: 1976年Intel8048Motorola68HC05Zilog公司Z80
    (4) DSP处理器
    系统结构指令进行特殊设计适合DSP算法
    高效累加运算超标量操作指令流水线
    高效数存取硬件重复循环
    确定性操作(程序执行时间预测)
    应场合:音视频编解码数字滤波FFT等
    (5) 片系统
    整系统做芯片
    优点
    a) 通改变部工作电压降低芯片功耗
    b) 减少芯片外引脚数简化制造程
    c) 减少外围驱动接口单元电路板间信号传递加快微处理器数处理速度
    d) 嵌线路避免信号传递时造成系统杂讯
    联发科推出28nm双核处理器MT6572
    a) 代号武松基CortexA7架构
    b) 频12GHz
    c) 处理器整合WiFiFM收音机GPS蓝牙四种功
    d) 支持500万素摄头
    (6) 嵌入式处理器发展趋势
    a) 部结构
    SoC设计DSPFlashFPGA融合性更强集成更功部件双核核结构
    b) 功耗更低
    c) 性更高
    d) 支持ISPISD
    15 嵌入式操作系统
    (1) 操作系统概念功
    操作系统组计算机程序集合效控制理计算机硬件软件资源户提供方便应接口
    功:处理器理存储器理设备理文件理户接口
    (2) 操作系统分类
    程序调度方法分
    l 序操作系统含运行程序独占CPU时间序执行DOS系统
    l 分时操作系统系统时道程序运行Unix系统
    l 实时操作系统
    应角度嵌入式操作系统分
    l 面低端信息家电
    l 面高端信息家电
    l 面通信终端
    l 面通信设备
    l 面汽车电子
    l 面工业控制
    实时性角度嵌入式操作系统分
    l 具强实时特点嵌入式操作系统
    l 具弱实时特点嵌入式操作系统
    l 没实时特点嵌入式操作系统
    (3) 实时操作系统(RTOS)
    具实时性支持实时控制系统工作操作系统首务调度切利资源完成控制务
    现场停监测旦事件发生立处理
    通OS区:实时性代码尺寸
    般包括重组成部分:
    l 实时核:务理定时器理存储器理务间通信步等
    l 网络组件
    l 文件系统
    l 图形户界面
    IEEEUnix委员会规定实时操作系统须具备特点:
    l 支持异步事件响应
    l 中断调度务优先机制
    l 支持指令性计划占式调度
    l 支持步
    (4) 常见嵌入式操作系统
    嵌入式Linux
    l 实时嵌入式Linux:RTLinuxKURTLinux等 RTLinux通常Linux务优先级设低
    l 般嵌入式Linux:μCLinux
    l 开源核效率高定制
    μCOSμCOSII
    l μCOSII (MicroController Operating System) Jean J Labrosse开发实时操作系统核
    l 已移植IntelARMMotorola等公司81种处理器
    l Labrosse年时间开发μCOS实时操作系统 1992年Embedded System Programming 发表介绍文章公布源代码1993年写μCOS The RealTime Kernel书源码推动μCOSII发展
    l μCOSII实时操作系统核全部核心代码83 KB
    l 包含进程调度时钟理存理进程间通信步等基功
    Windows CE
    l 线程完整优先权务32位嵌入式操作系统
    l 基核少200KB
    VxWorks
    l 美国WindRiver公司1983年设计
    l 目前嵌入式系统领域中广泛市场占率高系统
    l 拥良持续发展力高性核友户开发环境
    l 支持种处理器ARMx86i960SunSparcMIPS RX000PowerPCStrongARM等
    l 良性实时性广泛应通信军事航空航天等领域
    l 应案例:美国F16FA18战斗机B2隐形轰炸机爱国者导弹1997年4月火星登陆火星探测器
    Palm OS
    l 32位嵌入式操作系统3Com公司Palm Computing部门开发
    l 掌电脑PDA市场占市场份额占90PDA市场份额
    l 2010年04月29日惠普12亿美元收购Palm
    QNX
    l 实时扩充操作系统
    l 部分遵循POSIX(移植操作系统接口)相关标准
    l 核仅提供4种服务:进程调度进程间通信底层网络通信中断处理
    l 核非常巧(QNX4X约12KB)运行速度极快
    iOS
    l 苹果推出基Darwin
    l 新:iOS8
    Android
    l Google开发基Linux台开源手机操作系统
    Delta OS
    l 电子科技学实时系统教研室北京科银京成技术限公司联合研制开发全中文嵌入式操作系统
    l 绝部分代码C语言编写
    l 已成功应通信网络信息家电等应领域
    pSOS
    ISI公司研发产品
    模块化高性完全扩展
    16 嵌入式系统应发展趋势
    (1) 嵌入式系统应领域
    l 消费电子领域
    l 通信网络领域
    l 工业控制领域机器领域
    l 交通理汽车电子领域
    l 国防航空航天领域
    l 医疗仪器领域
    (2) 嵌入式系统发展趋势
    l 型化智化网络化视化
    l 核技术应
    l 低功耗绿色环保
    l 云计算重构虚拟化等技术进步应嵌入式系统中
    l 嵌入式系统软件逐渐PC化
    l 融合趋势
    n 微控制器MCUSoC结合
    n 微控制器MCUDSP结合
    n ARMDSP结合
    n 微控制器MCUCPLDFPGA结合
    l 安全性
    2 ARM体系结构
    教学目:学生ARM设计思想ARM处理器系列ARM体系结构ARM处理器模式ARM部寄存器ARM体系存储系统定解
    教学重点:ARM设计思想ARM体系结构ARM处理器模式ARM部寄存器
    教学难点:ARM处理器模式ARM部寄存器
    教学方法教学手段:课堂讲授媒体教学
    教学时间:4课时
    教学容

    21 ARM设计思想
    (1) RISC
    传统CISC (Complex Instruction Set Computing)指令集中约20指令占整程序代码80
    RISC (Reduced Instruction Set Computing) 种设计思想目标设计出套高时钟频率单周期执行简单效指令集
    RISC设计重点降低硬件执行指令复杂度传统CISC更侧重硬件执行指令功性CISC指令变复杂
    (2) RISC设计思想实现
    l 指令集减少指令种类指令实现简单功指令长度固定
    l 流水线指令处理程拆分成更够流水线行执行单元
    l 寄存器更通寄存器存数址数操作提供快速局部存储访问
    l loadstore结构处理器处理寄存器中数loadstore指令完成寄存器外存间数传送
    (3) ARM设计思想
    l 较核降低功耗
    l 高代码密度考虑成物理尺寸限制
    l 较处理器核芯 (Die) 面积留外设电路空间较
    l 硬件调试技术
    (4) ARM微处理器特点
    l 体积功耗低成低性高
    l 支持ThumbARM指令集兼容816位器件
    l 量寄存器指令执行速度更快
    l 数数操作寄存器中完成
    l 寻址方式灵活简单执行效率高
    l 指令长度固定
    22 ARM体系结构分析
    (1) 包含典型 RISC 体系结构特征
    l 统寄存器文件加载存储体系结构数处理操作针寄存器容
    l 简单寻址模式加载存储址通寄存器容指令字段确定
    l 指令长度固定简化指令译码
    (2) 提供
    l 组合转换算术逻辑运算指令
    l 动递增动递减寻址模式优化程序循环
    l 加载存储指令化数吞吐量
    l 指令采取条件执行方式
    (3) 普林斯顿结构哈佛结构
    普林斯顿结构:称冯·诺伊曼结构程序指令存储器数存储器合起存储结构ARM7系列基普林斯顿结构
    哈佛结构:程序指令存储数存储分开存储结构ARM9系列基哈佛结构
    (4) 流水线

    ARM7三级流水线执行单元完成量工作执行单元工作占时钟周期成系统性瓶颈
    ARM9采哈佛架构避免数访问取指总路线突采五级流水线设计
    五级流水线技术三级流水线中执行单元进步细化减少时钟周期必须完成工作量进允许较高时钟频率
    三级流水线五级流水线情况会发生阻塞:
    l 周期指令跳转分支指令
    l 中断发生
    l 相邻指令间寄存器突:果前指令(A)目操作数寄存器条指令(B)源操作数寄存器致B指令需等A回写译码
    (5) ARM体系结构版


    23 ARM处理器系列
    (1) ARM处理器系列

    l 典ARM处理器:ARM7 ARM9 ARM10 ARM11
    l CortexA系列处理器:CortexA15CortexA9CortexA8CortexA7CortexA5
    l CortexR系列处理器:CortexR7CortexR5CortexR4
    l CortexM系列处理器:CortexM4CortexM3 CortexM1 CortexM0+ CortexM0CMSDKCMSIS
    l SecurCore处理器
    (2) ARM核版命名规
    (3) ARM7系列微处理器
    a) 特点
    l 高频:130MIPS(Million Instructions Per Second)
    l 功耗低
    l 代码密度高兼容16位微处理器
    l 广泛操作系统实时操作系统支持
    l 众开发工具优秀调试机制
    l 采3级流水线结构
    l 提供025μm018μm013μm生产工艺
    b) 冯·诺伊曼结构:数指令条总线
    c) 包括ARM7TDMIARM7TDMISARM7EJSARM720T四种类型适市场求
    d) ARM7TDMI
    l ARM公司早业界普遍认广泛应处理器核
    l T:ThumbD:DebugM:MultiplierI:Embedded ICE logic
    e) ARM7TDMIS
    l ARM7TDMI综合 (synthesizable) 版(软核)
    l ARM软核方式ARM7TDMI核授权处理器厂商处理器厂商进行修改综合ARM7TDMIS
    l 综合出整核硬核50电源效率降低50
    f) ARM7EJS
    l 综合带增强型DSP(E变种)Java加速功(J变种)32位RISC嵌入式处理器
    l 数字音频播放器带Java功线手持设备喷墨印机数码相机PDA等方面
    g) ARM720T
    l 专Windows CESymbian OS操作系统台设计
    l 数字音频播放器喷墨印机数码相机等
    (4) ARM9系列微处理器
    a) 特点
    l 5级整数流水线
    l 单32位AMBA (Advanced Microcontroller Bus Architecture) 总线接口
    l MMU支持Windows CESymbian OSLinux等
    l 支持实时操作系统包括VxWorks
    l 统数Cache指令Cache
    l 提供025μm018μm013μm生产工艺
    b) 包括ARM9TDMIARM920TARM940TARM9E四种类型三种含Cache
    c) 采Harvard体系结构
    l 指令数分开存储
    l 采指令快存 数快存
    d) 相工艺条件ARM9TDMI处理力ARM7TDMI两倍
    e) ARM920T
    l Motorola MC9328MX1Samsung S3C2410X处理器采ARM920T 核心
    l 应通信终端3G基带应处理器基OS台设备数码相机音频视频解码机顶盒等
    f) ARM940T
    l ARM920T相实现更DCacheICacheMPU适需运行操作系统台
    g) ARM9E
    l 单处理器核提供微控制器DSPJava应系统解决方案
    l DSP指令集
    l 013μm工艺频达300MIPS性
    l 集成实时踪调试功
    l 选VFP9浮点处理协处理器
    l 高性AHB (Advanced High performance Bus)
    (5) ARM10系列微处理器
    a) 特点
    l 6级流水线
    l 典型013μm工艺频达400MIPS性
    l 单32位AMBA 总线接口
    l MMU支持Windows CESymbian OSLinux等
    l 统数Cache指令Cache
    l 提供025μm018μm013μm生产工艺
    l 行读取写入部件
    b) 包括:ARM1020ARM10200ARM1020EARM1022EARM1026EJS
    c) ARM10TDMI处理器核采ARMv5T结构
    d) ARM10TDMI
    l 相工艺条件处理力ARM9TDMI两倍
    l 采提高时钟频率6级流水线转移预测逻辑64位存储器阻塞存取逻辑等措施提升性
    e) ARM10E新节模式64位LoadStore体系ARM10TDMI相具特点
    l DSP指令集
    l 选VFP10浮点处理协处理器
    l 实时控制三维图处理时频达650MFLPS (百万次浮点运算秒)
    (6) ARM11系列微处理器
    l ARM1156T2S核 ARM1156T2FS核 ARM1176JZS核ARM11JZFS核
    l ARM1156T2S核 ARM1156T2FS核
    l 基ARM v6指令集体系结构
    l 首批含ARM Thumb2核技术产品
    (7) CortexA系列微处理器
    l 适高计算求运行丰富操作系统提供交互媒体图形体验应领域
    l 支持传统 ARMThumb指令集新高性紧凑型 Thumb2 指令集
    l 移动互联网支持
    n 低功率设计支持 Adobe Flash 101
    n 高性 NEON 引擎广泛支持媒体编解码器
    l 高性
    n CortexA15:新代移动基础结构应线基础结构应提供高性解决方案
    n CortexA9800 MHz 2 GHz 频率作单核处理器 14 核核合成处理器核提供 5000 DMIPS 性
    n CortexA8单核解决方案提供济效高性 600 MHz 1 GHz 频率提供性超 2000 DMIPS
    n CortexA5 低成实现 400 800 MHz 频率提供性超 1200 DMIPS尺寸功耗低 ARM 核处理器
    l 核技术:CortexA15CortexA5CortexA9 处理器支持 ARM 第二代核技术
    l 高级扩展
    n Thumb2提供佳代码性
    n TrustZone安全扩展提供信计算
    n Jazelle 技术提高执行环境( JavaNetMSILPython Perl)速度
    (8) CortexR系列微处理器
    l 具严格实时响应限制深层嵌入式系统提供高性计算解决方案
    n 快速高时钟频率获高处理性
    n 确定性处理场合必须符合硬实时限制
    n 安全系统必须信
    n 成效益处理器存系统中具竞争力成功耗
    l 应领域
    n 智手机
    n 企业系统:硬盘驱动器联网印
    n 消费电子:机顶盒数字电视播放器
    n 医疗行业工业汽车行业系统
    l 功集
    (9) CortexM系列微处理器
    l 兼容高效易处理器
    l 针成功耗敏感 MCU 终端应混合信号设备进行优化
    l 更低功耗更长电池寿命
    l 高密度指令集更代码更低硅成
    (10) SecurCore系列微处理器
    l 安全求较高应设计智卡
    n SIMID银行业付费电视公交通电子政务
    24 ARM处理器模式
    (1) 32位ARM处理器工作状态
    32位ARM处理器三种工作状态
    l ARM状态应32位ARM指令集
    l Thumb状态应16位Thumb指令集
    l Jazelle状态应8位Jazelle指令集
    处理器指令层次JAVA加速
    进入特定状态相应指令集效CPSRJ(Jazelle)T(Thumb)位反映程序状态
    Thumb2
    l 现 ARM Thumb 解决方案兼容时扩展 Thumb 指令集功
    l 少 31 存降低系统成
    l 提供现高密度代码高出 38 性
    (2) 64位ARM处理器工作状态
    ARMv8架构
    两种执行状态:AArch64 AArch32
    AArch64:引入套新指令集A64专门64位处理
    AArch32:兼容现32位ARM指令集
    ARMv8架构支持三指令集
    A32( ARM):32 位固定长度指令集
    T32 (Thumb): 16 位固定长度指令集形式引入引入 Thumb2 技术时增强 16 位 32 位混合长度
    A64:提供 ARM Thumb 指令集类似功64位固定长度指令集
    (3) ARM处理器运行模式
    l 户模式(usr):ARM处理器正常程序执行状态
    l 快速中断模式(fiq):高速数传输通道处理
    l 外部中断模式(irq):通中断处理
    l 理模式(svc):操作系统保护模式
    l 数访问终止模式(abt):数指令预取终止时进入该模式虚拟存储存储保护
    l 系统模式(sys):运行具特权操作系统务
    l 未定义指令中止模式(und):未定义指令执行时进入该模式支持硬件协处理器软件仿真
    运行模式通软件改变通外部中断异常处理改变户模式外模式称非户模式特权模式户模式系统模式外5种称异常模式常处理中断异常访问受保护系统资源等情况
    25 ARM体系异常处理
    (1) ARM体系中3种控制程序执行流程方式:
    l 序执行
    l 跳转分支指令
    l 异常中断:处理器暂时中断前数流现象
    (2) 异常响应 ARM处理器执行完前指令:
    l 进入特定异常相应操作模式
    l 引起异常指令条指令址保存新模式R14中
    l CSPR原值保存新模式SPSR中
    l 通设置CSPR第7位禁止IRQ果FIQ中断设置CSPR第6位禁止FIQ
    l PC强制赋量址值
    (3) 中断量表
    指定异常中断处理程序应关系通常存放存储址低端
    32字节中异常中断占4字节空间存放跳转指令者PC寄存器中赋值指令
    (4) 异常优先级:异常中断时发生时必须定次序处理异常中断
    (5) 异常返回
    连接寄存器LR值减相应偏移量送PC中
    SPSR复制回CPSR中
    进入异常处理时设置中断禁止位清
    通普通指令控制PC返回
    软件中断返回指令
    MOVS R15 R14
    链接寄存器容移入PC转换模式
    IRQFIQ预取异常终止中断返回指令
    SUBS R15 R14 #4
    数终止异常返回指令
    SUBS R15 R14 #8
    异常导致异常指令条指令产生
    26 ARM部寄存器
    (1) 寄存器结构
    32位ARM3132位通寄存器6状态寄存器通寄存器保存数址信息R前缀加寄存器序号表示
    15通寄存器(R0~R14)两状态寄存器程序计数器意时间处理器模式访问处理器模式拥身独立寄存器
    (2) 通寄存器
    分成三类:
    R0~R7:未分组寄存器未分组寄存器处理器模式表示物理寄存器
    R8~R14:分组寄存器分组寄存器户模式寄存器应
    R15:程序计数器PC
    分组寄存器R8~R14分两组:
    R8~R12:寄存器应两组物理寄存器组FIQ模式记R8_fiq~R12_fiq 组FIQ模式外:R8_usr~R12_usr
    R13~R14:分应6物理寄存器户模式系统模式寄存器外5应余5种
    R13 _
    R14 _
    种模式:usrsvcabtundirqfiq
    R13:称堆栈指针SP没指令强制性R13作堆栈指针
    R14称链接寄存器LR(Link Register)调子程序时返回址动保存R14
    ARM采级流水线技术正常读取PC值时该值前指令址值加8加12
    27 ARM体系存储系统
    (1) 址空间
    存储器作零址开始字节线性组合
    03字节:第1存储字数
    47字节:第1存储字数
    次排列
    (2) 存储器格式
    端格式
    端格式
    (3) 存储器访问准
    取指存访问字半字字节准访问
    a) 非齐指令预取操作
    ARM状态:非齐址写入PC数第0位第1位忽略PCbit[10]0
    Thumb状态:数第0位忽略PCbit[0]0
    b) 非齐址存访问操作(LOADSTORE操作)
    执行结果预知
    忽略字单元址低两位值半字单元低位值(分应访问字半字)
    LDRSWP指令中存储器访问忽略造成址齐低址位然低址位控制装载数循环

    3 ARM指令系统程序设计基础
    教学目:学生ARM指令系统程序设计基础知识定解
    教学重点:ARM指令系统
    教学难点:ARM程序设计基础知识
    教学方法教学手段:课堂讲授媒体教学
    教学时间:4课时
    教学容


    31 ARM寻址方式
    (1) 寻址方式
    处理器根指令中出址信息寻找物理址方式
    寻找操作数操作数址方式
    (2) 立寻址
    立数寻址操作数身指令中出该操作数称立数
    例:
    ADD R0 R0 #1 R0ßR0+1
    立数须#前缀十六进制表示立数需#加0x&
    (3) 寄存器寻址
    操作数存寄存器中例:
    ADD R0 R1 R2 R0ßR1+R2
    (4) 寄存器间接寻址
    寄存器值作操作数址例:
    ADD R0 R1 [R2] R0 ß R1+[R2]
    (5) 基址变址寻址
    a) 基址加偏移寻址方式
    寄存器容指令中出址偏移量相加操作数效址:
    LDR R0 [R1 #4] R0 ß [R1+4]
    前变址:基址加变址作操作数址
    变址:基址作操作数址传送动更新基址寄存器值

    b) 基址加索引寻址方式
    基址寄存器值索引寄存器值相加形成操作数效址例:
    LDR R0 [R1 R2] R0 ß [R1+R2]
    c) 寄存器寻址
    条指令完成(16)寄存器值传送
    例:
    LDMIA R0 {R1 R2 R4} R1 ß [R0]
    R2 ß [R0+4]
    R4 ß [R0+8]
    (6) 寄存器移位寻址
    操作数寄存器中数做相应移位
    例:
    ARM中移位循环移位操作:
    l LSL:逻辑左移(Logical Shift Left)
    l LSR:逻辑右移(Logical Shift Right)ADD R0 R1 R2 LSL #3 R0ßR1+8×R2
    l ASR:算术右移(Arithmetic Shift Right)移位程中保持符号位变源操作数正数字高端空出位补0源操作数负数字高端空出位补1
    l ROR:循环右移(Rotate Right)字低端移出位次填入字高端空出位
    l RRX:扩展循环右移(Rotate Right Extended )操作数右移位左侧空位状态寄存器C位填充移位类型RRX时需指定移位位数须指定移位位数
    (7) 相寻址
    PC前值作基址指令中址标号作位移量两者相加操作数效址例:
    BL NEXT 跳转子程序 NEXT
    ……
    NEXT
    ……
    MOV PC LR 子程序返回
    (8) 堆栈寻址
    a) 堆栈:先进出(FILO)方式工作堆栈指针(Stack Pointer SP) 指示前操作位置
    b) 根栈指针指位置堆栈分
    l 满堆栈:SP指压入堆栈数
    l 空堆栈:SP指放入数空位置
    c) 根堆栈生成方式堆栈分
    l 递增堆栈(Ascending Stack):堆栈低址高址生成
    l 递减堆栈(Descending Stack) :高址低址生成
    d) ARM支持四种类型堆栈工作方式
    满递增堆栈:SP指压入数低址高址生成
    满递减堆栈:SP指压入数高址低址生产
    空递增堆栈:SP指放入数空位置低址高址生成
    空递减堆栈:SP指放入数空位置高址低址生成







    32 ARM指令集
    (1) ARM指令集分类
    加载存储指令
    数处理指令
    分支指令
    状态寄存器访问指令
    异常中断指令
    协处理器指令
    (2) ARM指令特点
    指令32bit
    数指令单周期完成
    指令条件执行
    loadstore体系结构
    指令集通协处理器扩展
    (3) ARM指令格式
    (4) ARM指令条件执行
    ARM指令包含选条件码CPSR中条件标志位满足指定条件时指令会执行否NOP指令通流水线

    (5) 加载存储指令
    Load:存中数装载寄存器
    Store:寄存器中数存入存
    a) 单寄存器传输指令
    {} {B} Rd addressing1
    {} SB | H | SH Rd addressing2
    {} {B} Rd LABEL
    LDRSTR指令:寄存器前址
    LDMSTM指令:址前寄存器
    LABEL:相PC寻址方式编译器汇编时会标号LABEL汇编成PC偏移量存入该指令立数字段
    B ByteS SignH Half
    LDRSTR:读写32bit字32位寄存器求读写址字齐
    LDRB:存8bit字节à32bit寄存器求址齐寄存器高24位清零
    STRB:寄存器低8位à存某址求址齐
    LDRH:16bit半字à 32bit寄存器求址半字齐寄存器高16bit清零
    STRH:寄存器低16bità存求址半字齐
    LDRSH:符号16bit半字à32bit寄存器中求址半字齐寄存器高16bit根符号位扩展
    LDRSB:符号8bit字节à32bit寄存器中求址齐寄存器高24bit根符号位扩展
    数列指条指令访问存储单元
    基址寄存器列容指执行指令基址寄存器容
    b) 寄存器传输指令
    {} <寻址模式> Rn{} {^}
    LDM STM:基址寄存器指示片连续存储器寄存器列表指示寄存器间传送数
    :表示执行完操作变化址值写入基址寄存器
    ^:LDM操作恢复寄存器中含PC(R15)寄存器指令执行时CPU动SPSR拷贝CPSR中例:
    LDMFD {R0R12 LR PC}^
    数传送发生User户模式寄存器非前模式寄存器例:
    LDMDB SP {R0 LR}^
    例:
    STMIA R0 {R1R5}
    R0址指针R1R5保存存指针移动


    c) 交换指令
    SWP {B} {} Rd Rm [Rn]
    SWP:字交换SWPB:字节交换
    Rd ß [Rn] [Rn] ß Rm
    例:
    SWP R1 R2 [R3] R1ß[R3] [R3]ß R2
    SWP R1 R1 [R2] R1[R2]容互换
    (6) 数处理指令
    a) 数传送指令
    MOV {cond} {S} Rd Operand
    例:
    MOV R1 R0
    MOVEQ PC R14 R14值传PC
    b) 数取反传送指令
    MVN {cond} {S} Rd Operand
    例:
    MVN R1 #2 立数2取反送R1
    c) 算术运算指令
    ADDADC
    ADD|ADC {cond} {S} Rd Oper1 Oper2
    例:
    ADDS R0 R4 R8 加低端字
    ADCS R1 R5 R9 带进位加第二字
    ADCS R2 R6 R10 带进位加第三字
    ADC R3 R7 R11 带进位加第四字
    实现 128位加法
    SUB:减法指令
    SUB {cond} {S} Rd Oper1 Oper2
    SBC:带位减法指令
    SBC {cond} {S} Rd Oper1 Oper2
    例:SBCS R0 R1 R2 R0R1–R2–C
    RSB:反减法指令
    RSB {cond} {S} Rd Oper1 Oper2
    操作数2减操作数1例:
    RSB R0 R1 R2 R0 R2 – R1
    RSC:带位逆减法指令
    RSC {cond} {S} Rd Oper1 Oper2
    d) 逻辑运算指令
    AND:
    AND {cond} {S} Rd Oper1 Oper2
    ORR:
    ORR {cond} {S} Rd Oper1 Oper2
    EOR:异
    EOR {cond} {S} Rd Oper1 Oper2
    e) 较指令
    CMP
    CMP {cond} Operand1 Operand2
    CMN:反值较
    CMN {cond} Operand1 Operand2
    第数第二数反值进行较相完成两数相加例:
    CMN R1 R0 R1+R0设置CPSR
    f) 测试指令
    TST
    TST {cond} Operand1 Operand2
    两操作数位进行运算根结果更新CPSR
    TEQ
    TEQ {cond} Operand1 Operand2
    两操作数位进行异运算根结果更新CPSR
    g) 法指令
    MUL
    MUL {cond} {S} Rd Oper1 Oper2
    RdßOperand1×Operand2例:
    MUL R0 R1 R2 R0 R1×R2
    MLA
    MLA {cond} {S} RdOper1Oper2Oper3
    RdßOperand1×Operand2+Operand3
    例:
    MLA R0 R1 R2 R3 R0 R1×R2+R3
    UMULL:64位符号数法指令
    UMULL {cond} {S} Rd_L Rd_H Operand1 Operand2
    Rd_HRd_Lß Operand1×Operand2
    例:
    UMULL R0 R1 R2 R3
    R0 (R2×R3) 低32位
    R1 (R2×R3) 高32位
    UMLAL: 64位符号数加指令
    UMLAL {cond} {S} Rd_L Rd_H Operand1 Operand2
    Rd_HRd_L+ Operand1×Operand2
    例:
    UMLAL R0 R1 R2 R3
    R0 (R2×R3)低32位+R0
    R1 (R2×R3)高32位+R1
    SMULL:64位符号数法指令
    SMULL {cond} {S} Rn_L Rn_H Operand1 Operand2
    Rd_HRd_Lß Operand1×Operand2
    SMLAL: 64位符号数加指令
    SMLAL {cond} {S} Rn_L Rn_H Operand1 Operand2
    Rd_HRd_L+ Operand1×Operand2
    (7) 分支指令
    a) B (分支指令) BL (带链接分支指令)
    B {cond} LABEL
    BL {cond} LABEL
    允许前跳转高32MB
    BL:带返回分支指令调返回址存入链接寄存器函数
    例:
    BL SUBPRG
    ……
    SUBPRG
    …… <子程序代码>
    MOV PC LR 返回
    b) BX (分支选交换指令集)BLX(带链接分支选交换指令集)
    BX {cond} Rm
    BLX {cond} LABEL | Rm
    Rm:转移址bit[0]0时目标址处ARM指令否Thumb指令
    BX BLX唯切换指令集方法
    BX BLX指令执行BBL指令相分支操作ARM指令集切换THUMB指令集
    c) 长跳转
    通PC寄存器中写目标址值实现4GB址空间中进行意跳转
    例:
    MOV LR PC 保存返回址
    MOV R15 #0x00110000 条件转0x110000
    (8) 状态寄存器访问指令
    a) MRS
    MRS {} Rd
    状态寄存器容传送通寄存器中例:
    MRS R3 CPSR CPSRàR3
    b) MSR
    MSR {} _ Rm
    MSR {} _#
    表示列情况:
    c:控制域PSR[70] x:扩展域PSR[158] s:状态域PSR[2316] f:标志域PSR[3224]
    CPSR|SPSR ß 通寄存器例:
    MSR CPSR_F #&F00000000
    设置标志位
    (9) 异常中断指令(续)
    a) SWI
    SWI {} <24位立数>
    产生SWI异常中断实现户模式调操作系统监控功程序 处理器置理 (SVC) 模式例:
    SWI 0x01 调编号01系统例程
    b) BKPT
    BKPT <16位立数>
    产生软件断点中断程序调试

    BKPT 0xF010
    (10) 协处理器指令
    a) CDP
    CDP {} CRd CRn CRm {}
    编号CP#协处理器接受指令执行具体操作Cop1Cop2定义CRnCRm源操作数结果àCRd例:
    CDP P6 2 C5 C10 C3 16 激活协处理器P6操作操作码1操作码2值分216目标寄存器C5源操作数寄存器C10C3
    b) MRCMRC
    MRC | MCR {} CRd CRn CRm {}
    ARM协处理器寄存器间传送数
    MRC:ARM寄存器ß协处理器寄存器
    MCR:协处理器寄存器ßARM寄存器
    例:
    MCR P3 3 R0 C4 C5 6 ARM处理器R0à协处理器P3寄存器C4C5
    c) LDCSTC
    协处理器寄存器存储器间传送数
    LDC:协处理器寄存器ß存储器
    STC:存储器ß协处理器寄存器
    前变址格式
    LDC | STC {} {L} CRd [Rn ]{}
    变址格式
    LDC | STC {} {L} CRd Rn
    33 Thumb指令集
    (1) Thumb指令集特点
    l ARM指令集压缩形式子集Thumb指令均应ARM指令
    l 采16位二进制编码代码密度
    l 执行Thumb指令时先动态解压缩然作标准ARM指令执行
    l 区分指令流取决CPSR位T
    l Thumb数处理指令采2址格式
    l 移位操作变成单独指令
    l 没协处理器指令单寄存器交换指令加指令64位法指令程序寄存器处理指令
    l 仅分支指令B条件执行功
    (2) Thumb状态切换
    a) ARM状态进入Thumb状态
    执行带状态切换转移指令BX例:
    BX R0 R0低位1转Thumb状态
    异常返回通常返回进入异常前执行指令流特切换Thumb模式适异常前执行Thumb指令
    b) Thumb 状态进入ARM状态
    执行BX指令
    利异常进入ARM指令流
    (3) Thumb指令寄存器
    l R0~R7具全部访问权限
    l R8~R12访问受限制通MOVADDCMP访问
    l 种特权模式组SPLRSPSR分应ARM状态R13R14R15
    (4) Thumb指令ARM指令相似点
    l LoadStore结构
    l 支持8位字节16位半字32位字数类型
    l 半字2字节边界准字4字节边界准
    (5) Thumb指令ARM指令差异点
    l 跳转指令:条件跳转范围更限制转子程序具条件转移
    l 数处理指令:通寄存器进行操作操作结果需放入中操作数寄存器许Thumb指令采2址格式ARM数处理指令采3址格式
    l 单寄存器加载存储指令:访问R0~R7
    l PUSHPOP指令堆栈指针R13作基址实现满递减堆栈R0~R7外PUSH指令存储R14POP指令加载程序指令PC
    l 数Thumb指令条件执行ARM指令条件执行
    l 采高密度编码Thumb指令格式没ARM指令格式规
    (6) Thumb分支指令
    a) B 指令——目标Thumb代码
    B <条件码>

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 8 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    嵌入式系统教案

    课程名称 嵌入式控制系统总学分: 3学分 总学时:48学时 其中: 讲课 40学时 实验8 学时课程类别 必修课( ) 选修课( √ ) 公共课( ...

    2年前   
    422    0

    嵌入式系统设计作业及答案

    嵌入式系统设计作业及答案第0章 绪论1、什么是数字系统设计技术?在解决了对不同目标信息的数字化编码、数字化传输、数字化解码的基本理论、算法定义和协议规范之后,对其如何进行系统的构成,如何以最优...

    3年前   
    534    0

    基于ARM的嵌入式温度控制系统设计

     毕业设计说明书(论文)作 者: 学 号: 系 部: 通信工程学院 专 业: 通信工程(计算机通信)...

    2年前   
    371    0

    嵌入式系统原理与设计实验报告

    嵌 入 式 系 统 实 验 报 告指导教师: 学科专业: 班 级: 学 号: 姓 名: 2014年X月前 言从20世纪七十年代单片机的出现到各式各样的嵌...

    1年前   
    316    0

    ARM cotex A8嵌入式原理与系统设计习题答案

    ARM cotex A8嵌入式原理与系统设计习题答案第1章1.1 什么是嵌入式系统?嵌入式系统是以应用为中心、以计算机技术为基础、软/硬件可剪裁、适用于对系统功能、可靠性、成本、体积、功耗等有...

    3年前   
    674    0

    微处理器系统结构与嵌入式系统设计第二版答案

    “微处理器系统结构与嵌入式系统设计”第一章习题解答1.2 以集成电路级别而言,计算机系统的三个主要组成部分是什么?中央处理器、存储器芯片、总线接口芯片1.3 阐述摩尔定律。每18个月,芯片的晶...

    2年前   
    566    0

    嵌入式实时操作系统试题

    嵌入式实时操作系统试题——(笔试、闭卷)一、判断(2×12=24分)1、嵌入式系统是看不见的计算机系统,其开发环境和运行环境一致。( F )2、PC机可包含在嵌入式系统中。( T )...

    3年前   
    1122    0

    嵌入式操作系统实验指导

    嵌入式操作系统实验指导书目 录实验一 Linux命令使用实验二 vi编辑器的使用实验三 shell编程实验(一)实验四 shell编程实验(二)实验五 Linux开发工具...

    1年前   
    375    0

    嵌入式系统学习心得

    嵌入式系统学习心得  首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通。他们的方面上我只能说...

    11年前   
    471    0

    ARM嵌入式教学实验系统项目合作意向书

    ARM嵌入式教学实验系统项目合作意向书  项目合作意向书  项目名称:“arm嵌入式教学实验系统”  甲方:深圳信息职业技术学院  乙方:深圳市旋极历通科技有限公司  甲乙双方经友好协商,同意...

    12年前   
    513    0

    !嵌入式系统复习题资料整理

    1. 什么是嵌入式系统?其特点有些什么?答: 嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。” 特点:1)是专用的...

    4年前   
    576    0

    嵌入式系统在工业控制中的应用

      嵌入式系统在工业控制中的应用 摘 要:工业控制是嵌入式系统的应用的重要领域,Linux 系统是嵌入式系统开发的有力工具,本文主要利用Linux系统来具体实现一个嵌入式工业控制系统。同...

    10年前   
    7614    0

    聊天程序设计嵌入式linux课程设计报告

    课程设计成果 院(系):_电气与信息工程学院_ 班 级: 计科普 学生姓名: 学 号: 设计地点(单位)_...

    1年前   
    231    0

    教学楼供配电系统设计发配电系统设计课程设计

    发配电系统设计课程设计设计内容:1号教学楼供配电系统设计 姓 名: 院 系: 物理与机电工...

    1年前   
    358    0

    XX加工厂供配电系统设计供配电系统设计报告课程设计

    xx大学 供配电系统设计报告 课 题 某加工厂供配电系统设计 专业班级 自动化**** ...

    4年前   
    1142    0

    毕业设计管理系统的设计与实现

    毕业设计管理系统的设计与实现 摘 要 随着Internet的飞速发展及互联网的普及,计算机已广泛用于政府、军事、科研、商业等部门,连接到千家万户,利用计算机实现毕业设计管...

    5年前   
    2649    0

    数字系统设计-秒表设计

     深 圳 大 学 实 验 报 告 课程名称: 数字系统设计 实...

    5年前   
    1239    0

    系泊系统的设计

    本文对系泊系统的设计问题进行了分析,给出合理的假设,建立优化模型,巧妙地解决了题目中所提出的问题。针对问题一,首先采用集中质量的多边形近似法对单点系泊系统进行静力学分析,结合单点浮标系统特性,建...

    4年前   
    1328    0

    论ARM嵌入式系统及其信息产业化发展

    摘 要:当今信息时代,嵌入式系统的应用无处不在,而ARM嵌入式系统应用市场份额约占75%。从嵌入式系统的基本概念入手,分别从ARM的定义、ARM微处理器、ARM开发工具及调试方法来介绍ARM嵌...

    5年前   
    698    0

    ARM嵌入式系统基础教程期中开卷含答案

    ARM嵌入式系统基础教程 ---- 期中开卷 专业:软件1班 姓名: 学号:一、 嵌入式系统基本概念1、 什么是嵌入式系统?有何特点? 答:所谓...

    2年前   
    352    0

    文档贡献者

    文***享

    贡献于2021-11-17

    下载需要 8 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档