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

最小系统

  • 单片机最小系统是指用最少的电路组成单片机可以工作的系统,通常最小系统包含:电源电路、时钟电路(晶振电路)、复位电路、调试/下载电路,对于STM32还需要启动选择电路(BOOT设置)。

MCU丝印

从MCU小圆点逆时针数引脚或正看MCU左上为1脚逆时针数

系统框图

 

程序存放在Flash中,经过编译成一条条指令,MCU通过ICode总线进行指令读取。

  • ICode 中的Ⅰ表示Instruction,即指令。我们写好的程序编译之后都是一条条指令,存放在FLASH中,内核要读取这柴指令来执行程序就必须通过ICode总线,它几乎每时每刻都需要被使用,它是专门用来取指的。

常量存储在内部FLASH中,变量存储在内部SRAM中,DCode和DMA来对数据进行读取。当取数据出现冲突时,由总线矩阵来进行判断。

System系统总线可以读取数据,主要是对寄存器进行读取。

存储器映射

存储器本身不具有地址信息,地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射。

  • 32位ARM内核可以读取2^32次方数据,也就是4GB数据大小,分成Block0-Block7,每个块位512Mbyte,再根据所需大小进行相关设计。详情在数据手册存储映射Memory Mapping

在Block2中,含有三个总线APB1、APB2、AHB,依次由地址从低到高排序,APB2和AHB属于高速,APB1属于低速

寄存器映射

在库函数中,对各个寄存器地址进行定义。

#define GPIOB_ODR *(unsigned int*)(0x40010C0C)

  • 什么是寄存器?
  • 给有特定功能的内存单元取一个别名,这个别名就是我们经常说的寄存器,这个给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。
  • 什么叫存储器映射?
  • 给存储器分配地址的过程叫存储器映射,再分配一个地址叫重映射。

使用结构体对寄存器组进行封装

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值