前言:雄关漫道真如铁,而今迈步从头越。抛开急于求成的心态,从此篇开始记录自己的学习进程。
初识stm32
stm32与ARM间联系
ARM:Advanced RISC Machines。RISC:精简指令集计算机(Reduced Instruction Set Computer)是一种执行较少类型计算机指令的微处理器。
与x86体系结构所采用复杂指令集CISC不同的是:RISC简化计算机指令功能,通过精减机器指令系统来减少硬件设计的复杂程度,提高指令执行速度,降低功耗。而CISC更注重性能的提升。
ARMv7架构下的的Cortex-M 系列针对成本和功耗敏感的MCU。
stm32f1是使用ARM Cortex-M3处理器内核的32位微控制器。
命名规则
eg.stm32f103c8t6:意法半导体公司的通用型增强系列48脚存储量为64kb,采用LQFT封装的微处理器
图源杜洋老师:
stm32内部
srm32芯片内由cpu(ARM公司设计)以及片上外设(ST设计)组成。他们依靠总线相连接,分为四个驱动单元以及四个被动单元(外设)
驱动单元
ICode总线
指令总线,专门用来取指。cpu要读取指令执行程序必须通过ICode总线
DCode总线
用来取数据,将常量放置入FLASH,变量放置在SRAM。
DMA总线
直接存储器访问
用来传输数据,更为灵活。数据可以是在某个外设的数据寄存器,可以在sram,可以在内部的flash。存在是为了解决批量数据的输入/输出问题。DMA可以让外部设备不通过CPU而直接与系统内存交换数据。
因为数据可以被DCode总线以及DMA总线访问,为了避免访问冲突,取数时需要经过一个总线矩阵来仲裁,决定是哪个总线来取数。
系统总线
用来访问外设的寄存