一、是什么?

基于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总线构架相互连接的。

  1. ICode总线:内核读取flash时用来取值
  2. DCode总线:与flash数据接口连接(flash中存储const修饰的常量)
  3. System总线:连接CortexM3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。
  4. DMA总线:此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到 SRAM、闪存和外设的访问。
  5. 总线矩阵:总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法。在互联型产品中,总线矩阵包含5个驱动部件(CPU的DCode、系统总线、以太网DMA、DMA1总线和DMA2总线)和3个从部件(闪存存储器接口(FLITF)、SRAM和AHB2APB桥)。在其它产品中总线矩阵包含4个驱动部件(CPU的DCode、系统总线、DMA1总线和DMA2总线)和4个被动部件(闪存存储器接口(FLITF)、SRAM、FSMC和AHB2APB桥)。 AHB外设通过总线矩阵与系统总线相连,允许DMA访问。
  6. 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语言封装寄存器(库函数)