Skip to content

寄存器

封装: 比较小的小圆圈=>正方向起始位置逆时针旋转, 没有的话正看丝印, 左上角开始

image-20230620172553098

三条总线

image-20230620172926258

!

黄色的是驱动单元, 右边的是ST公司设计的外设

image-20230620173058460

程序在Flash, ICode总线进行取址, , DCode用来取变量存在SRAM中, 常量储存在FLASH中(const关键字), 数据可以被DMA和DCode访问, 需要总线矩阵进行仲裁

System总线主要用来读取寄存器

APB2是高速总线, APB1是低速总线

内存

img

32位可以访问4G的内存

分为8块

  • 第0块存放Flash, 只用了512KB
  • 第1块存放SRAM, 只用了64KB
  • 第2块存放外设
  • 第3, 4块存放FSMC
  • 第5块是FSMC的寄存器
  • 第6块没用
  • 第7块是内核使用的

image-20230620183927699

分配的过程叫做存储器映射

在编程的时候可以使用

c
#define GPIO_ODR *(unsigned int*)(0x40010c0c)

给有特定功能的寄存器单元取一个别名, 别名就是寄存器单元

实际的使用

image-20230620190102866

image-20230620190431611

image-20230620190545756

image-20230620203524186

新建工程

image-20230620192318031

image-20230620192607267

E:\a学习\1.stm\A盘(资料盘)\1-程序源码_教程文档\1-[野火]《STM32库开发实战指南》(标准库源码)【优先学习】\0.书籍源码\0【固件库】STM32F10x_StdPeriph_Lib_V3.5.0\【固件库】STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s

启动文件

image-20230620193536776

设置字体

image-20230620195140805

axf通过编译器下载

hex通过串口下载