IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 武理计算机嵌入式期末复习 -> 正文阅读

[嵌入式]武理计算机嵌入式期末复习

嵌入式复习

第一章

  1. 基本概念

    以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、重量和功耗严格要求的专用计算机系统。

  2. 体系结构:四层。应用层、系统层、中间层和硬件层
    在这里插入图片描述

    • 处理器:嵌入式微处理器、微控制器、数字信号处理器,SoC——FPGA(快速成品、可以修正、便宜)、ASIC
    • 操作系统:IOS,Android,Linux,WinCE

第二章

设计方法

  1. 传统方法

    优点是简单易行,分工明确。缺点是排错困难,无法进行全系统的优化设计

  2. 软硬件结合

    优点是软硬件统一描述有利于优化设计,着重算法。缺点是不够成熟,缺少高效开发工具。

第三章

  1. ARM是低功耗成本的第一款RISC微处理器。

  2. ARM7 冯诺依曼结构,三级流水结构,极低的功耗。移动终端之类的,已经落后了。

    ARM9 哈佛结构,五级流水结构,执行效率更高。无线设备,机顶盒,高端打印机、数字照相机摄像机,车载车控。

  3. ARM版本

    v1-v3是开发和试验版本,功能单一。v4是第一个具有全部正式定义的体系结构,ARM从v4版本开始走向成熟。v5是对v4的扩展。v6强化了图形处理,支持多种版本内核。v7是ARM的极大成功,占据了70%的市场,领先地位。

  4. 体系结构

    冯诺依曼结构是常规的,指令存储器和数据存储器在一起的存储器结构,程序指令和数据的宽度相同

    哈佛结构是程序指令存储和数据存储分开的存储结构

  5. 流水线技术

    • 三级流水是指取指、译码、执行三级。
    • 五级流水是指取指、译码、执行、存储器访问、寄存器回写五级。
  6. 多核大小核

    多核要关注的两个问题,一是在多任务执行的时候要能够很好的提升产品性能,二是提高电池续航

    第一代大小核应该是A57+A53,第二代大小核A75+A55,DynamlQ big.LITTLE

  7. 处理器模式

    用户模式、系统模式、快速中断、外部中断、管理模式、数据访问终止、未定义指令中止。

    除开用户模式意外都是特权模式,除开用户和系统意外都是异常模式。

  8. 处理器工作模式有两种,ARM(字对齐,32位ARM指令)和Thumb(半字对齐,16位Thumb指令),开始执行代码时总是处于ARM状态。

    模式切换:

    • 执行BX命令,带状态切换的指令,操作数寄存器最低位[0]为1时进入Thumb。
    • 工作在Thumb状态,遇到异常进入异常状态,处理完返回时进入Thumb状态。

    进入ARM

    • 执行BX命令,最低位[0]为0,进入ARM。
    • 工作在Thumb状态,发生异常进入异常处理,进入ARM状态。
  9. 寄存器

    • 未分组寄存器:R0-R7,指向同一个物理寄存器。

    • 分组寄存器:R8-R14,根据不同处理器模式分组。对应物理寄存器由当前处理器模式决定。

    • R0–R13通用寄存器,不用做特殊用途。

    • R8–R12有两个分组的物理寄存器,一个用于FIQ模式,另一个用于其他模式。

    • R13-R14有六个分组。一个分组用于系统模式和用户模式,剩下五个分别为各自的异常模式。

    • R13也堆栈指针,SP。ARM无特殊指令。

    • R14 链接寄存器 LR

      • 模式自身的R14用于保存子程序返回地址
      • 异常时,对应的异常版本R14设置为异常返回地址。
    • R15 程序计数器PC

      ARM [1:0]为0 [31:2]保存PC

      Thumb [0]为0,[31:1]保存PC

    • R16

      • CPSR 程序状态寄存器 任何模式均可访问,包括条件标志位,中断禁止位等。
      • SPSR 程序状态保存寄存器

      进入异常时。SPSR保存CPSR寄存器的值,异常返回后写回。

  10. 异常(程序的正常执行流程遇到暂时的停止):

    • 复位:处理器复位电平有效时,产生复位异常
    • 未定义
    • 软件中断
    • 指令预取中止
    • 数据中止
    • IRQ(外部中断请求):外部中断请求引脚有效,且CPSR的I位为0,产生IRQ异常,优先级低于FIQ。
    • FIQ(快速中断请求)
  11. 异常流程

    • CPSR复制到对应异常的SPSR
    • 设置对应异常的CPSR
    • 下一条指令地址存入R14
    • 强制PC从相关的异常向量取指令执行,从而跳转到相应的异常处理
  12. 从异常返回

    • SPSR的值复制回CPSR
    • LR的值减去相应偏移量送回PC

    复位异常不用返回。

  13. ARM处理器的数据类型一般是三种,字、半字、字节,分别是32位、16位、8位。ARM要求自然对界,字需要四字节对齐,地址的低两位位0;半字则是二字节对齐,地址最低位0;字节可以任意地址对齐。

  14. 如果一个数据地址是从偶地址开始的连续存储,则是半字对齐,否则就是非半字;如果一个数据地址是从能被4整除的地址开始的连续存储,则是字对齐,否则就是非字对齐。

  15. 32位微处理器,支持最大寻址为4GB。从0开始的以字节为单位的线性组合,一个字四个位置。大端低地址存放高字节,高地址存放低字节,小段格式相反

  16. ARM内核属于RISC结构,指令长度固定,指令格式种类少,寻址简单。

  17. 寻址方式

    • 立即寻址:操作数指令中给出

    • 寄存器寻址:操作数是给出寄存器的内容

    • 寄存器间接寻址:寄存器的内容作为操作数的地址

    • 基址变址寻址:寄存器的内容+偏移量为操作数地址

    • 多寄存器寻址:一次传送多个寄存器的值

      多寄存器加载/存储指令有8种模式,针对数据传送操作的有IA IB DA DB。针对堆栈操作的有FD ED FA EA

      LDM 读出

      STM 读入

      LDR 读入

      STR 读出

    • 堆栈寻址:

    • 移位寻址:

  18. 指令

    • LDR 从存储器中将一个32位的数据放入目的寄存器
      • LDRB 传送八位的字节数据,并清空高24位
      • LDRH 传送16位的半字数据,并清空高16位
    • STR 从源寄存器中将32位的子数据传送到存储器中。
      • STRB 8位字节数据,源寄存器的低8位。
      • STRH 半字数据,源寄存器低16位

    分支

    • B 跳转
    • BL 跳转,跳转前保存当前PC内容到R14

    数据处理

    • MOV 数据加载 可以将另一个寄存器、被移位的寄存器、立即数加载到目的寄存器。
      • MVN 同上,但是按位取反
    • CMP 比较寄存器和寄存器或者寄存器和立即数的大小,更新CPSR某些标志位
    • TST 按位与运算 检测是否设置了特定位数 寄存器,寄存器/立即数
    • TEQ 按位异或运算, 检测两数是否相等
    • ADD 两数相加 目的寄存器在前面。
      • ADC c是CPSR的C条件标志位的值,三者相加
    • SUB 减法操作,操作数1-操作数2。操作数一是寄存器,操作数二什么都可以
      • SBC 同ADC
    • AND 两个操作数按位与运算 屏蔽操作数1的某些位
    • ORR 两个操作数逻辑或 (寄存器 寄存器/立即数 ),常用于设置操作数一的特定位置。
    • EOR 逻辑异或运算, 基本同上,反转某些位。

    乘法

    • MUL 目的寄存器 操作数1 操作数2

    状态寄存器访问指令

    • MRS 通用寄存器 程序状态寄存器:将程序状态寄存器内容送出
    • MSR 对程序状态寄存器进行写入操作。只有这个操作能修改程序状态寄存器、
  19. 命名规则

    ARM {X}{Y}{Z}{T}{D}{M}{I}{E}{J}{F}{S}

    x:系列号

    y:内部存储/保护单元,一般跟着序列号

    T: 支持16位Thumb指令

    D:支持JTAG片上调试

    M:支持长乘法的ARM指令

    I:支持断点和观察点的硬件调试

    J:JAVA加速器Jazelle

    F:向量浮点单元

    S:可综合版本

  20. 实验代码指令略

第四章

  1. 伪指令

    • .extern 标号在其他源文件定义,该文件可能引用
    • .global 声明外部标号,本文将定义,其他文件可能引用。.
    • .equ 定义常量的值
    • .section 定义段
    • _start是默认的入口点标号
  2. LDR 实现将一个32位常数或者地址值加载到寄存器

  3. ATPCS概述

    • 子程序调用过程中寄存器的使用规则

      • R0~R3:用于传参,R0用于返回值。
      • R4~R11:通用变量寄存器。
      • R12:用作过程调用中间临时过渡寄存器IP
      • R13:堆栈指针
      • R14:连接寄存器
      • R15:PC
      • R9: 静态基址寄存器SB
      • R10:数据栈限制指针SL
      • R11:帧指针FP
      1. 子程序通过寄存器R0~R3来传递参数
      2. R4~R11来保存局部变量,Thumb程序中只能使用4-7
      3. 寄存器R12用作子程序将临时过渡寄存器,记作IP
      4. 子程序R13不能用于其他作用,只能用于数据栈指针
      5. R14记作LR,用于保存子程序返回地址
      6. R15程序计数器PC,不能用于其他用途
      7. 各寄存器在编译器和汇编器中都是预定义的
    • 数据栈的使用规则

    • 参数的传递规则

      • 参数不超过四个,R0R3。超过四个,依次排列使用R0R3
      • 返回时32位使用R0,64位使用R0-R1。

第五章

  1. 金字塔结构。

    寄存器-高速缓存(L1-L3)-主存-本地二级存储-远程二级存储

  2. FLASH

    优点

    • 存储容量大
    • 读取速度快
    • 成本低
    • 保护机制

    缺点

    • 先擦除后写入
    • 擦写速度慢
    • 必须以BLOCK方式写入
  3. NOR Flash 英特尔所发展的架构

    • 随机读取,读取速度快,写入和擦除速度较低,
    • 应用程序可以直接在Flash内运行。
  4. NAND Flash 东芝所发展的架构

    • 读取比上面慢,写入擦除比上面快
    • 相同密度下 成本低
    • 适用与大容量存储装置
  5. IROM 64KB 0xD0000000到0xD000FFFF

    IRAM 96KB 0xD0020000到0xD0037FFF

  6. S5PV210启动流程

    • 通电以后从IROM处执行固化启动代码BL0
    • BL0初始化过程中对设备进行判断。过程中从启动设备拷贝BL1到IRAM处。校验BL1内容,通过后执行,然后拷贝BL2到IRAM,校验通过后执行
    • BL2完成复杂的初始化内容,完成后拷贝OS代码到DRAM并执行。
  7. BL0启动代码

    • 关闭看门狗
    • 初始化icache
    • 初始化栈和对
    • 初始化块设备拷贝功能
    • 设置时钟
    • 拷贝BL1
    • 校验BL1

第六章

  1. GPIO 通用I/O接口

    可编程的输入输出或者双向通信功能

    控制146个GPIO中断

    控制32个外部中断

    237个多功能I/O端口

  2. 定时器

    五个定时器(32位) 每一个都能产生中断请求。定时器0 1 2 3具有脉冲宽度调制,PWM,可以驱动1个外部I/O。定时器4是一个内部定时器,没有输出口线,定时器0具有死区发生器特性,适合大电流设备应用。

    减一计数,到0为止。

    • 双缓冲技术,有两组寄存器
    • TCNTBn、TCMPBn 初值寄存器
    • TCNTn、TCMPn 当前寄存器
    • 定时器都有一个定时器时钟驱动的32位递减计数器。初值由TCNTBn设定
    • TCMPBn的值用于PWM(脉冲宽度调制)
    • 当TCNTn递减计数器的值和TCMPn相等时,定时器控制单元改变输出电平,决定占空比。
    • 自动重装指定时器计数到0时的操作,初值寄存器的值会自动加载到当前寄存器。
  3. UART 通用异步收发器,使用方便,编程简单,成本低廉。所有的微控制器都提供串行通讯接口。

    工作原理

    • 协议规定 空闲位、停止位为高电平,起始位为低电平。
    • 数据发送:首先发送起始位,然后数据位。数据位按照规定的发送波特率先低后高诸位移出。最后发送停止位。
    • 接收过程
      • 异步通信需要高倍频的采样时钟,一般接收方采样时钟为接收波特率的16倍
      • 连续采样8次都是低电平,确认接收起始位
      • 然后每次间隔16个采样时钟接收一次数据位
      • 接收奇偶校验位和停止位,同数据位方式。
      • 停止位接收完毕进入空闲。

    UART提供四个独立的异步的串行I/O口。每个UART包含 一个波特率发生器、一个发送器、一个接收器和一个控制部件。

    • 操作步骤
      • 设置涉及到引脚为UART功能
      • 设置波特率、传送格式
      • UART通道的工作模式
      • 等待发送/接收数据完成
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-05 20:25:18  更:2021-07-05 20:25:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 10:33:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计