完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
步骤一:
要在板子上设置一下,在板子上把 P4 端子的 RXD 和 PA9(STM32 的 TXD),TXD 和 PA10(STM32 的 RXD) 通过跳线帽连接起来,这样我们就把 CH340G 和 MCU 的串口 1 连接 上了。 为了让下下载完后可以按复位执行程序,我们建议大家把 BOOT1 和 BOOT0 都设置为 0 。设置完成如图 4.2.1 所示: 这里简单说明一下一键下载电路的原理,我们知道, STM32 串口下载的标准方法是两个步骤: 1 , 把 B0 接 V3.3(保持 B1 接 GND )。 2 , 按一下复位按键。 通过这两个步骤,我们就可以通过串口下载代码了,下载完成之后,如果没有设置从0X08000000 开始运行,则代码不会立即运行,此时,你还需要把 B0 接回 GND ,然后再按一 次复位,才会开始运行你刚刚下载的代码。所以整个过程,你得跳动 2 次跳线帽,还得按 2 次 复位,比较繁琐。而我们的一键下载电路,则利用串口的 DTR 和 RTS 信号,分别控制 STM32 的复位和 B0 ,配合上位机软件( flymcu ,即 mcuisp 的最新版本),设置: DTR 的低电平复位, RTS 高电平进 BootLoader ,这样, B0 和 STM32 的复位,完全可以由下载软件自动控制,从而 实现一键下载。 步骤二: 接着我们在 USB_232 处插入 USB 线,并接上电脑,如果之前没有安装 CH340G 的驱动(如果已经安装过了驱动,则应该能在设备管理器里面看到 USB 串口,如果不能则要先卸载之前的 驱动,卸载完后重启电脑,再重新安装我们提供的驱动),则需要先安装 CH340G 的驱动,找 到光盘 → 软件资料 → 软件 文件夹下的 CH340 驱动,安装该驱动,如图 4.2.2 所示: 在驱动安装成功之后,拔掉 USB 线,然后重新插入电脑,此时电脑就会自动给其安装驱动了。在安装完成之后,可以在电脑的设备管理器里面找到 USB 串口(如果找不到,则重启下电 脑),如图 4.2.3 所示: 在图 4.2.3 中可以看到,我们的 USB 串口被识别为 COM3 ,这里需要注意的是:不同电脑可能不一样,你的可能是 COM4 、 COM5 等,但是 USB-SERIAL CH340 ,这个一定是一样的。 如果没找到 USB 串口,则有可能是你安装有误,或者系统不兼容。 步骤三: 在安装了 USB 串口驱动之后,我们就可以开始串口下载代码了,这里我们的串口下载软件选择的是 flymcu ,该软件是 mcuisp 的升级版本( flymcu 新增对 STM32F4 的支持),由 ALIENTEK 提供部分赞助, mcuisp 作者开发,该软件可以在 www.mcuisp.com 免费下载,本手册的光盘也 附带了这个软件,版本为 V0.188 。该软件启动界面如图 4.2.4 所示: 步骤四: 然后我们选择要下载的 Hex 文件,以前面我们新建的工程为例,因为我们前面在工程建立的时候,就已经设置了生成 Hex 文件,所以编译的时候已经生成了 Hex 文件,我们只需要找到 这个 Hex 文件下载即可。 步骤五: 用 flymcu 软件打开 OBJ 文件夹,找到对应的 hex 文件 Template.hex ,打开并进行相应设置后,如图 4.2.5 所示: 图 4.2.5 中圈中的设置,是我们建议的设置。编程后执行,这个选项在无一键下载功能的条件下是很有用的,当选中该选项之后,可以在下载完程序之后自动运行代码。否则,还需要按 复位键,才能开始运行刚刚下载的代码。 步骤六: 编程前重装文件,该选项也比较有用,当选中该选项之后, flymcu 会在每次编程之前,将hex 文件重新装载一遍,这对于代码调试的时候是比较有用的。 特别提醒: 不要选择使用 RamIsp , 否则,可能没法正常下载。 最后,我们选择的 DTR 的低电平复位, RTS 高电平进 BootLoader ,这个选择项选中, flymcu就会通过 DTR 和 RTS 信号来控制板载的一键下载功能电路,以实现一键下载功能。如果不选 择,则无法实现一键下载功能。这个是必要的选项(在 BOOT0 接 GND 的条件下)。 在装载了 hex 文件之后,我们要下载代码还需要选择串口,这里 flymcu 有智能串口搜索功 能。每次打开 flymcu 软件,软件会自动去搜索当前电脑上可用的串口,然后选中一个作为默认 的串口(一般是你最后一次关闭时所选择的串口)。也可以通过点击菜单栏的搜索串口,来实 现自动搜索当前可用串口。串口波特率则可以通过 bps 那里设置,对于 STM32F103 ,可以设置 为最高: 460800 ,而如果是 F4 ,则建议最高设置为: 76800 即可。然后,找到 CH340 虚拟的串 口,如图 4.2.6 所示: 步骤七: 从之前 USB 串口的安装可知,开发板的 USB 串口被识别为 COM3 了(如果你的电脑是被识别为其他的串口,则选择相应的串口即可),所以我们选择 COM3 ,波特率设置为 460800 。 设置好之后,我们就可以通过按 开始编程( P ) 这个按钮,一键下载代码到 STM32 上,下载成 功后如图 4.2.7 所示: 图 4.2.7 中,我们圈出了 flymcu 对一键下载电路的控制过程,其实就是控制 DTR 和 RTS电平的变化,控制 BOOT0 和 RESET ,从而实现自动下载。另外,因为 STM32F1 的每次下载 都需要整片擦除,而 STM32F1 的整片擦除是非常慢的( STM32F1 比较快),这里的全片擦除, 得 等待几十秒钟 ,才可以执行完成,请大家耐心等待。但是 ST-LINK 下载不存在这个问题,所 以,我们建议, 有条件的话,最好还是用 ST-LINK 下载比较快 。 步骤八: 另外,下载成功后,会有“共写入 xxxxKB ,耗时 xxxx 毫秒”的提示,并且从 0X80000000处开始运行了,我们打开串口调试助手( XCOM V2.0 ,在光盘 → 6 ,软件资料 → 软件 → 串口调 试助手里面)选择 COM3 (得根据你的实际情况选择),设置波特率为: 115200 ,会发现从ALIENTEK MiniSTM32 开发板发回来的信息,如图 4.2.8 所示: 接收到的数据和我们期望的是一样的,证明程序没有问题。至此,说明我们下载代码成功了,并且从硬件上验证了我们代码的正确性。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1602 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1536 浏览 1 评论
967 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
680 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1579 浏览 2 评论
1860浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
640浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
513浏览 3评论
527浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
500浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 09:24 , Processed in 0.559282 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号