STM学习笔记(二)STM32仿真下载方式、库函数与寄存器

一、串口下载

PA9(T)  PA10(R)  串口下载引脚


USB/串口转换电路   CH340   FLYMCU

下载硬件连接:PA9 和 PA10跳线帽   B0和B1和GND跳线帽

STM32的ISP下载,只能使用串口1,其他串口只能用作串口通信,不能进行串口下载

FlyMcu bps选最高也没问题,    校验,编程后执行勾上    最后选DTR的低电平复位,RTS高电平进BootLoader
      编程到FLASH时写选项字节不能勾

STM32的启动模式
           中文参考手册 2.4
STM学习笔记(二)STM32仿真下载方式、库函数与寄存器
   ISP下载一般步骤
         1)Boot0接3.3,Boot1接GND
         2)按复位按键,实现下载

   程序执行的一般步骤
         1)mcuisp/flymcu勾选"编程后执行",发送命令直接从FLASH启动
         2)Boot0接GND,Boot1接任意,按一次复位

   一键下载原理:

        一键下载电路,则利用串口的DTR和RTS信号,分别控制STM32的复位和B0,配合上位机软件(mcuisp),设置:DTR的低电平复位,RTS高电平进BootLoader,这样,B0和STM32的复位,完全可以由下载软件自动控制,从而实现一键下载。

二、STM32仿真下载方式比较

串口模式占用的引脚较少,2个,能下载程序但不能仿真或单步运行;
     sw模式占用的引脚较少,2个,能下载程序还可以仿真或单步运行;
     JLINK可以使用SWD也可以JTAG,能下载程序还可以仿真或单步运行,断点没有        限制;
     STLINK使用SWD模式,断点没有限制。
库函数和寄存器的区别?
  本质上是一样的。我们可以再库函数模板里面,直接操作寄存器,因为官方库相关头文件有寄存器定义。但是不能在寄存器模板调用库函数,因为没有引入库函数相关定义。
   了解寄存器基本原理的目的是为了让我们对STM32相关知识有比较深入的理解,这样在开发过程中方可得心应手,游刃有余。底层代码配置出了问题需要调试的话,必须对寄存器有一定的了解才能找到问题,因为调试代码,底层只能查看寄存器相关配置。