STM32-CH340实现一键下载电路分析
在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用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
STM32-CH340实现一键下载电路分析相关推荐
- 基于CH340的一键下载电路
阅读目录 一.CH340简介 二.CH340G在Arduino上的下载电路应用 三.CH340G在STM32上的下载电路应用 四.CH340驱动程序下载 回到顶部 一.CH340简介 CH340 是一 ...
- ISP一键下载电路分析+74HC1G66GW(信号图)
之前要不用的最小系统的开发板要不就是用的SWD调试口,没有注意过ISP一键下载电路是个怎么回事,因为需要就简单的看了一下野火的ISP一键下载电路. 默认情况一下,一般我们的程序都是从用户闪存也就是内部 ...
- STM32学习笔记——CH340一键下载电路
今天看了一下STM32板子的一键下载功能,对电路理解了一下,做个说明. 1.启动模式 STM32上电后的BOOT1/0的电平状态会决定它的运行模式.很明显,我们如果上电后要进入自己写的程序并运行,那么 ...
- CH340在STM32实现一键下载电路的理解
转自http://www.cnblogs.com/einstein-2014731/p/4885300.html 在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板 ...
- 【STM32】关于BOOT引脚和一键下载电路下载的一些事
文章目录 前言 1.BOOT0和BOOT1的作用 2.一键下载电路 2.1.洋桃1号开发板 2.2.正点原子战舰版 参考资料 前言 之前在STM32的程序下载方面一直不求甚解,现在是时候回来仔细研 ...
- 基于STC89C51单片机,CH340芯片的下载电路
前几天看到了卓晴公众号写的三篇关于STC系列单片机的下载电路,然后结合了其他的文章,对下载电路有了更加深入的了解,在这里我梳理一下自己的学习过程,附上完整的资料,方便日后查看,也方便有兴趣的同学交流讨 ...
- 串口一键下载电路(CH340)的理解
如图:为原子的串口下载电路 在CH340的数据手册上有引脚的介绍以及作用: 这两个引脚:DTR#和RTS#都是 输出类型, MCUISP(一键下载工具),会控制CH340这两个引脚的高低 ...
- Stm32 一键下载电路详解
文章目录 前言 一键下载 一键下载原理 硬件原理图 跳帽与启动 存储映射 串口下载程序由来 一键下载流程 通过 USB 控制机器复位握手 解读 前言 最近在又要折腾 stm32 了,所以翻出了角落里的 ...
- Easy EDA #学习笔记09# | ESP32 一键下载电路
问题描述 使用Arduino IDE烧录ESP32的时候,IDE会提示在60秒(好像是)内要按下板载BOOT键,否则就出现'-'___连串等待,超时报错,结束. MicroBlocks 废除 ESP3 ...
最新文章
- MySQL GROUP BY
- ie8.0 不能用document.all兼容IE7模式
- 开源方案搭建可离线的精美矢量切片地图服务-3.Mapbox个性化地图定制入门
- Node.js 极简笔记
- Tomcat5.5报错:Apache Portable Runtime was not found
- 密码方法三层三级联动
- 双目相机--双目视差与深度距离关系推导详解
- python12-并发编程
- Mysql编写定时任务事件
- 网络故障处理手册大全
- 并联串联混合的电压和电流_如何从本质上判断电压表测量谁的电压?
- win10下装黑苹果双系统_小米笔记本pro黑苹果Win10双系统
- cmd net 命令
- Android Gradle构建脚本
- [精简]托福核心词汇62
- R语言古风诗人转职c++
- Keras_examples
- 真无线蓝牙耳机选购小技巧!2020五款优秀低延迟蓝牙耳机推荐
- 机器学习(四):CART分类树(基础篇)
- 解决——》java:程序包org.openjdk.jol.info不存在