一、进入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文件
下载完成
若重新下载需要重新插拔串口模块,并重新打开软件重复以上操作。
上一篇:STM8S103F3P6+步进电机28BYJ-48+ULN2003 实现简单的正反转
下一篇:STM8串口接收中断无法进入问题(STM8L051/101F3)
推荐阅读最新更新时间:2024-11-04 16:09
设计资源 培训 开发板 精华推荐
- LT3502A 演示板、2.2MHz、500mA、2mm-2mm DFN 降压稳压器
- AR0134CSSC00SUEAH3-GEVB:1.2 MP Sunex DSL945D 1/3" iBGA CIS HB
- mykeyboard with dial
- 【物联网】鸿蒙智能开关+4226194A
- 用于便携式计算机的 25W、3.3V、5V DC 到 DC 多输出电源
- EVAL-AD5932EBZ,用于 AD5932 可编程单扫描波形发生器的评估板
- AN2812 应用笔记 - 在 STM32F101xx 和 STM32F103xx 微控制器上使用 Speex 音频编解码器的声码器演示
- STEVAL-ILL054V2,基于 LED2001 4A HB LED 驱动器的评估板,采用 HSOP8 封装,具有调光功能
- 2013年D题:射频宽带放大器
- ADD5043-868-2-GEVK:用于 DVK-2 评估套件的 AX5043 868 MHz 附加套件