先放原理图(补充:图中的BOOT0通过10K的电阻接到地),再解释为什么这么设计:

STM32启动方式:BOOT0和 BOOT1用于设置 STM32的启动方式 ,见下表:

BOOT0=1,BOOT1=0:串口下载模式;

BOOT0=0,BOOT1=X:程序启动模式,从内部flash启动。

设计思路:串口一键下载需要做的就是下载时,为串口下载模式,下载完成后,为启动模式。

电路设计:一般在使用软件进行串口烧录程序的时候用到这个电路(这不是废话吗),例如使用FlyMCU软件下载程序;CH340G芯片的13脚DTR、14脚RTS的电平是可以被下载软件控制的。通过串口的DTR 和 RTS 信号,来自动配置 BOOT0 和 RST 信号。他们的状态如下:

  > RTS#和DTR#初始状态时为高电平;

  > 在启用下载的时候,DTR#维持高,RTS#拉低,此时Q3和Q4都导通,那么BOOT0为高电平状态,RESET为低电平复位,然后DTR#变低,Q3不导通,复位结束,此时的BOOT0为高电平,经过4个SYSCLK,BOOT0的状态会被锁存,变成串口下载模式,那么就会启用串口下载程序,开始和FlyMCU下载软件进行通信,进行代码下载;

  > 等到代码下载结束时,RTS#先变高电平,然后DTR#再变高电平,变成程序启动模式。(这个顺序不能变,如果DTR#先变到高电平,Q3会导通,RESET变成低电平,这样又会产生复位。)

  时序如下图:

关于疑问1:启动模式的切换,是在复位后的4个SYSCLK后,再确定的,那么在烧录完成后,为什么没有复位,就切换成了程序启动模式呢?不是应该还是在烧录模式吗?

小白看了下网上的解答,说是烧录软件已经帮我们配置好了,结果就是在烧写完成后会有报告:“成功从08000000开始运行”。这个回答小白不认同,总之结果是这样,要搞清楚,就只能有时间再用示波器抓下时序看看,这个疑问暂存吧!

关于疑问2:软件配置为“DTR的低电平复位,RTS高电平进BootLoader”,这样配置不是进入串口下载模式了吗?

小白看了下网上的解答,说是IC在实际操作时引脚的变化为“DTR#拉高,RTS#拉低”,即软件设置和实际情况是相反的。

STM32一键下载电路设计原理的更多相关文章

  1. CH340在STM32实现一键下载电路

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

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

    源:关于CH340在STM32实现一键下载电路的研究 在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB ...

  3. STM32 ~ CH340在STM32实现一键下载电路

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

  4. STM32单片机串口一键下载电路与操作方法详解

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flash.2)SRAM = 芯片内置的RAM区,就是内存啦.3)系统存储器 = 芯片内部一块特定的区域,芯片出 ...

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

    一.CH340简介 CH340 是一个 USB 总线的转接芯片,实现 USB 转串口或者 USB 转打印口.CH340是国产芯片,应用场合居多,市场占有率很高.常用的USB转串口芯片还有CP2102. ...

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

    下午仿照网上例子写了个抓取网页中图片并保存到本地的Python的例子,好奇就google了下是否有类似的在线抓取图片的外挂工具. 接着就找到了Pseric写的这篇文章 - Image Cyborg 一 ...

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

    最近在做培训管理系统中遇到一个问题,需求需点击绑定的数据,将指定的附件下载下来,并且是批量下载(绑定的数据非datagrid,后台拼接的绑定). 效果图如下: 大体思路: 1.jquery得到选中的绑 ...

  8. HTTP断点续传下载的原理

    frombegintoend原文HTTP断点续传下载的原理 要实现断点续传下载文件,首先要了解断点续传的原理.断点续传其实就是在上一次下载断开的位置开始继续下载,HTTP协议中,可以在请求报文头中加入 ...

  9. You-Get 一键下载全网视频资源

      下载视频 无论是单纯的下载视频收藏,还是以便离线收看,都离不开“下载”,好的工具让你把注意力更好的放在视频的本身,而不用考虑要如何下载视频.下载视频从来不乏方法,之前也介绍了下载 Youtube ...

随机推荐

  1. 完美实现Android的屏幕常亮功能

    笔者所在公司做的APP是股票类的,用户在查看股票报价页面的时候,往往需要开启盯盘模式,这个时候屏幕是不能黑屏的,黑屏会导致用户看不到一些关键报价涨跌,错过了买入卖出的最佳时机,就会给用户造成损失,这是 ...

  2. springboot 学习之路 17(webflux 入门 (1))

    Webflux: webflux是在springboot2系列引入的技术:补充一些概念: 1> Reactive Streams 是 JVM 中面向流的库标准和规范: 处理可能无限数量的元素 按 ...

  3. LeetCode题解之Counting Bits

    1.题目描述 2.问题分析 利用bitset. 3 代码 vector<int> countBits(int num) { vector<int> v; ; i <= n ...

  4. leveldb源码分析--日志

    我们知道在一个数据库系统中为了保证数据的可靠性,我们都会记录对系统的操作日志.日志的功能就是用来在系统down掉的时候对数据进行恢复,所以日志系统对一个要求可靠性的存储系统是极其重要的.接下来我们分析 ...

  5. Oracle EBS INV创建保留

    CREATE or REPPLACE PROCEDURE CreateReservation AS -- Common Declarations l_api_version NUMBER := 1.0 ...

  6. python自定义函数和推导

    #之所以把这俩写一起,并不是因为这俩有什么关系,因为都太简单,没什么可说的 #自定义函数的格式,def开头,后面空格,在后面是函数名,接括号,括号里是入参参数 #!/usr/bin/python # ...

  7. history历史记录控制

    往往我们操作的每一条命令都会被机器记录下来,所有我们为了安全需要屏蔽掉某些敏感的操作命令. 设置linux默认的历史记录数: 临时生效: export  HISTSIZE=5 history 永久生效 ...

  8. 数据仓库四个特点(面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant))

    1.面向主题. 数据仓库中的数据是按照一定的主题域进行组织. 主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关.而操作型数据库的数据组织面向事 ...

  9. pig:group by之后的其它统计方法一

    --测试Top N后的其它统计 A = LOAD '/TraceParser/blackcore/' USING PigStorage() as (lk_id:chararray,host:chara ...

  10. 写博的第一天 0x00

    作为一个大学生,我觉得自己除了睡觉,打游戏,吃饭更应该做点有意义的事情,作为计算机专业的学生,更应该勤奋点,主动去学习.已经要大三了,我认识到这个暑假我必须学点什么了,为了更好的学习,我决定学语言的同 ...