Appearance
寄存器
封装: 比较小的小圆圈=>正方向起始位置逆时针旋转, 没有的话正看丝印, 左上角开始
三条总线
!
黄色的是驱动单元, 右边的是ST公司设计的外设
程序在Flash, ICode总线进行取址, , DCode用来取变量存在SRAM中, 常量储存在FLASH中(const关键字), 数据可以被DMA和DCode访问, 需要总线矩阵进行仲裁
System总线主要用来读取寄存器
APB2是高速总线, APB1是低速总线
内存
32位可以访问4G的内存
分为8块
- 第0块存放Flash, 只用了512KB
- 第1块存放SRAM, 只用了64KB
- 第2块存放外设
- 第3, 4块存放FSMC
- 第5块是FSMC的寄存器
- 第6块没用
- 第7块是内核使用的
分配的过程叫做存储器映射
在编程的时候可以使用
c
#define GPIO_ODR *(unsigned int*)(0x40010c0c)
给有特定功能的寄存器单元取一个别名, 别名就是寄存器单元
实际的使用
新建工程
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
启动文件
设置字体
axf通过编译器下载
hex通过串口下载