目录
[5、CISC VS RISC](#5、CISC VS RISC)
[五十六、STM32 NVIC的使用](#五十六、STM32 NVIC的使用)
[五十八、EXTI工作原理(F1 F4 F7)](#五十八、EXTI工作原理(F1 F4 F7))
一、基础篇
一、单片机简介
学习目标:
- 单片机是什么(了解)
- 单片机有什么用(了解)
- 单片机发展历史(了解)
- 单片机发展趋势(了解)
- CISC VS RISC(了解)
- 课堂总结(了解)
1、单片机是什么?
单片机:Single-Chip Microcomputer,单片微型计算机,是一种集成电路芯片

|---------|----------------------|-----------------------------------------|
| 对比项 | 电脑 | 单片机 |
| CPU主频 | X86 , 2~5GHz | 51/ARM/RISC-V,72MHz @STM32F1 |
| 内存容量 | GB级,约40GB/s @DDR4 | KB级 ,约300MB/s @STM32F1 |
| 硬盘容量 | TB级 ,约500MB/s @SATA3 | KB级,约100MB/s @STM32F1 |
| 功耗 | 数百W | <0.5W。3.3V * 150 mA = 0.495W @STM32F1 |
| 价格 | 2000~10000 | <10元 @STM32F1 |
[电脑 VS 单片机]
单片机的特点
- 体积小:<5mm*5mm
- 功耗低: mA级,<0.5W
- 集成度高: IO/TIM/AD/DA
- 使用方便:C/Debug
- 扩展灵活:IIC/SPI/FSMC
2、单片机有什么用?
- 仪器仪表:电源、示波器、焊台
- 家用电器:空调、冰箱、洗衣机
- 工业控制:机器人、PLC、电梯
- 汽车电子:GPS、ABS、胎压检测
3、单片机的发展历程

4、单片机发展趋势

5、CISC VS RISC
|------|---------------------------------------------------------------|----------------------------------------------------|
| 对比项 | 复杂指令集计算机(CISV) | 精简指令集计算机(RISC) |
| 目的 | 为了便于编程和提高存储器访问效率 | 为了提高处理器运行速度 |
| 指令特点 | 1、指令多,模式多,格式可变 2、指令的执行需要的时钟周期差距很大 3、无流水线或流水线程度较低 4、指令由微代码翻译执行 | 1、指令少,模式少,格式固定 2、大多数指令只需1个时钟周期 3、流水线结构 4、指令直接由硬件执行 |
| 优点 | 1、指令丰富、功能强大 2、寻址方式灵活 | 1、指令精简,易于设计,使用率均衡 2、程序执行效率高 |
| 缺点 | 1、指令使用率不均衡 2、不利于采用先进结构提高性能 3、结构复杂不利于超大规模集成电路实现 | 1、指令数较少,功能不及CISC强大 2、寻址方式不够灵活 |
[CISC VS RISC]

冯诺依曼结构 VS 哈佛结构

6、总结
二、Cortex-M系列简介
学习目标:
- ARM公司(了解)
- Cortex内核分类及特征(了解)
- Cortex-M3/4/7介绍(了解)
- 课堂总结(了解)
1、ARM公司
ARM公司:只做内核设计和IP授权,不参与芯片设计

ARM架构为什么能风靡全球?

2、Cortex内核分类及特征
|---------|---------------------------|-------------------------|-------------------------------|
| 对比项 | Cortex-A(Application) | Cortex-R(Real-Time) | Cortex-M(Microcontroller) |
| 特点 | 高时钟频率,长流水线,高性能 | 较高时钟频率,较长的流水线,实时性强 | 时钟频率较低,通常较短的流水线,超低功耗 |
| 应用场景 | 移动计算、智能手机、平板电脑、数字电视 | 军工、汽车电子、无线基带、硬盘控制器 | 工控、传感器、消费电子、家用电器、医疗器械 |
| 性能 | 高 | 中 | 低 |
3、Cortex-M3/4/7介绍
|---------------|-----------|---|---------|---|--------------|
| 类别 | Cortex-M3 | Cortex-M4 ||| Cortex-M7 |
| 核心版本 | ARMv7-M | ARMv7E-M ||||
| 指令系统 | Thumb/Thumb-2 |||||
| DSP指令扩展 | 无 || 有 | 有 ||
| 浮点单元 | 无 || 单精度浮点单元 | 可选单/双精度浮点单元 ||
| 流水线 | 3级 || 3级+分支预测 | 6级+分支预测 ||
| 中断 | NVIC,NMI + 1~240物理中断源,8~256个中断优先级 |||||
| 系统定时器 | 24位系统滴答定时器 |||||
| 睡眠模式 | 集成WFI和WFE指令以及退出睡眠功能 |||||
| 调试 | 可选JTAG和SWD调试接口 |||||
| 内存保护 | 可选8个区域MPU | 可选8个区域MPU ||| 可选8、16个区域MPU |
| DMIPS/MHz | 1.25 | 1.25 ||| 2.14 |
| CoreMark®/MHz | 3.34 | 3.43 ||| 5.01 |
4、总结

三、初识STM32
学习目标:
- STM32是什么?
- STM32芯片分类
- STM32命名规则
- STM32选型
- 总结
1、STM32是什么?

2、STM32芯片分类

3、STM32命名规则

4、STM32选型
由高到到低,由大到小
5、总结
