一、是什么?
基于Cortex-M3内核,采用ARMv7-M架构的32bitMCU
二、能做什么?
与内部资源有关,例如通信接口
- USART:ESP8266 WIFI 模块、GSM 模块、蓝牙模块、GPS 模块、指纹识别模块等。
- IIC:EEPROM、MPU6050 陀螺仪、0.96 寸OLED 屏、电容屏等
- SPI:串行FLASH、以太网W5500、VS1003/1053 音频模块、SPI 接口的OLED屏、电阻屏等。
- AD/DA:光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、简易示波器等。
三、系统结构
如图所示:
- 五个驱动单元:
─ Cortex™-M3内核DCode总线(D-bus),和系统总线(S-bus)
─ 通用DMA1和通用DMA2
─ 以太网DMA
- 三个被动单元
─ 内部SRAM
─ 内部闪存存储器
─ AHB到APB的桥(AHB2APBx),它连接所有的APB设备
这些都是通过一个多级的AHB总线构架相互连接的。
- ICode总线:内核读取flash时用来取值
- DCode总线:与flash数据接口连接(flash中存储const修饰的常量)
- System总线:连接CortexM3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。
- DMA总线:此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到 SRAM、闪存和外设的访问。
- 总线矩阵:总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法。在互联型产品中,总线矩阵包含5个驱动部件(CPU的DCode、系统总线、以太网DMA、DMA1总线和DMA2总线)和3个从部件(闪存存储器接口(FLITF)、SRAM和AHB2APB桥)。在其它产品中总线矩阵包含4个驱动部件(CPU的DCode、系统总线、DMA1总线和DMA2总线)和4个被动部件(闪存存储器接口(FLITF)、SRAM、FSMC和AHB2APB桥)。 AHB外设通过总线矩阵与系统总线相连,允许DMA访问。
- AHB/APB桥:两个AHB/APB桥在AHB和2个APB总线间提供同步连接
四、寄存器
4GB存储空间规划,分成8个块sector,每块512mb,由芯片公司分配地址(寄存器映射)
- SRAM:64KB
- flash:512K
- 片上外设
- FSMC的bank1~bank2
- FSMC的bank3~bank4
- FSMC register
- 保留块
- Cortex-M3内部外设
如何访问寄存器内容?
- STM32 外设地址映射(直接配置寄存器)
- 使用C语言封装寄存器(库函数)