STM32
ISP串口下载工具
1、ISP(In-System Programing)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。
2、ISP通过芯片内部的自举程序(即Bootloader,由芯片厂家烧写好,不得更改)来选定一种串行的外设,对芯片内部的FLASH进行编程。
STM32
STM32属于一个微控制器,自带了各种常用通信接口,功能非常强大
1、串口—USART,用于跟使用串口接口的设备通信;比如∶USB转串口模块、ESP8266WIFI、GPS模块,GSM模块,串口屏、指纹识别模块
2、内部集成电路—I2C,用于跟使用I2C接口的设备通信;比如:EEPROM(带电可擦可编程只读存储器)、电容屏、陀螺仪MPU6050、0.96寸OLED模块
3、串行通信接口—SPI,用于跟使用SPI接口的设备通信;比如:串行FLASH(板载的16MB)、以太网W5500、音频模块VS10534、SDIO(驱动SD卡)、FSMC的超级(驱动屏幕)、I2S(驱动MP3)、ADC、GPIO(通用输入输出引脚)。
两种封装:QFP BGA
最小系统
MCU丝印
从MCU小圆点逆时针数引脚或正看MCU左上为1脚逆时针数
系统框图
程序存放在Flash中,经过编译成一条条指令,MCU通过ICode总线进行指令读取。
常量存储在内部FLASH中,变量存储在内部SRAM中,DCode和DMA来对数据进行读取。当取数据出现冲突时,由总线矩阵来进行判断。
System系统总线可以读取数据,主要是对寄存器进行读取。
存储器映射
存储器本身不具有地址信息,地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射。
在Block2中,含有三个总线APB1、APB2、AHB,依次由地址从低到高排序,APB2和AHB属于高速,APB1属于低速
寄存器映射
在库函数中,对各个寄存器地址进行定义。
#define GPIOB_ODR *(unsigned int*)(0x40010C0C)
使用结构体对寄存器组进行封装