标题:
STM32的程序下载方式
[打印本页]
作者:
51黑er
时间:
2015-12-8 05:26
标题:
STM32的程序下载方式
STM32有两种程序下载方式,一种是通过串口下载,一种是通过仿真器下载。
串口下载又叫做ISP,通过仿真器下载又可以叫做通过JTAG口下载。
因为我们现在的电脑上,已经不存在串口,所以我们一般使用USB转串口芯片,目的只有一个,把电脑的USB口映射为串口用。常用的USB转串口芯片有CH340、CP2102、PL2303、FT232等。我们选择哪一个呢?CH340是国产芯片,其他的是进口芯片。CH340批量价1.5元每个,一般应用方面,性能已经足够,我使用这么多年,就没有出现过问题。PL2303山寨货太多,买的不放心。CP2102批量价5.2元,它是QFN封装,对于新手不易焊接。FT232批量价在10元以上,一般用在工业级环境。经过综合的比较,我们选择CH340作为我们开发板上使用的USB转串口芯片。
串口下载程序的过程:
上电后,先把STM32的BOOT0拉高,然后就可以通过RXD和TXD引脚把要下载的程序下载到单片机,下载完程序以后,然后复位,就会运行下载到单片机中的程序。
看过程,需要控制BOOT0和RESET复位引脚,如果每次下载程序都用我们自己手动控制,实验做过了,就会觉得麻烦。那么我们就设计一套自动下载的电路,只需要在电脑上点击下载按钮,就可以自动先把BOOT0拉低,然后下载完以后,自动复位。
关于自动ISP下载电路设计的详细内容,请看我在今年1月份发表的这篇文章:
http://www.51hei.com/bbs/dpj-41014-1.html
(你可以复制网址到浏览器打开,或者在百度搜“瑞生网”,进入我的网站后,在右边的搜索框输入“ISP电路设计”就可以找到这篇文章)
上一期文章,我们讲了电源是用USB取电,这里,我们又用到了USB转TTL作为下载芯片。所以,我们上一篇文章里提到的那个数据线,其实就是既供电,又下载,两个用途。
下面再说说JTAG下载接口,JTAG下载接口长这样:
这是一个10PX2的牛角座。
虽然是20个引脚,不过JTAG引脚只用了6个引脚,剩下的是3.3V和GND。同时,STM32还支持SWD下载方式,也是在JTAG接口上,只用到了2个引脚。无需硬件改动,只需要在程序编写软件上配置即可切换。
JTAG接口用来连接仿真器,仿真器可以是JLINK或者ULINK。
ISP和JTAG的区别:
由于我们使用了USB转串口芯片,所以开发板可以直接用数据线连接电脑USB后就可以下载程序。而JTAG,需要另外购买仿真器。仿真器除了能够下载程序,还可以控制单片机单步运行程序或停在程序的某一条语句处,还可以随时观察单片机内部寄存器的值。
好了,下载方式就介绍完了。下面是定好了电源和下载接口的方案后,画出的原理图:
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1