stm32基础教程
Flash的编程方法(续)
– 库函数: • Flash_GetUserOptionByte函数 • Flash_GetWriteProtectionOptionByte函数 • Flash_GetReadOutProtectionStatus函数 • Flash_GetPrefectchBufferStatus函数 • Flash_ITConfig函数 • Flash_GetFlagStatus函数 • Flash_ClearFlag函数 • Flash_GetStatus函数 • Flash_WaitForLastOperation函数
– Flash闪存编程和擦除
Flash寄存器结构
• • • • • • • • • • • • typedef struct { vu32 ACR; 寄存器 vu32 KEYR; 存器 vu32 OPTKEYR; 寄存器 vu32 SR; 存器 vu32 CR; 存器 vu32 AR; 存器 vu32 RESERVED; vu32 OBR; 态寄存器 vu32 WRPR; 保护寄存器 } FLASH_TypeDef; //Flash进入控制 //FPEC关键寄 //选项字节关键 //Flash状态寄 //Flash控制寄 //Flash地址寄 //保留 //选项字节和状 //选项字节写 • • • • • typedef struct { vu16 RDP; vu16 USER; 节 vu16 Data0; 节 vu16 Data1; 节 vu16 WRP0; 字节 vu16 WRP1; 字节 vu16 WRP2; 字节 vu16 WRP3; 字节 } OB_TypeDef; //读出选项字节 //用户选项字 //数据0选项字
ADC系统功能特性
– – – – – – – – – – – ADC开关控制 ADC时钟 ADC通道选择 ADC的转换模式 ADC的扫描模式 ADC的注入通道管理 间断模式 ADC的校准模式 可编程的通道采样时间 外部触发转换 DMA请求
中断
模拟看门狗
ADC的数据对齐
• ADC_CR2寄存器的ADC的数据对齐 ALIGN位选择转换后数据储存的对齐 方式。
嵌入式操作系统的分类
– 按照是否免费来分类
• 免费嵌入式操作系统 • 收费的嵌入式操作系统
– 按照系统对相应时间的敏感程度
• 硬实时系统 • 软时系统 • 非实时系统
嵌入式操作系统的特点
– – – –
– – – –
–
能够有效管理复杂的系统资源。 嵌人式操作系统提高了系统的可靠性。 能够把硬件虚拟化。 能够提供库函数、驱动程序、工具集以及应用程序, 提高了开发效率,缩短了开发周期。 具有高的系统实时性能。 嵌入式操作系统充分发挥了32位CPU的多任务潜力 嵌入式系统都是为了完成一些特定的任务而设计的, 通用型操作系统往往无法满足某些特定的要求。 嵌入式系统的系统资源相对通用系统来说是极为有限 的。 嵌入式系统配置灵活。
//位复位寄存器 //锁定寄存器
通用I/O接口的编程方法
– 库函数:
• • • • • • • • • • • • • • • • • GPIO_DeInit函数 GPIO_AFIODeInit函数 GPIO_Init函数 GPIO_StructInit函数 GPIO_ReadInputDataBit函数 GPIO_ReadInputData函数 GPIO_ReadOutputDataBit函数 GPIO_ReadOutputData函数 GPIO_SetBits函数 GPIO_ResetBits函数 GPIO_WriteBit函数 GPIO_Write函数 GPIO_PinLockConfig函数 GPIO_EventOutputConfig函数 GPIO_EventOutputCmd函数 GPIO_PinRemapConfig函数 GPIO_EXTILineConfig函数
GPIO的功能配置
– 输入配置 – 输出配置 – 复用功能配置 – 模拟输入配置
复用功能与重映射
– OSC_IN引脚和OSC_OUT引脚 • OSC_IN/OSC_OUT • PD0/PD1
复用功能与重映射
复用功能与重映射
复用功能与重映射
复用功能与重映射
复用功能与重映射
复用功能与重映射
Cortex-M3微处理器
– Cortex-M3微处理器采用ARMv7-M 架构 。 – Cortex-M3系列微处理器的主要特点如下:
• • • • • • • • • • • Thumb-2 指令集架构(ISA)的子集。 哈佛处理器架构,在加载/存储数据的同时能够执行指令取指。 三级流水线。 32 位单周期乘法。 具备硬件除法。 Thumb 状态和调试状态。 处理模式和线程模式。 ISR 的低延迟进入和退出。 可中断-可继续的LDM/STM,PUSH/POP。 ARMv6类型BE8/LE支持。 ARMv6 非对齐访问。
双ADC模式
– 同时注入模式 – 同时规则模式 – 快速交替模式 – 慢速交替模式 – 交替触发模式 – 独立模式 – 组合模式
• 同时注入模式+同时规则模式 • 同时规则模式+交替触发模式 • 同时注入模式+交替模式
温度传感器
ADC系统概述
– STM32芯片内部集成的12位ADC:
• 是一种逐次逼近型模拟数字转换器。 • 具有18个通道 • 可测量16个外部和2个内部信号源。
– ADC系统各通道的A/D转换可以单次、 连续、扫描或间断模式执行。
ADC系统概述
– STM32的ADC系统所用到的引脚,有如 下几个:
• VREF+ • VDDA • VREF• VSSA • ADC_IN[15:0] • EXTSEL[2:0] • JEXTSEL[2:0]
Flash闪存的结构
– STM32高性能的闪存模块提供了 • 高达512K字节的容量 • 10万次以上的擦写次数 – 在128K的STM32中,闪存由如下两部分组成: • 主存储块为16Kx64 位。 • 信息块为320x64 位。
Flash闪存的基本特性
– Flash闪存读取
• 等待时间 • 预取 • 半周期
索引数据传送指令
索引数据传送指令
数据处理指令
– 算术四则运算指令 – 64位乘法指令 – 逻辑操作指令 – 移位和循环指令 – 数据序转指令 – 位操作指令
通用I/O接口的结构
通用I/O接口的结构
GPIO的功能
– 通用I/O – 单独的位设置或位清除 – 外部中断/唤醒线 – 复用功能(AF)和重映射 – GPIO锁定机制
ARM体系结构的特点
– 体积小、低功耗、低成本、高性能。 – 支持 Thumb(16 位)/ARM(32 位)双指令集,能很好 的兼容8/16 位器件。 – 大量使用寄存器,指令执行速度更快。 – ARM处理器共有37个寄存器,分为若干个组 (BANK)。 – 大多数数据操作都在寄存器中完成。 – ARM处理器有7种不同的处理器模式 – 寻址方式灵活简单,执行效率高。 – 指令长度固定。
GPIO寄存器结构
• • •
• • •
•
• • •
typedef struct { vu32 CRL; 器的低字节 vu32 CRH; 器的高字节 vu32 IDR; 寄存器 vu32 ODR; 据寄存器 vu32 BSRR; 存器 vu32 BRR; vu32 LCKR; } GPIO_TypeDef;
理解嵌入式系统
– 嵌入式系统是与应用紧密结合的,是面 向用户、面向产品、面向应用的。 – 嵌入式系统是一个技术密集、资金密集、 高度分散、不断创新的知识集成系统。 – 嵌入式系统可定制、可裁减。 – 嵌入式系统中的软件一般都固化在存储 器芯片或单片机本身中。 – 嵌入式系统本身不具备自主开发能力。
//端口控制寄存 //端口控制寄存 //端口输入数据 //端口输出数
• • •
• • •
typedef struct { vu32 EVCR; 存器 vu32 MAPR; 及AF寄存器 vu32 EXTICR[4]; } AFIO_TypeDef;
//事件控制寄 //重映射调试 //配置寄存器
//位置位/复位寄
嵌入式系统的发展趋势
– 嵌入式处理器的功能越来越强大,而功耗不 断降低。 – 嵌入式系统的人机界面不断强化,应用更加 人性化。 – 嵌入式系统开发环境不断优化,提供了更为 丰富的调试功能。 – 嵌入式系统逐渐强化联网功能。 – 嵌入式系统开始提供更为丰富的接口。 – 嵌入式系统越来越渗透到不同的产品中。
RealView MDK系统安装需求
– 最小内存128MB; – 硬盘空间剩余至少50M; – Windows98或者后续的操作系统;
RealView MDK的安装
RealView MDK的安装
RealView MDK的安装
RealView MDK的安装
RealView MDK的安装
RealView MDK的安装
stm32嵌入式开发
第一讲:嵌入式系统开发概述
课程安排
– 何为嵌入式系统 – 嵌入式系统的特点及发展趋势 – 嵌入式系统的开发过程 – 如何成为嵌入式开发人员
何为嵌入式系统
– 嵌入式系统,英文全称为Embeded System。 – IEEE 的定义:嵌入式系统是“控制、监视或 者辅助装置、机器和设备运行的装置”。 – 业界普遍采用的定义:嵌入式系统是以应用 为中心、以计算机技术为基础、软件硬件可 裁剪、适应应用系统对功能、可靠性、成本、 体积、功耗等严格要求的专用计算机系统。
•
• •
//数据1选项字
//写保护0的选项 //写保护1的选项
•
• •
//写保护2的选项
//写保护3的选项
Flash的编程方法