当前位置: 首页 > news >正文

嵌入式复习第二章

1. ARM 处理器特点及应用
2. CM3 微控制器简介
3. CM3 存储格式类型
4. CM3 嵌套向量中断控制器 NVIC
5. CM3 寄存器组织
6. CM3 存储映射(位带及计算)
7. CM3 异常与中断
8. STM32 时钟源与时钟树
9. STM32F10 系列的 GPIO
ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
低功耗、低成本、高性能
采用 RISC 指令集
使用大量的寄存器( 37 31+6
ARM/THUMB 指令支持(高效)
/ 五级流水线
1. 体积小、低功耗、低成本、高性能
2. 支持 Thumb 16 位) /ARM Thumb-2 32 位)指令集,能很好地兼容 8 /16 位器件
3. 大量使用寄存器,指令执行速度更快 4. 大多数数据操作都在寄存器中完成
5. 寻址方式灵活简单,执行效率高
6. 指令长度固定
ARM 微处理器及技术的应用已经深入到如下各个领域:
1. 工业控制领域
2. 无线通讯领域
3. 网络应用
4. 消费类电子产品
5. 成像和安全产品
从编程的角度看,ARM微处理器的工作状态一般有两种, 并可在两种状态之间切换:
ARM 状态,此时处理器执行 32 位的字对齐的 ARM 指令;
Thumb 状态,此时处理器执行 16 位的、半字对齐的 Thumb 指令。
ARM指令集可以分为数据处理指令,数据加载指令和存储指令,分支指令,程序状态寄存器(PSR)处理指令, 协处理器指令和异常产生指令六大类。
嵌套向量中断控制器(NVIC)是ARM Cortex-M3处理器中一个完整的部分。ARM Cortex-M3的所有中断机制都由NVIC实现。NVIC可以被高度配置,为处理器提供出色的中断处理能力。NVIC支持优先级分组,可分为抢占优先级和响应优先级。
ARM Cortex-M3 的所有中断机制都有 NVIC 实现。 NVIC 除了支持 240 个外部中断之外,还支持 11 个内部异常源。ARM Cortex-M3 处理器和嵌套向量中断控制器( NVIC )对所有异常按优先级进行排序并处理。
所有异常都在处理模式中操作。出现异常时,自动将处理器状态保存到堆栈中(该状态在中断服务程序 (ISP )结束时自动从堆栈中恢复),并且在状态保存的同时取出相应的异常向量快速地进入相应的异常处理。
以下特性 使得 ARM cortex-M3 能够高效且低延迟地对异常进行处理:
1. 自动的状态保存和恢复
2. 优先级屏蔽支持临界区
3. 自动读取代码存储器或 SRAM 中包含 ISR 地址的向量表入口。
4. 支持末尾连锁
5. 中断优先级可动态重新设置
6. ARM Cortex-M3 NVIC 之间采用紧耦合接口,通过该接口可以尽早地对中断和高优先级的迟来中断进行处理。
7. 中断数目可配置为 1~240
8. 中断优先级的数目可配置为 1~8 位( 1~256 级)
9. 处理模式和线程模式具有独立的堆栈和特权等级
10. 使用 C/C++ 标准的调用规范。

位带操作,重点

每个位带区有一个1MB的区间
8M bit
位带区有一个对应的32MB的位带别名区,容纳了8M个位变量(1个变量是4个字节的字)
位带区的一个 bit 对应位带别名区的一个位变量

STM32F10x内部结构
系统总线
M3 内核的系统总线与总线矩阵相连,协调内核与 DMA 访问
DMA总线
DMA AHB 主控接口与总线矩阵相连,协调 CPU DCode和DMA SRAM 、闪存、外设的访问
总线矩阵
协调内核系统总线和 DMA 主控总线间的访问仲裁,仲裁采用轮换算法
包含 DCode 、系统总线、 DMA1 DMA2 总线、被动单元
  AHB到APB桥
两个 AHB/APB 桥在 AHB 和两个 APB 总线间提供同步连接
APB1 速度限于 36MHz APB2 全速最高 72MHz

处理器需要时钟才能工作,不同片内外设也工作在不同的频率。 STM32 支持多种内部和外部时钟源,如下所示。
1. HSE 高速外部时钟,频率 4~16MHz 。用于驱动系统时钟,来源于外部晶体 / 陶瓷振荡器,或用户外部时钟
2. LSE 低速外部时钟,频率 32.768KHz 。用于驱动 RTC ,来源于外部晶体或陶瓷振荡器,或外部时钟
3. HSI 高速内部时钟,频率 8MHz 。用于驱动系统时钟,来源于内部 8MHz RC 振荡器
4. LSI 低速内部时钟,频率 40KHz 30KHz~60KHz )。用于为独立看门狗、 RTC 和自动唤醒单元提供时钟,来源于内部RC 振荡器。
5. PLL 锁相环时钟,频率 72MHz 。用于驱动系统时钟
时钟源相关寄存器
地址范围是0x4002_1000-0x4002_13FF
时钟控制寄存器 (RCC_CR) 复位值: 0x000 XX83 。 偏移量 0x0
时钟配置寄存器 (RCC_CFGR) 复位值: 0x0000 0000 。 偏移量 0x4
时钟中断寄存器 (RCC_CIR) 复位值: 0x0000 0000 。 偏移量 0x8
备份域控制寄存器 (RCC_BDCR) 。复位值: 0x0000 0000 。 偏移量 0x20
控制 / 状态寄存器 (RCC_CSR) 复位值: 0x0C00 0000 。偏移量 0x24
时钟结构
系统复位后,所有外设全部关闭
SRAM FLASH 接口( FLITF )除外
使用外设之前需打开该外设时钟
设置 RCC——AHBENR 寄存器
RCC_APB1ENR和RCC_APB2ENR。它们的作用是控制 各个APB总线上的片上外设的时钟的开启/关闭状态

STM32F10系列处理器的定时器和看门狗
系统定时器SysTick
最多可以有8个定时器(TIM)
分成三类
通用定时器包括 TIM2 TIM3 TIM4 TIM5
基本定时器 TIM6 TIM7
高级定时器 TIM1 TIM8
每个 TIM 是一个通过可编程预分频器驱动的 16 位自动装载计数器。这些定时器之间都是互相独立的,不共享任何资源。
看门狗
为了检测和解决由软件错误引起的故障,嵌入式处理器通常具有一种叫做看门狗的模块。这种模块一般是倒计数器,其作用是以一定的周期产生复位信号使系统复位, 产生复位信号的时刻一般是倒计数到某个值(例如0)的时刻。
STM32F10xxx内置两个看门狗:独立看门狗和窗口看门狗

通用输入/输出口(GPIO)是一个灵活的由软件控制的数字信号, 每个GPIO都代表一个连接到
CPU特定引脚的一个位。STM32 的GPIO端口的每一位都可以由
软件配置成多种模式: 浮空输入、 上拉输入、下拉输入、模拟输入、开漏输出、推挽输出、复用功能 、复用功能开漏输出
STM32 的每个 I/O 可以自由编程,然而必须按照 32 位字访问 I/O 端口寄存器(不允许半字或字节访问)。
每个 I/O 端口有两个 32 位配置寄存器( GPIOx_CRL GPIOx_CRH ),两个 32 位数据寄存器( GPIOx_IDR 和GPIOx_ODR ),一个 32 位置位 / 复位寄存器( GPIOx_BSRR ),一个 16 位复位寄存器( GPIOx_BRR ) 和一个32 位锁寄存器( GPIOx_LCKR )。
GPIO 的一些特性:
1. STM32 I/O 端口的输出模式有 3 种速度可选,分别为 2MHz 10MHz 50MHz
2. GPIO 端口设为输入时,输出驱动电路与端口是断开,所以输出速度配置无意义
3. 在复位期间和刚复位后,复用功能未开启, I/O 端口被配置成浮空输入模式
4. 所有 I/O 端口都有外部中断能力,可以作为外部中断的输入,便于系统灵活设计,为了使用外部中断线,端口必须配置成输入模式
5. GPIO 端口的配置具有上锁功能 ,当配置好 GPIO 端口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。
6. 所有 I/O 端口兼容 CMOS TTL ,多数 I/O 端口兼容 5V 电平。
7. 很多 I/O 口的复用功能,可以重新映射。

STM32系列的优点
先进的内核结构
STM32 系列使用了 ARM 最新的、先进架构 Cortex-M3 内核
优秀的功耗控制
STM32 处理器具有三种低功耗模式
运行模式时使用高效的动态耗电机制,在 Flash 中以 72MHz 全速运行时,如果开启外部时钟,处理器仅耗电27mA
待机状态时极低耗电,典型值 2uA
电池供电时,提供低电压 2.0 3.6V 工作能力
灵活的时钟控制机制,用户可以根据自己所需的耗电 / 性能要求进行合理优化
RTC 可独立供电,外接纽扣电池供电
高度的集成整合
STM32 处理器最大程度地实现集成,尽可能地减少对外部器
件的要求
内嵌电源监控器,带上电复位、低电压检测、掉电检测
自带时钟的看门狗定时器
一个主晶振 (4 16MHz 晶振 ) 驱动整个系统,内嵌 PLL 产生多种频率;RTC 时钟可内部也可外部晶振 (32kHz)
内嵌精密 8MHz RC 振荡电路,可作为主时钟
LQPF 封装仅需 7 个滤波电容
易于开发,可使产品快速进入市场

ARM微处理器有什么特点?ARM微处理器常用于哪些领域?
简述ARM Cortex-M3是如何处理异常的。
简要说明ARM Cortex-M3处理器的存储器系统特点及映射分区。
简述ARM Cortex-M3的通用寄存器组织。
什么是MSP和PSP,对它们的使用有什么要求?
ARM Cortex-M3为什么能够高效且低延迟地对异常进行处理?
当任意两个可配置异常同时产生时,ARM Cortex-M3决定先处理哪个异常的规则是什么?
Cortex-M3中的数据传送包括哪些类型,所使用的基本数据传送指令是什么?
简述STM32F10系列ARM Cortex-M3处理器的定时器系统。
什么是ARM Cortex-M3的位带?简述位带操作。
简述ARM Cortex-M3的向量表及其结构。
ARM Cortex-M3的指令集有哪几类指令,分别用于进行什么处理?
http://www.xdnf.cn/news/280135.html

相关文章:

  • 修复笔记:SkyReels-V2项目中的 from_config 警告
  • 历史观以及文化和文明的相关知识
  • 序列到序列学习
  • 软件测试报告机构如何保障软件质量并维护其安全性?
  • Vultr之Ubuntu重设密码
  • 湖北理元理律师事务所:债务优化的合规化探索
  • 2025年- H26-Lc134- 226. 翻转二叉树(树)---java版
  • Java学习手册:SQL 优化技巧
  • 正态分布习题集 · 答案与解析篇
  • LabVIEW比例阀性能自动测试
  • 【Redis】哈希(hash)与列表(list)
  • 【SimSession 】2:PacedReceiver:支持与 PacedVideoSender 本地联调
  • PostgreSQL 的 REINDEX 命令
  • 装饰模式(Decorator Pattern)
  • 【C++】运算符重载
  • 图片压缩与尺寸调整的便捷工具推荐
  • 主成分分析(PCA)与逻辑回归在鸢尾花数据集上的实践与效果对比
  • 【翻译、转载】MCP 工具 (Tools)
  • 【python实用小脚本-47】用Python打造高效的信息推送系统:从问题到解决方案的实战之旅
  • 【默子AI】Anthropic Claude LLM对齐伪装 解读
  • Temp Mail 1.7.0 | 创建和管理临时邮箱,防止垃圾邮件骚扰,保护隐私安全
  • 高效便捷的定时关机与任务管理工具
  • Java学习手册:MyBatis 框架作用详解
  • 【循环依赖(Circular Dependency)】
  • 2025信息安全网络安全意识培训资料汇编(24份)
  • Day 4:牛客周赛Round 91
  • 力扣刷题(第十六天)
  • Mamba+Attention+CNN 预测模型:破局长程依赖的计算机视觉新范式
  • 24:条码解析
  • 深度剖析:丝杆升降机与齿条的传动特性、应用场景及选型策略