stm32通过串口烧写程序的原理是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32通过串口烧写程序的原理是啥?相关的知识,希望对你有一定的参考价值。

用UART1串口,然后看芯片简介把boot0和boot1配置好,下载个官方的ISP下载软件,就ok了。
首先下载一个软件
Flash
Loader
Demo
然后就是把boot0置1
,boot1置0.
这样就是串口下载模式。
选择好波特率和端口。貌似默认的就行。建议改成com1.其实com0也是没关系的。
最关键的是
stm32单片机的USART只能用usart1。其他几个USART是都不行的。切记。设计电路的时候就要注意这一点。
然后可以打开,简单的按下一步。后面选择domn
to
device.使用默认设置。然后把hex文件放进去就OK。
其实很简单的。
最后一步,还是要还原BOOT设置。
boot0置0,boot1置0.一定要还原设置。不然程序是不会运行的。
参考技术A 1.
请确保你电脑上的串口工作正常,测试方法,打开一个串口调试助手,短接串口线的tx和rx,然后串口调试助手发送一个字符,比如a,如果串口通信正常,你能在串口调试助手中收到a.
2.
请确保stm32上用于isp的串口是串口1,io是pa9,pa10,如果是stm32f2xx,也可以是串口3.
3.
请确保stm32在上电时两个boot引脚的电平正确(boot0=1,boot1=0貌似,看手册).
4.
如以上条件满足,还是无法isp,请调整串口波特率,比如9600,无校验.

希望能帮到你,多实验吧楼主.

如何通过JLINK烧写文件到百为STM32开发板外部的NOR FLASH

我们平时的程序都是烧写到STM32的内部FLASH里的,所以可以通过串口或JLINK直接下载就可以了。
而ST官方DEMO的资源文件,和uclinux的image文件都是烧写到外部NOR FLASH的,
除了可以用DFU方式下载.dfu文件之外,还可以用JLINK烧写.bin文件和.hex等文件,而且JLINK烧写NOR的速度比DFU快很多。
这里我们来介绍一下,是怎么通过JLINK烧写字库到NOR FLASH里的:
1、首先打开SEGGER-> JLink ARM Vx.xx -> J-Flash ARM
2、然后点File -> open project,
在弹出的选择框中选择工程文件:C:\Program Files\SEGGER\JLinkARM_V424\Samples\JFlash\ProjectFiles\STM32F103ZE_ST_MB672_CFI_1x16.jflash
3、然后点File -> open data file 打开要烧写的文件,这里以字库HZK16.bin为例
4、然后会弹出一个地址设置框,这里我们填写NOR FLASH的起始地址64000000
5、设置好上面的步骤后,下面点Target -> connect连接设备
连接成功后,在下面的LOG框中看到Connected successfully的信息
6、最后就可以点Target -> program & valify烧写了
等待烧写完成,文件就成功烧写到外部NOR FLASH了
如果要烧写多个文件,步骤3、完成后,接着加一个步骤File -> Merge data file。后面步骤一样。
如果我们烧写的两个文件,会擦除FLASH的同一个块,那就要用Merge data file,不然后面烧的就会把前面烧的擦除了。
参考技术A JLINK-FLASH里面可以配地址和大小的吧,如果你的FLASH是挂在总线上的应是可以的。我很久没弄了,仅供产考 参考技术B 关注这个问题

以上是关于stm32通过串口烧写程序的原理是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过串口烧写STM32程序

如何通过串口烧写STM32程序

stm32串口烧写程序到开发板

STM32串口IAP分享

STM32F103RBT6串口3配置不成功啥问题

STM32F407串口传输