关于战舰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口产生复位信号,32会读取FLASH的程序执行。

(3)BOOT0接低电平,BOOT1接高电平,如果此时RESET I/O口产生复位信号,32会读取FLASH的程序执行。

我们可以看到(2)和(3)是同一种模式,而(1)和(2)中BOOT1都是接高电平,所以我们在硬件上BOOT1是直接接低点平,这样我们在控制模式的时候其实就只是控制BOOT0而已。

现在看到我们的CH340控制,首先,我们在mcuisp中可以看到是选择DTR的低电平,RTS的高电平进入下载模式,此时先忽略硬件的接口,此时当我们点击下载程序的时候,软件mcuisp会控制DTR为低电平,RTS为高电平;此时CH340中的DTR#为高电平,RTS#为低电平,(#字表示相反)。

此时可以看到Q2和Q3三极管都导通,此时BOOT则为高电平,RESET则为低电平,而由于产生复位信号还需将RESET拉回高低平,所以软件此时控制DTR#输出低电平,这样RESET则变为高电平,此时软件mcuisp会自动下载,此时模式(1)所有的条件已经满足,所以我们可以知道是将程序烧写进STM32里面,此时软件就不会再控制CH340,相当于CH340为断开一样,如果我们下载之前把mcuisp里面的(编程后执行)的选项也勾选上,那么该软件会通过串口控制STM32读取FLASH上的程序,所以我们会看到开发上在执行我们的程序,例如跑马灯。

所以我们在选择模式的时候是选择(DTR的低电平,RTS的高电平进入下载)模式,而不是其他。

接下来是开发板上BOOT0硬件接口,有很多人都不明白为什么BOOT0硬件接口已经固定,软件却还是能控制,原因如下:

CH340软件控制上的BOOT接的电阻R71为1K,硬件跳线帽BOOT0连接的R40为100K,两者相差上百倍,很明显可以看出,只有我们想要使用到软件接口,硬件接口就相当于可以忽略,因为软件接口的BOOT0电位更接近于VCC3.3或GND,而在我们不使用软件CH340的同时,硬件接口就派上用场了,因为此时软件控制的CH340相当于断开的,所以BOOT硬件连接上虽然固定也不会受影响。

而现在模式(2),我们把PA9,PA10和RXD,TXD上的跳线帽拿走时,然后把BOOT0接到0,再手动按上RESET复位键之后,我们可以看到STM32开始复位执行FLASH里面的程序。

而我们要下载程序到32里面也可以像51单片机一样,不需要CH340等电平转换,只需用到一条PL2303下载线,直接接到PA9和PA10,然后把BOOT0接高电平,BOOT1接低电平,再单击RESET按键,点击mcuisp上的程序下载,此时同样可以下载程序进去。

(在此过程中需要注意到的几点:有可能下载不成功,mcuisp窗口上显示一堆数字,此时可能是PL2303的驱动问题,只需要重新安装下驱动就好)。

还有就是有人做实验的时候可能会发现刚把BOOT0从高电平换到低电平,此时还是可以进行下载模式,这可能是芯片上电容储能的问题,因为只要电容上的电荷超过一半则为高电平,所以只要过一会儿等电容上的电荷释放就好。

注意:程序烧写和执行的时候烧写(模式1)和执行(模式2)是分为两种模式,两步执行的

时间: 2024-10-14 08:02:44

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

STM32下载线启动使用方法

STM32在和USB下载线连接,32单片机外接供电电源 在电脑上下载必须安装驱动,这是博主亲测的驱动文件 链接:https://pan.baidu.com/s/1qvrRSBiEQu-m29oou-PW2w 密码:thsa 解压后直接安装第一个即可. 那么,下面也就是到了重要的阶段啦! 使用下载线可以直接在keil文件中下载不需要在生成.hex文件啦 让我们来看看怎么修复它的bug把! 完成上述步骤即可实现USB下载,且USB下载速度快,值得推荐! 原文地址:https://www.cnblog

非标准USBasp下载线烧录Arduino BootLoader的参数设置

本文仅适用于BootLoader损坏且买到国产“免驱USBasp下载线”导致Arduino IDE无法识别从而不能烧写的情况.是一种略显非主流的操作方式. 因为Arduino的IDE并不支持这种免驱的USBasp线,会提示错误. 事情的全程是这样的: 1.症状 用Arduino控制舵机不慎玩脱了,插入电脑时,在“设备管理器”中没有串口提示,用Arduino IDE无法下载程序到电路板中,提示找不到COM口.而且电脑也找不到串口.估计是BootLoader损坏了,准备用USBasp下载线重新烧录.

单片机下载芯片max232,ch340,pl2303,hl340与下载接线

开发板上的下载口位置一般都有很多 340,232等芯片,这些芯片都是干嘛用的呢? 普及:TTL电平    : 二进制电平,+5V等价于逻辑"1",0V等价于逻辑"0". RS232电平: 二进制电平,(-3V--15V)等价于逻辑"1",(+3-+15V)等价于逻辑"0". 下载的程序最终要和单片机的串口引脚发送接受引脚进行连接,而他们的引脚只能识别TTL电平. ch340,pi2303,是同一类的芯片都是将USB信号转化为单

国产免驱USBasp下载线烧录Arduino BootLoader的方法

本文仅适用于BootLoader损坏且买到国产免驱USBasp下载线导致IDE无法识别从而不能烧写的情况.是一种略显非主流的操作方式. 因为Arduino的IDE并不支持这种免驱的USBasp线,会提示错误. 事情的全程是这样的: 1.症状 用Arduino控制舵机不慎玩脱了,插入电脑时,在“设备管理器”中没有串口提示,用Arduino IDE无法下载程序到电路板中,提示找不到COM口.而且电脑也找不到串口.估计是BootLoader损坏了,准备用USBasp下载线重新烧录. 2.准备解决 之前

USB转TTL 下载线 线序定义

产品名称:USB转TTL 下载线 长度       :1米 芯片       :PL2303HX.PL2303TA. 线序定义红+5V, 黑GND, 绿TXD,白RXD

genymotion无法下载或下载慢解决方法

(1)Win+R.输入%appdata% (2)按Alt+↑进入上一级目录 (3)进入Local\Genymobile目录 (4)打开genymotion.log文件,找到最近的类似下面内容的一行. [Genymotion] [Debug] Downloading file  "http://dl.genymotion.com/dists/2.3.7/ova/genymotion_vbox86p_2.3.7_160825_095124.ova" (5)复制其中的网址,用其他下载工具下载

J哥---------Android 多线程下载 仿下载助手(改进版)

首先声明一点: 这里的多线程下载 并不是指的 多个线程下载一个 文件,而是 每个线程 负责一个文件.真正的多线程 希望后面能给大家带来.  -------------  欢迎 爱学习的小伙伴 加群  -------------  -------------android交流群:230274309------------- -------------一起分享,一起进步!  需要你们-------------- --------------  期待各位爱学习的小伙伴们 的到来------------

*Android 多线程下载 仿下载助手(改进版)

首先声明一点: 这里的多线程下载 并非指的 多个线程下载一个 文件.而是 每一个线程 负责一个文件. 真正的多线程 希望后面能给大家带来.  -------------  欢迎 爱学习的小伙伴 加群  -------------  -------------android交流群:230274309------------- -------------一起分享.一起进步! 须要你们-------------- --------------  期待各位爱学习的小伙伴们 的到来------------

2014年辛星php教程夏季版免下载豆下载啦

2014年辛星php教程夏季版免下载豆下载了,下载链接:http://down.51cto.com/data/1856461 ,它是免下载豆的,因此您也可以自由下载. 它的第一部分是php的基本语法,第二部分讲了下数据库和cookie.session.get.post等操作,第三部分是一个小型商城的建立,第四部分则是面向对象的知识.希望您能喜欢.