STM8 自带 BootLoader 串口烧录程序(STM8AF624x)
一、进入BootLoader模式
根据STM8的资料可以知道,进入BootLoader的方法只有两种:
- 空芯片(Flash首地址内容不是0x82或0xAC),上电后即可进入BootLoader模式。
- OPTION配置参数地址
487Eh = 0x55,787Fh = 0xAA,复位后会进入BootLoader模式。

二、写入OPTION配置参数
通过Flash写入的方式将地址 487Eh 和 787Fh写入0x55和0xAA即可,通过MCU执行一次Flash写入。
1、使用库函数
此方法只适用于可以使用库函数的MCU,记得引用库的头文件 stm8s_flash.h,若MCU不能使用库函数可以使用寄存器方法。
/* 定义Flash编程时间 */FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);/* 解锁Flash */FLASH_Unlock(FLASH_MEMTYPE_DATA);FLASH_ProgramByte(0x487E,0x55);FLASH_ProgramByte(0x487F,0xAA);FLASH_Lock(FLASH_MEMTYPE_DATA);
2、使用寄存器
由于部分STM8芯片没有标准库的支持,导致不能使用 stm8s_flash 库函数,以下提供一个寄存器的方式写OPTION配置参数的方法:
/*解锁Flash*/do{FLASH_DUKR = 0xAE;FLASH_DUKR = 0x56; }while(!(FLASH_IAPSR & 0X08));/*对选项字节进行写操作使能*/FLASH_CR2 = 0X80;/*互补控制寄存器*/FLASH_NCR2 = 0X7F;/*写入OPTION内容*/*((unsigned char *)0x487E) = 0x55;*((unsigned char *)0x487F) = 0xAA;/*等待写结束*/while(!(FLASH_IAPSR & 0x04));
三、硬件连接方式
这里我们使用串口模块来连接MCU,这里需要注意,串口模块需要引出RST和CST引脚。

若串口没有RST和CST引脚则需要手动复位MCU,而且需要在复位后1秒内使用软件连接MCU。
四、烧录程序
MCU连接好串口后,将串口模块连至电脑,打开 STMFlashLoader Demo.exe 软件。
STMFlashLoader Demo下载地址:FLASHER-STM8

选择好串口号、波特率等参数。

根据MCU的Flash容量选择Target

选择需要下载的hex文件

下载完成
若重新下载需要重新插拔串口模块,并重新打开软件重复以上操作。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
