转自http://www.cnblogs.com/einstein-2014731/p/4885300.html

在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计。

在画PCB初期原理图部分,对采用CH340G设计的一键下载电路不甚了解,于是花了一些时间来研究一下这个电路。

引用正点原子的一键下载电路:
我们通过RTS#和DTR#两个输出信号来控制STM32 IC的BOOT0和BOOT1两引脚来选择启动模式,如下表:
当烧写程序时,我们希望BOOT0=1,BOOT1=0。当烧写完成后我们希望BOOT0=0,BOOT1=0(这个模式BOOT1可以是0可以是1,这里我们让BOOT1拉低,即整个过程BOOT1都为L接地,简化电路设计)。
这里我们只需考虑BOOT0的高低。
查看STM32的参考手册,如下图:
注意表6下方第一句话:“在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。”
OK,综上所诉,我们可以得到:  1、系统上电,BOOT0需为L,进入模式一。上电复位后,在SYSCLK的第4个上升沿,BOOT引脚的值将被锁存,进入主闪存存储器,执行我们烧写的代码。

2、当我们编译好程序,生成HEX文件。在烧写HEX文件时,BOOT0需为H,进入模式二。然后,系统必须复位一次(因为由1知道,系统上电后默认执行代码,即模式一),让系统重新锁存BOOT引脚。系统进入模式二,开始烧写HEX文件。
3、烧写完成后,我们希望系统再次进入模式一,执行代码。但正点原子的一键下载电路并没有让系统完成烧写程序后再次复位重新锁存BOOT引脚进入模式一。这个原因应该是MCUISP软件帮我们配置好了,在烧写完成后会有报告:“成功从08000000开始运行”。
     在参考手册中有这样一段话:
从另一个方向来理解它,可以这么说:主闪存存储器从地址(0x0800 0000)访问,不管是系统自动的还是软件配置的,只要系统指针跳到主闪存存储器的地址(0x0800 0000)处开始执行代码,就可以了,结果是我们想要的。
以上就是一键下载电路需要实现的功能,原子兄帮我们设计出来了。如果看不懂的话,可以参考我下面的解释。
我们需要注意一点:CH340G上电后DTR#和RTS#都为高电平,在用MCUISP烧写软件时,我们在软件下方选择“DTR的低电平复位,RTS高电平进BootLoader”,CH340G IC在实际操作时引脚的变化为“DTR#拉高,RTS#拉低”,即软件设置和实际情况是取非的,相反的。

画个时序图,直观一些:

原文:http://www.360doc.com/content/14/0921/11/14951572_411210231.shtml

CH340在STM32实现一键下载电路的理解相关推荐

  1. STM32的一键下载CH340 DTR RTS与复位电路NRST的学习笔记

    这两天在学习stm32最小系统板的时候 对这一部分特别的不理解 于是就去找了很多东西去看 先说一键下载电路吧 先引用一张正点原子的原理图: 在芯片手册上查找ch340的手册,上面对于 RTS与DTR的 ...

  2. 基于CH340的一键下载电路

    阅读目录 一.CH340简介 二.CH340G在Arduino上的下载电路应用 三.CH340G在STM32上的下载电路应用 四.CH340驱动程序下载 回到顶部 一.CH340简介 CH340 是一 ...

  3. 【STM32】关于BOOT引脚和一键下载电路下载的一些事

    文章目录 前言 1.BOOT0和BOOT1的作用 2.一键下载电路 2.1.洋桃1号开发板 2.2.正点原子战舰版 参考资料 前言   之前在STM32的程序下载方面一直不求甚解,现在是时候回来仔细研 ...

  4. STM32-CH340实现一键下载电路分析

    在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 我们通过RTS#和DTR#两个输出信号来控制STM32 IC的BOOT0和BOOT1两引脚来选择启动模式,如下表 ...

  5. ISP一键下载电路分析+74HC1G66GW(信号图)

    之前要不用的最小系统的开发板要不就是用的SWD调试口,没有注意过ISP一键下载电路是个怎么回事,因为需要就简单的看了一下野火的ISP一键下载电路. 默认情况一下,一般我们的程序都是从用户闪存也就是内部 ...

  6. STM32学习笔记——CH340一键下载电路

    今天看了一下STM32板子的一键下载功能,对电路理解了一下,做个说明. 1.启动模式 STM32上电后的BOOT1/0的电平状态会决定它的运行模式.很明显,我们如果上电后要进入自己写的程序并运行,那么 ...

  7. 串口一键下载电路(CH340)的理解

    如图:为原子的串口下载电路    在CH340的数据手册上有引脚的介绍以及作用:    这两个引脚:DTR#和RTS#都是 输出类型,  MCUISP(一键下载工具),会控制CH340这两个引脚的高低 ...

  8. Stm32 一键下载电路详解

    文章目录 前言 一键下载 一键下载原理 硬件原理图 跳帽与启动 存储映射 串口下载程序由来 一键下载流程 通过 USB 控制机器复位握手 解读 前言 最近在又要折腾 stm32 了,所以翻出了角落里的 ...

  9. miniSTM32开发板的一键下载电路

    首先,你要了解STM32的几种启动模式.  B0接GND,B1接GND.那就是正常的启动模式,从flash加载代码.  而B0接V3.3,B1接GND.则是ISP模式,也就是串口更新代码.  其次,你 ...

最新文章

  1. 【组队学习】【34期】Scratch(二级)
  2. 计算机二级怎么更改报名密码忘记了怎么办,中考报名系统密码忘了怎么办
  3. Gartner 发布《2017 年新兴技术成熟度曲线图》
  4. linux和windows和鸿蒙,linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?
  5. python如何更改entry属性_如何在Python3中更改Gtk3 Entry文本颜色?
  6. ipad鼠标圆圈变成箭头_下一代 macOS 或将支持 Mac「投屏」到 iPad
  7. 微信支付亲属卡新增“其他亲人”选项 “子女”增加至三张
  8. 分子动力学模拟软件_机器学习模拟1亿原子:中美团队获2020「超算诺贝尔奖」戈登贝尔奖...
  9. Shell编程之运算
  10. Vue项目打包部署到apache服务器
  11. linux 终端 backspace不能删除字符 出现^H
  12. 傅里叶级数与傅里叶变换_Part1_三角函数系的正交性
  13. Krpano vtourskin.xml 默认皮肤详解
  14. 网站怎么做SEO优化操作?
  15. 免费丨永洪科技2017用户大会@北京
  16. PLSQL连接Oracle 数据库配置详解
  17. OpenGL 渲染正方体
  18. 混合波束成形matlab,探索 5G 系统的混合波束成形架构
  19. 赵栋/东文才 《面向对象程序设计(java)》第十一周学习总结
  20. 在 MaCA 根目录运行所有 py 文件

热门文章

  1. 芝加哥大学计算机科学,芝加哥大学计算机科学解析
  2. springboot全省中小学师生共建习题交流与指导平台毕业设计源码031619
  3. Tubi 快讯|Tubi 原创剧拿了第一名
  4. R语言 lavaan包进行结构方程模型SEM
  5. 交换机vlan配置之Hybrid接口
  6. python实现Content-Type: multipart/form-data; boundary=xxx接口的调用
  7. 如何创建和编写项目管理计划?
  8. 视频教程-【吴刚大讲堂】视觉设计快速入门50讲-UI
  9. 2014年国内餐饮O2O大事件
  10. kdb代码分析(一)