问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

STM32芯片烧录的几种方式介绍Keil5_MDK、串口FlyMcu、ST-LINK Utility...

发布网友 发布时间:2024-09-26 02:31

我来回答

1个回答

热心网友 时间:1天前

要想深入掌握嵌入式技术,关键在于培养整体的工程思维和项目实践经验。

动手实践至关重要!这真的是非常关键的。

STM32的启动模式介绍:通过STM32参考手册,我们可以了解到STM32的启动模式共有三种,可以通过BOOT0和BOOT1电平的不同组合来选择不同的启动模式。

主闪存启动模式:即运行模式,单片机上电即运行程序。

系统存储器启动模式:即串口下载模式。上电之前要先设置BOOT0=1,BOOT1=0,然后才能通过串口下载程序。或者在已经上电的情况下,设置BOOT0=1,BOOT1=0,然后按一下复位键,这样也能通过串口下载程序。

SRAM启动模式:即调试模式。如果只是修改代码中的一个小地方,直接擦除整个Flash会比较费时,而且Flash的擦写次数也是有限的。因此,可以考虑从RAM中启动代码,用于快速程序调试,调试完成后,再将程序下载到Flash中。

有些朋友可能遇到过这种情况:程序第一次下载时可以运行,但掉电重启后程序就不能运行了。这种情况可能是把BOOT设置成了串口下载模式,所以掉电后并不会自动运行。如果想要即使掉电重启也能直接运行程序,可以把BOOT设置为主闪存启动模式,即BOOT0=0。

一、MDK软件烧录方式:使用Keil uVision5,建立工程并编译通过后,可以实现内部集成的烧录工具对目标开发板(芯片)的烧录工作。

1、硬件工具说明:J-link调试器使用J-LINK V9.0,板子使用STM32F103C8T6型号芯片,正点原子的最小系统板。

2、软件说明:Keil uVision5

3、设置步骤:①把板子上的BOOT0和BOOT1置为接地,连接上JTAG接口和串口;②在Keil uVision5中options for target设置Device的芯片为板子上的芯片型号(STM32F103C8T6);③Target菜单中设置晶振频率(8MHZ);④Debug菜单中选择设置为J-LINK/J-TRACE cortex,点击setting,设置PORT=SW,MAX = 10MHZ;⑤Utilities菜单中取消选中use debug device,选择设置为J-LINK/J-TRACE cortex,点击settings,添加STM32F1xx的flash size为128k的那个。设置完成后点击DOWNLOAD下载即可。

缺点是显而易见的,当我们工程文件缺失,只有烧录目标程序.bin或者.hex文件时,我们就不能通过这种方式进行烧录操作。

二、串口烧录方式:使用串口进行烧录,上位机可采用FlyMcu,然后通过USB转串口线(或者板)给目标设备进行烧录。需要注意的是,如果是M3内核非互联网型的板子这里的串口必须是串口1,对应为GPIO9和GPIO10。如果是M4内核,可以是下述端口。

● USART1(PA9/PA10)

● USART3(PB10/11 和 PC10/11)

● CAN2(PB5/13)

● USB OTG FS(PA11/12) 从设备模式(DFU:器件固件升级)。

1、硬件工具说明:在进行串口下载程序之前,如果串口芯片的驱动程序没有安装,那么电脑不能识别串口,在安装串口驱动之前,要先确定开发板所使用的串口芯片,常用串口芯片有CH340、PL2302、CP2102、FT232。如果使用其他的串口芯片,要安装对应的驱动程序。

2、软件说明:FlyMcu是由单片机在线编程网开发的一款串口下载软件,如果想获取最新版的软件可以到官方网站直接下载。

3、设置步骤:①BOOT1设为0,BOOT0设为1,按复位键即可进入串口下载模式,打开FlyMcu软件,选择正确的串口,点击读器件信息,显示连接成功;②打开所需要下载的HEX文件,这里由于电路上没有自动复位进BOOT区的电路(正点原子部分高级一点的板子有),我们选择不使用RTS和DTR。点击开始编程。直至下载成功;③下载完成后,将BOOT0跳线跳到0,按一下Reset键,程序即可正常运行。

使用这种串口方式烧录时,在KEIL中将检测不到STLINK,若选择STLINK进行烧录,将会报错。未检测到STLINK错误提示。需要编译后,用另外的工具进行烧录。

三、STLINK烧录方式:1、硬件工具说明:STLINK下载器

2、软件说明:ST-LINK Utility

此软件需要使用STLINK仿真烧录器,支持.bin/.src/.hex/.src/.s19五种格式的烧录文件下载。烧录文件在MDK软件编译工程时会自动生成。正点原子的例程烧录文件位于OBJ文件夹中(.hex)。如果是使用STM32CUBEIDE生成的工程,编译后烧录文件位于Debug文件夹中(.bin)。

3、设置步骤:①先在电脑上安装STM32 ST-LINK Utility,软件安装一路Next就可以了,安装好软件之后界面如下;②下载程序只需要使用3个图标就可以了:第一个图标Connect to the target,用来连接器件,在硬件连接正确的情况下,会读出器件的ID号,以及一些其他信息;第二个图标:Open file,点击这个图标,打开要下载的HEX文件,例如下图,就是打开一个程序后软件出现的代码;第三个图标:Program Verify,点击后会弹出一个窗口,这个窗口的配置默认就好,不用修改,直接点击Start就可以直接下载了,下载速度取决于程序大小,程序大下载则慢;③下载成功如下图所示。

附录:连接异常处理

1、能连接但下载报错:使用杜邦线进行SWD连接时,如果是散线或者线缆过长,会出现KEIL能连接上,但是下载报错(flash错误或者M3错误)的故障。将线缆更换为排线或者降低线缆的长度可以解决这个问题。连接线不要过长,不建议使用散装线。

2、特殊IO口使用导致烧录一次程序后SWD口不能用:JTAG或者SWD端口被占用,但是却没有进行正确的配置。在开发STM32F407芯片时,调试18B20温度程序时发现一个问题,当下载完一次程序后,SW就失去连接。强制烧录时报错信息如下:No target connected。报错信息Error:Flash Download failed-Target DLL has been cancelled。使用utility连接也会报错,报错信息如下:Cannot connect to target。按照提示,在烧录时按Reset按键,成功烧录了软件。使用一行行注释排除的方法,最后定位在DS18B20_Init初始化函数这。程序使用了PB15作为了18B20的输入,这个口也是JTAG的接口,在使用时,不能按照常规GPIO口进行配置。使用时,需要先禁止JTAG,然后使能SWD。如果弄成了最后一种模式就SW下载方式无效,需要按住Reset复位重新连接烧录了。
STM32芯片烧录的几种方式介绍Keil5_MDK、串口FlyMcu、ST-LINK Utility...

二、串口烧录方式:使用串口进行烧录,上位机可采用FlyMcu,然后通过USB转串口线(或者板)给目标设备进行烧录。需要注意的是,如果是M3内核非互联网型的板子这里的串口必须是串口1,对应为GPIO9和GPIO10。如果是M4内核,可以是下述端口。● USART1(PA9/PA10)● USART3(PB10/11 和 PC10/11)● CAN...

ic芯片烧录方法 atmel芯片用什么烧录器 ZTIC芯片烧录 ic芯片为什么要烧录 芯片的封装方式有哪些 烧录芯片 哪些芯片需要烧录 芯片烧录设备 芯片烧录是什么意思
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
还有什么词语的意思与"巨无霸"相接近的? 请问巨无霸的由来,是舶来品还是自有词语 巨无霸词语原意 初学者如何刷出自然又卷翘的睫毛? 手残党必学如何刷睫毛5个技巧,告别苍蝇腿! 睫毛刷不翘怎么办 在excel设置单元格格式对话框中可以设置所选单元格的 杭州夜太High图书信息 杭州夜太High内容简介 竹泉村旅游度假区-梅缘地址在哪里? 中微单片机程序烧录方法和步骤 丰田的全部越野车型有哪些? 银河护卫队2片尾彩蛋讲的啥 动物繁殖方式有几种 我的胃不舒服,空腹时感到很饿,但是吃饭时吃几口就咽不下去了,但是没吃... 明明很饿很饿,可在吃饭的时候吃几口就吃不下了,是有什么疾病吗?_百度... ...饭,过一会就说又饿了而且说肚子很饱就是吃不下了,但是还有饿的感觉... 为什么我吃完饭过2~3小时会很饿 这几天总觉得没胃口,不想吃东西。肚子很饿了,去吃饭。吃着吃着会很想... java连接数据库,之前能进行修改,现在突然不行了,开始显示用户sa过期,现 ... 疾控中心研判是什么意思? PE系统、重装系统软件的流氓 我是一名退伍军人,5年回来后市预备党员,现在超过1年没拿党员证。如果... “明君九天忆”的出处是哪里 我是一名退伍军人同时也是预备党员.退伍都一年多了.村支书还不给我转 ... 土豆剥皮要煮几分钟会熟土豆剥皮要煮多久 微信红包未领取可以查看金额吗 怎样查看微信里的未领取红包记录呢 洋芋怎么剥皮更省力? 如何找回微信红包没有领取而消失的记录? 奥林巴斯 sp-565uz 在北京哪里能买到最低价格的机子,能低到多少钱?_百... 车贷逾期半年有什么影响 奥林巴斯SP-560UZ拍摄性能 奥林巴斯 SP-560Ud这个相机如何? 奥林巴斯SP-550UZ怎么用手工调光圈 我的驾驶证扣了23分,需要补考科目一,一直没时间去,关键是我的发证_百... 奥林巴斯sp-500uz数码相机是否能当摄相头 奥林巴斯SP-500UZ 拍出录象是分辨率是多少? 驾驶证扣分,过了30日末学习怎么办? 奥林巴斯SP-565UZ产品简介 HP LaserJet 2420DN基本参数 我的打印机hp2420 在打印出来的纸出现 pcl xl error 我的建行信用卡还款日是22号,约定还款账户23号才还的款,然后产生了利息... 团伙袭警轻微伤判什么罪? 康佳电视打开后一直显示康佳标志怎么办? 大人老是打嗝怎么回事 谁有详细的丹麦历史? 怎样把Excel转成Word文档格式? 麻烦哪位大侠帮我翻译下准假信?内容如下: 宫寒熏哪个穴位