一、STM32程序下载有哪些方式

(1)STM32程序的下载一般通过JLINK这样的调试器;

(2)STM32程序的下载还可以通过ISP方式下载。

(3)这里只介绍ISP方式下载电路。

二、ISP下载原理

第1步:先设置BOOT1和BOOT0从系统区启动,执行系统中预设的程序

第2步:主机通过串口发送要下载的hex文件给STM32

第3步:系统预设的程序接收到hex后将其烧录到用户区flash中

第4步:设置BOOT1和BOOT0为从用户区启动,然后复位重启(复位)执行刚才下载的hex即可。

三、STM32的BOOT1和BOOT0与启动区的关系

以上表格显得过于复杂,了解就行。只需要知道2个BOOT引脚设置如下:

(1)BOOT1始终为0

(2)BOOT0在ISP时要先为1,就是从系统存储区启动,也就是程序下载。

然后BOOT0为0,就是从主闪存存储器运行,也就是程序运行。

四、CH340下载电路的分析

1、综上分析,要实现一键下载,需要BOOT0先等于1,然后等于0。

2、主要通过CH340芯片的RTS和DTR引脚来改变BOOT0。而RTS和DTR引脚又是由PC端程序下载软件来实现。

3、实现BOOT0等于1。(这里最好把上述原理图和文章分频显示阅读更为方便)

3.1、首先要实现Q11三极管导通,由于R59是1K欧姆,R62是10KΩ。根据串联分压可知,Q11三极管导通时BOOT0引脚为高电平。(需要Q11三级管导通)

3.2、Q11三级管是PNP 三极管,1号引脚是基极,2号引脚是发射极,3号引脚是集电极。

PNP基极电压很高。集电极对发射极开路,也就是说,它不起作用。如果将基极施加到低电位,则集电极和发射极会短路。总结:Q11的1号引脚为低电平时,BOOT0引脚为高电平。(Q11的1号引脚为低电平)

3.3、继续往前推到,有两条路,一条是走RTS,一条是走Q10。 一看走RTS这条路比较好分析,所以先分析这条路。

走RST这条时,RTS为低电平便可使BOOT0为1。

3.4、当走Q10这条路时,Q10是NPN三极管,1号引脚是基极,2号引脚是发射极,3号引脚是集电极。因为RTS为低电平,所以Q10的发射极为低。

NPN基极电压高,集电极与发射极短路。低压,集电极和发射极开路。

(1)当Q10基极为高电平,即DTR为高电平时,Q10的集电极和发射极导通。所以D9这个二极管的阴极为低电平。当RESET引脚原先为高电平,此时RESET引脚电平就被拉低。

(2)当Q10基极为低电平时,Q10的发射极和集电集和发射极不会导通。D9这个二极管的阴极为高电平。(串联分压的话,R51为10KΩ,D9为无穷,所以二极管阴极相当于高)。当RESET引脚原先为高电平平,此时RESET引脚电平还是高电平,没有变化。

4、当使用FlayMcu工具的ISP方式下载软件时,需要注意以下几点:

(1)回顾程序自动下载运行的方式,先让BOOT0为1,然后BOOT0为0(或者让程序复位)

(2)所以选择首先要保证RTS为低电平,这使BOOT0为1,下载进程序。(但选择了也下不了)

(3)然后使DTR为高电平,产生一个复位。

(4)这里有一个非常需要注意的问题:你需要RTS为低电平,在FlayMcu软件中就需要选择RTS为高电平。DTR同理。这是因为FlayMcu软件输出的是RS232电平,而CH340这边是TTL电平。这两种电平刚好是相反的,所以这里需要选择RTS高电平。

(4)这就实现了程序的一键下载且自动运行。

五、一些零碎问题的补充

1、程序下载软件FlyMcu软件下载的官网:www.mcuisp.com

2、有些时候勾选了编程后执行,但由于选择下载的方式不同(RTS和DTR的方式),会导致有些情况程序可以下载但不能自动运行。

3、TTL高电平为逻辑“1”,低电平为逻辑符“0”;RS232高电平为逻辑“0”,低电平为逻辑“1”。

4、在下载STM32芯片的程序时不能勾选“编程到Flash时写选项字节”;下载GD时需要勾选。

STM32程序下载电路分析相关推荐

  1. STM32核心板电路分析

    文章目录 STM32核心板电路分析 蜂鸣器电路分析 按键电路和led电路分析 继电器电路和usb转串口电路分析 杨桃32学习笔记,本文图片文字皆为转述 STM32核心板电路分析 上图可以看到: (1) ...

  2. STM32程序下载4:通过STM32CubePro-USB下载

    文章目录 摘要 下载准备 连接单片机与电脑 准备hex文件 下载程序 单片机进入bootloader模式 下载工具连接单片机 装载hex文件 摘要   这一章主要介绍使用STM32芯片自带的USB接口 ...

  3. ch340t电路_CH340T模块的程序下载电路故障及解决方法

    CH340T 模块的程序下载电路故障及解决方法 黄韦,王忠,杨卫军,王鑫 [摘 要] 摘要 : 本文根据经典的 CH340T 模块下载电路 , 设计制作了基于 STC89C52 单片机的最小系统板.针 ...

  4. STM32程序下载成功但是不运行

    STM32程序下载成功但是不运行 stm32cubeIDE之前用得好好的.突然就烧录后不运行了,很痛苦,找了很多办法,后来灵光一闪吧workspace的文件夹目录换了一下,重新写一次代码就行了,真的是 ...

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

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

  6. ESP8266/ESP32自动下载电路分析

    要让ESP8266/ESP32进入下载模式,需要在上电时拉低GPIO0,下载完成后又需要拉高GPIO0然后重新上电来正常运行. 一般在GPIO0上设置个按键来实现,但是每次都需要手动操作比较麻烦,其实 ...

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

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

  8. 一、STM32程序下载软件_FlyMCU

    1.软件简介 (1)FlyMCU是一款STM32下载程序的软件. (2)FlyMCU采用ISP下载方式. (3)ISP:在线系统编程. (4)FlyMCU支持STM32F1.STM32F2.STM32 ...

  9. 嵌入式与STM32原理及电路分析(STM32一)

    目录 一.嵌入式与STM32 1.嵌入式 2.STM32 (1)产品系列 3.STM32应用领域 二.熟悉库函数 1.ST公司有三种库版本:标准库.HAL库.LL库 2.关于内部硬件的控制,按照以下步 ...

  10. Nordic nRF52832程序下载问题分析

    1.开发工具安装后无法识别芯片的问题 针对nRF52832的开发,首先需要下载安装对应工具,主要安装的工具有nRFgo Studio.Command-Line-Tools.IAR.IAR是编程者必须的 ...

最新文章

  1. Python中的三引号的用法
  2. Linux系统安全学习手册
  3. Google帮助IE浏览器实现对SVG支持
  4. 互斥量和信号量的区别
  5. GitHub 公布了托管平台与美国贸易管制的相关细节
  6. python中异常处理的两种方式_Python 之异常处理
  7. 【SLAM笔记】三维刚体运动
  8. JavaScript—获取参数(23)
  9. 全双工音频播放器在c#中使用waveIn / waveOut api
  10. 北京航空航天大学计算机考研信息汇总
  11. OpenG 编程指南英文整理
  12. RocksDB源码学习-四-读-三
  13. ElasticSearch 中文同义词实现
  14. 把Ethernet(以太网)基本工作原理说清楚
  15. Forbidden什么意思
  16. NR系统概述-架构与演进
  17. 广东省电子商务认证有限公司
  18. Kubernetes部署
  19. 技术博客|第8期:广告流量匹配算法在Hulu/Disney Streaming平台的实战
  20. LINUX命令大全详解备忘录

热门文章

  1. 校园饭卡充值系统服务器配置,校园一卡通系统实施方案.doc
  2. 《HTTP 权威指南》—— 连接管理
  3. nbu备份文件失败,提示信息NBU status: 2074, EMM status: Disk volume is down
  4. java毕设查重,已经毕业的给毕设查重的人一点建议
  5. 虚拟机安装Ubuntu解决自带Firefox浏览器不能看视频,提示无Flash插件问题!安装flash!
  6. weblogic安装
  7. java中如何实现货币兑换_java货币转换
  8. 呼叫转移XCAP log的查看
  9. 外国视频伪原创工具 视频MD5修改器破解版
  10. python接收前端post数据_python实现通过flask和前端进行数据收发