找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5885|回复: 0
打印 上一主题 下一主题
收起左侧

STM32的程序下载方式

[复制链接]
跳转到指定楼层
楼主
ID:94349 发表于 2015-12-8 05:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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,需要另外购买仿真器。仿真器除了能够下载程序,还可以控制单片机单步运行程序或停在程序的某一条语句处,还可以随时观察单片机内部寄存器的值。

好了,下载方式就介绍完了。下面是定好了电源和下载接口的方案后,画出的原理图:




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表