目录
6.1 芯片内部资源描述(战舰/精英STM32F103ZET6和迷你STM32F103RCT6)
1. 网络资源推荐
- 推荐学习网站:
- www.openedv.com 开源电子网,正点原子官方技术支持论坛。数万帖子,数万用户。正点原子资料发布和售后官方平台。
- www.stmcu.org ST中国官方技术网站,ST官方文档发布网站。
- 微信公众平台:
“正点原子”
正点原子最新资料都会在公众平台发布。
- 淘宝店铺:http://eboard.taobao.com
2. 参考资料
- 最底层(了解):CM3权威指南/CM4权威指南(ARM提供)
- 芯片参考手册(芯片功能寄存器描述特性等,详细)(了解):STM32F10x中文参考手册/STM32F4xx中文参考手册(ST提供)
- 芯片数据手册(datasheet,ds)(了解):STM32F103xCDE_DS_CH_V5.pdf(芯片电气参数,引脚说明等)
- 官方其他资源和教程(了解):
固件库包(含参考源码),一些官方培训PPT
ST官方资料下载地址:www.stmcu.org
- 特定开发板学习教程(手册,视频,源码)(理解):针对开发板的源码,教程,视频等
3. 学习STM32要掌握哪些基本技能
- 熟练掌握C语言
- 熟练掌握一种开发环境
1.掌握一种开发环境: Keil uVision5
2.掌握一个调试工具: JTAG必备
3.多使用JTAG调试代码,深入理解代码执行流程
4.库函数和寄存器对比学习
掌握库函数的基本配置方法,了解寄存器底层配置过程,以便深入了解STM32芯片本质
- 深入学习基本外设,选择性学习高级功能
1.基本外设:
GPIO输入输出,外部中断,定时器,串口
理解了这4个外设,基本就入门了一款MCU
2.基本外设接口:
SPI,IIC,WDG,FSMC,ADC/DAC,SDIO等
这些外设接口功能原理对每个芯片几乎都是一样的,对芯片而言就是加减法而已
3.高级功能:
UCOS,FATFS,EMWIN等,以及一些应用。
4. 开发板资源描述(STM32F1xx开发板)
参考资料:
战舰/精英STM32F1开发板:《STM32F1开发指南-库函数版本》第1,2章
开发板原理图
开发板外观说明(精英版)
硬件资源说明:《STM32F1开发指南-库函数版本》第1,2章
5. STM32初探
5.1 为什么选择STM32
5.1.1 什么是STM32
新的基于ARM内核的32位MCU系列,内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核,标准的ARM架构。
5.1.2 Cortex内核
STM32F1xx属于Cortex-M3内核,采用ARMv7-M架构。
Cortex-M3系列属于ARMv7架构。
ARMv7架构定义了三大分工明确的系列:
"A"系列:面向尖端的基于虚拟内存的操作系统和用户应用
"R"系列:针对实时系统
"M"系列:对微控制器
5.1.3 STM32 VS ARM7
5.2 STM32概述
5.2.1 CM3内核优点
- 高性能Cortex-M内核
- 采用ARM公司流行的标准内核Cortex-M3
- 低动态功耗上实现的高性能
- 单周期的乘法和硬件除法
- 不可分的位操作,实现对RAM,I/O和寄存器的最优访问
- 最佳的代码密度
Thumb-2指令集以16位指令的密度实现32位指令性能(与ARM7TDMI的ARM模式比减少了30%-45%的代码量)
- 可预见的运行时间
中断控制器嵌在内核之中,中断之间的间隔最少可达6个CPU周期
从低功耗模式唤醒只需6个CPU周期
- 改进的调试功能
串行单步调试和JTAG调试
5.2.2 STM32F1各芯片关联
5.3 STM32应用场景举例
6. STM32芯片解读 (STM32F1xx开发板)
参考资料:
STM32F1数据手册:STM32F103ZET6.pdf
STM32F1中文手册:STM32F1xx中文参考手册.pdf
开发板原理图:XXX STM32F1_Vxx_SCH.pdf
6.1 芯片内部资源描述(战舰/精英STM32F103ZET6和迷你STM32F103RCT6)
- 内核
32位 高性能ARM Cortex-M3处理器
时钟:高达72M,实际还可以超屏一点点
单周期乘法和硬件除法
- IO口
STM32F103ZET6:144引脚 112个IO
STM32F103RCT6:64引脚 51个IO
大部分IO口都耐5V(模拟通道除外)
支持调试:SWD和JTAG,SWD只要2根数据线
- 存储器容量
STM32F103ZET6:512K FLASH,64K SRAM
STM32F103RCT6:256K FLASH,48K SRAM
- PIN to PIN兼容
- 时钟,复位和电源管理
- 2.0~3.6V电源和IO口电压
- 上电复位,掉电复位和可编程的电压监控
- 强大的时钟系统
4~6M的外部高速晶振
内部8MHz的高速RC振荡器
内部40KHZ低速RC振荡器,看门狗时钟
内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到的
外部低速32.768K的晶振,主要做RTC时钟源
6.2 USB串口驱动安装
- 低功耗
睡眠,停止和待机三种低功耗模式
可用电池为RTC和备份寄存器供电
- AD
3个位AD(多达21个外部测量通道)
转换范围:0~3.6V(电源电压)
内部通道可以用于内部温度测量
内置参考电压
- DA
2个12位DA
- DMA
12个DMA通道(7+5=12;7通道DMA1,5通道DMA2)
支持外设:定时器,ADC,DAC,SDIO,I2S,SPI,I2C和USART
6.3 JLINK驱动安装
- 定时器:多达11个定时器
4个通用定时器
2个基本定时器
2个高级定时器
1个系统定时器
2个看门狗定时器
- 通信接口:多达13个通信接口
2个I2C接口
5个串口
3个SPI接口
1个CAN2.0
1个USB FS
1个SDIO
7. 芯片内部结构图
7.1 芯片引脚和功能怎么对应
在STM32F103xCDE_DS_CH_V5.pdf中 表5,搜索引脚/功能查找
I/O Level一栏中标注FT的都是可以接受5V的
7.2 STM32最小系统-看原理图
供电
复位
时钟:外部晶振(2个)
Boot启动模式选择
下载电路(串口/JTAG/SWD)
后备电池