dcode

认识STM32

天大地大妈咪最大 提交于 2020-08-18 09:09:45
认识STM32 (内部) 一、STM32内部 芯片里面有什么:内核(ARM的Cortex-M3)+外设。内核相当于电脑主板上的CPU;外设相当于显卡、内存。内核和外设之间通过总线连接。 1、ICode总线 程序存在Flash中,通过ICode(Instruction Code)总线与Cortex连接。 2、驱动单元 DCode总线 数据被存放在外设内部Flash(SRAM)中,通过DCode(Data Code)访问。 System总线 访问外设的寄存器,通常说的寄存器编程就是用这条总线的。 DMA总线 数据变量拷贝时可以不占用CPU,通过DMA(Direct Memory Access)总线和DMA1、DMA2完成。 3、被动单元 闪存存储器 即FLASH存放程序指令,内核通过ICode来读取指令。 SRAM 存放变量,内核通过DCode来访问。 FSMC 可以用来扩展内存。 AHB到APB的桥 挂着很多stm32特色外设,如:GPIO、串口、IIC、SPI等。学STM32的重点就是学编程这些外设去驱动外部的各种设备。 二、存储器映射 1、寄存器操作 操作单片机的本质都是操作存储中的寄存器,实际的操作过程就是改变内存中一定的地址对应的值。最原始的办法是直接访问地址取值进行修改。 例如*(unsigned int *)(0x40010c0c) = 0xffff 2、存储器地址划分

STM32学习手册(1)——STM32概述

淺唱寂寞╮ 提交于 2020-04-24 14:08:51
一、是什么? 基于 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总线