STM8如何使用自带的bootloader

1,首先确认你使用的STM8有没有自带的bootloader。参考下表

2,STM8空器件可以直接使用自带的bootloader。

3,STM8在使用SWIM烧录后,要想继续使用自带的bootloader,必须设置可选字节为0x55AA。如下图:

设置这两个字节的方法,可以使用ST Visual Programmer修改,如下图:

不过这个软件显示只能修改487Eh为0x55,487Fh没更改。官方提供的软件,很奇怪。所以,我采用下一种方法

在程序中设定,然后用SWIM下载一次,一次就够了。使用库函数如下:

/* Define FLASH programming time */
FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);
/* Unlock EEPROM Data memory */
FLASH_Unlock(FLASH_MEMTYPE_DATA);
FLASH_ProgramByte(0x487E,0x55);
FLASH_ProgramByte(0x487F,0xAA);
FLASH_Lock(FLASH_MEMTYPE_DATA);

4,最后,必须在器件复位后1S以内点击ST的Flashloader软件。设置如下:

其中echo选项可以先不选,若是显示失败,它提示你选上echo,你再选上。

 

附上英文原版描述:

详细bootloader流程,请参考UM0560,根据该手册你可以把烧录过程写到自己的上位机软件中,无需借助flashloader了。

 

posted @   Weyne  阅读(4326)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示