当前位置:首页>科技>正文

stm32通过串口烧写程序的原理是什么? 单片机的烧写原理

2023-07-30 17:01:21 互联网 未知 科技

 stm32通过串口烧写程序的原理是什么? 单片机的烧写原理

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.一定要还原设置。不然程序是不会运行的。

单片机的烧写原理

有三种方式:

1.把单片机当做一个ROM芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给28C256这样的ROM中写程序的过程一样。只是不同的单片机使用的端口,编程用的时序不一样。

2.像AT89S52或AVR单片机一样,在单片机上有SPI接口,这时用专用的下载线将程序烧写到单片机中。这时不同的是,单片机的CPU除了执行单片机本身的指令之外,还能执行对ROM进行操作的特殊指令,如ROM擦除、烧写和校验指令。在编程ROM时,下载线先通过传输这些指令给CPU执行(擦除ROM、读入数据、烧写ROM、和校验ROM),这样完成对单片机的ROM的烧写。此外,现在普遍使用的JTAG仿真器也是这样,单片机的CPU能执行JTAG的特殊指令,完成对ROM的烧写操作。

3.引导程序,即单片机中已经存在了一个烧写程序。启动单片机时首先运行这程序,程序判断端口状态,如果符合“要烧写ROM”的状态存在,就从某个端口(串口、SPI等等)读取数据,然后写入到单片机的ROM中。如果没有“要烧写ROM”的状态,就转到用户的程序开始执行。像AVR单片机的bootloader方式、STC的串口下载方式,还有其他单片机的串口编程等等都是这样。