关于CH340在STM32实现一键下载电路的研究(转)

源:关于CH340在STM32实现一键下载电路的研究

  在做基于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#拉低”,即软件设置和实际情况是取非的,相反的。

画个时序图,直观一些:

时间: 2024-11-09 15:18:58

关于CH340在STM32实现一键下载电路的研究(转)的相关文章

STM32单片机程序下载方式汇总

一.串口下载: 1.MCUISP串口软件一键下载设置: DTR低电平复位,RTS高电平进入bootload串口下载 在ch340芯片对应DTR和RTS输出电平与电脑软件设置的电平相反.一键下载电路根据ch340芯片对应引脚的控制信号完成对应功能具体实现过程如下: 2.单片机启动设置单片机低电平复位 Boot0=0,boot1=x,从用户区flash启动Boot0=1,boot1=0,进入串口下载区Boot0=1,boot1=1,从SRAM启动改变boot0电平就可以从不同区域启动 3.一键下载电

如何用 LaunchBar 一键下载网页上的所有文件?

本文标签: Mac效率工具 Mac小工具 MacOS LaunchBar 一键下载网页文件 有时候我们会遇到这种问题,一个页面上挂了好多文档需要下载: 依次点开再按 ? S 或是逐个右击再选择下载都不像是聪明的方法.我们可以通过 Automator 来实现这样的情况下文件的批量下载. 用 Automator 制作下载文件的工作流 启动 Automator,选择新建服务,依次加入如下六个操作模块: 首先先读取当前 Safari 所在页面的网页,接着获取这个网页下的所有网址,对它们进行过滤,过滤内容

jquery配合.NET实现点击指定绑定数据并且能够一键下载

最近在做培训管理系统中遇到一个问题,需求需点击绑定的数据,将指定的附件下载下来,并且是批量下载(绑定的数据非datagrid,后台拼接的绑定). 效果图如下: 大体思路: 1.jquery得到选中的绑定数据的id,将这个id赋值到数组中,最后将这个数组的值赋值给页面中创建的隐藏变量 2.后台获取到隐藏变量的值,并将它循环数组取值,得到绑定值的下载地址,最后打包下载 首先html中div根据后台绑定  <div id="downloadInfo" runat="serve

【转】Image Cyborg 一键下载存储网页所有图片

下午仿照网上例子写了个抓取网页中图片并保存到本地的Python的例子,好奇就google了下是否有类似的在线抓取图片的外挂工具. 接着就找到了Pseric写的这篇文章 - Image Cyborg 一键下载存储网页所有图片 ———————————————————————————————————————————————————— 如果你想将一个网页里所有图片都抓下来,你知道怎么做最快吗?或许你从来不曾安装过类似扩充功能,因为有些外挂可以一件把网页内的图片通通批次下载保存,若没有使用外挂,其实有线上

关于战舰STM32用PL2303下载线下载和BOOT的软件相关控制

以下内容可能有一些错误什么的,欢迎各位同学指正. 关于战舰STM32开发板上的BOOT0和BOOT1,很多人会有疑问,特别是软件mcuisp上为什么是DTR的低电平,RTS的高电平进入下载模式,先不管硬件上的BOOT0和BOOT1连接. 要了解BOOT0和BOOT1,首先要知道有三种模式, (1)BOOT0接高电平,BOOT1接低电平,如果此时RESET   I/O口产生复位信号,软件上点击下载,此时会把程序烧写进32里面 (2)BOOT0接低电平,BOOT1接低电平,如果此时RESET I/O

STM32的ISP下载程序方式:

STM32的板子的串口ISP下载方法:Boot0接到3.3V上,Boot1接到GND,对板子重新上电,STM32单片机重启的时候,会进入到ISP模式. 原文地址:https://www.cnblogs.com/ordinary-world/p/10202478.html

使用KRPano资源分析工具一键下载全景网站切片图

软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com KRPano资源分析工具支持批量下载全景网站的全景切片图,例如下面的一个网站 http://vr.firstep.cn/dawa/lvyou/pano/honghaitanlangdao/tour.html 首先我们先在资源查看器中的筛选框中,输入xml,查看该网站的全景xml文件: 在tour.xml文件中,我们可以

STM32无法使用IAR下载程序问题

一开始建立了工程,然后程序下载都很正常.不知道什么情况自己下载代码之后,再重新下载代码无法成功. 我按照提示找了一下FlashStm32f30x8.flash这个文件,却发现IAR的目录下没并没有.又怀疑是IAR文件丢失. 重新安装IAR,却发现问题仍然继续.   ~~~~感觉像是芯片坏了~~~ 于是通过STVP工具,读取一下. 奇迹发生了,竟然可以读取程序.  嗯~~那可以排除芯片的问题. 好吧,那我重新用IAR下载应该可以吧.  于是重新下载程序, 晕~~~居然还是弹出那个错误. 难道自己的

Supervised Descent Method Face Alignment 代码下载 和 算法研究 之一

1 主要内容: Supervised Descent Method and its Applications to Face Alignment算法研究. 2代码彩蛋:我问了好久,xxiong好心人发给我的,希望能对你们学习有帮助: 低调下载: http://humansensing.cs.cmu.edu/xxiong/mexintraface1.3.1%28release%29.zip. 注意杜绝一切商业用途,如果需要商业用途,请联系作者本人!! 3本文分为几个部分: (1)解决什么问题 (2