debug里面有四种模式,分别是Serial Wire,JTAG(4 pins),JTAG(5 pins),Trace Asynchronous SW。这四种模式对应不同的协议,但是协议具体是什么,我们不需要知道。我们只需要知道不同的协议需要不同的下载器。
既然电脑的程序是对应给我们的单片机的,那我们为什么非要使用这些下载器呢?
我给大家举个例子,比如说电脑程序是麦子,单片机是一个吃麦子的人,人吃麦子这件事本身没问题,但是人可以直接吃麦子吗?麦子不需要加工吗?这时候,作为可以把麦子转化为面粉的下载器来了,这样人就间接的吃了麦子。所以说下载器就在这里起到了一个转化的作用,把电脑里的程序通过转化后以另一种方式给了单片机。
这四种协议有啥区别呢?
简单的理解,引脚上的区别
Serial Wire模式下需要PA13和PA14这2个引脚
JTAG(4 pins)模式下需要PB3,PA13,PA14,PA15这4个引脚
JTAG(5 pins)模式下需要PB3,PB4,PA13,PA14,PA15这5个引脚
Trace Asynchronous SW模式下需要PB3,PA13,PA14这3个引脚
你有没有发现四种模式下,在完成同样的功能下,Serial Wire占用的GPIO是最少的。这样是不是就多出了别的GPIO口来干别的事了。
使用ST-LINK V2作为烧录器就可以使用Serial Wire模式,这也是为什么我们使用ST-LINK V2作为烧录器要选择Serial Wire模式,而不选择别的模式。
手册里给出了为什么选择Serial Wire模式后PA13,PA14会对应的亮且显示出对应的内容