正点原子STM32F103精英版学习笔记(二)

#使用ST-LINK下载调试程序
**应用场景:**如果工程的代码比较大,难免存在bug,就需要硬件调试解决

ST-LINK 和STM32F103都支持JTAG 和SWD,用JTAG调试时占用的IO线比较多,SWD调试时占用的比较少,只需要2根即可。而且相对来说,大数据下SWD工作方式加载程序失败的可能性很小。
注:JTAG 和SWD是仿真器调试ARMCPU的两种工作方式。
可参考:
Jtag Jlink Swd 区别

当使用某个 IO 口用作其他用处的时候,先看看开发板的原理图,该 IO 口是否有连接在开发板的某个外设上,如果有,该外设的这个信号是否会对你的使用造成干扰,先确定无干扰,再使用这个 IO。比如 PB8 就不怎么适合再用做其他输出,因为他接了蜂鸣器,如果你输出高电平就会听到蜂鸣器的叫声了。

STN32固件库简介

固件库是函数的集合,固件库函数的作用是:向下负责和寄存器直接打交道,向上提供用户函数调用的接口(API)。51可以直接对寄存器操作,但是STM32的寄存器太多了,所以意法公司将寄存器底层操作都封起来,提供了一个API接口给用户。

ARM公司是一个芯片标准公司,负责芯片内核的架构设计,其他的芯片公司根据内核架构设计MCU里面的存储器,时钟等,ARM公司为了让不同公司生产的cortex芯片相互兼容,制定了CMSIS标准。
什么是架构
正点原子STM32F103精英版学习笔记(二)_第1张图片
CMSIS 分为 3 个基本功能层:

  1. 核内外设访问层:ARM 公司提供的访问,定义处理器内部寄存器地址以及功能函数。
  2. 中间件访问层:定义访问中间件的通用 API,也是 ARM 公司提供。
  3. 外设访问层:定义硬件寄存器的地址以及外设的访问函数。
    从图中可以看出,CMSIS 层在整个系统中是处于中间层,向下负责与内核和各个外设直接打交道,向上提供实时操作系统用户程序调用的函数接口。

你可能感兴趣的:(stm32学习笔记)