原贴地址
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4218627&bbs_page_no=1&bbs_id=3020
STM8的单片机,只要内部是空的,就算Bootloader disable,也会上电运行Bootloader,可以从串口下载程序。新的器件虽然Bootloader disable,但是也可以用串口下载至少一次程序。
如果是一般的程序下载后,Bootloader是disable,那么不借助ST-Link就再也不能用串口下载了。
所以新买的器件要不借助ST-Link无限次串口下载,第一次下载的程序必须要修改option byte,使得Bootloader enable,这样以后可以一直用串口下载了。
下面是程序:
#include "iostm8.h"
void main(void)
{
FLASH_DUKR = 0xae;
asm("nop");
FLASH_DUKR = 0x56;
asm("nop");
while(!(FLASH_IAPSR & 0x08));
asm("nop");
FLASH_CR2 = 0x80;
asm("nop");
FLASH_NCR2 = 0x7f;
asm("nop");
*((unsigned char *)0x487e) = 0x55;
asm("nop");
*((unsigned char *)0x487f) = 0xaa;
while(1);
}
编译后的S19文件:
点击此处下载 s19.rar
这个文件只适用于STM8S105,STM8S20x系列!
串口下载程序的步骤:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4209177&bbs_page_no=1&bbs_id=3020
STM8可以普及了,无需ST-Link,新买的器件可以无限次数串口下载程序(转贴)

现在越来越多人用STM8了,我也跟上大众,一起凑热闹。刚开始以为STM8可以随便用串口下载程序,于是 从阿莫那买了个STM8S Mini Kit,买回来后发现不能串口下载,郁闷之极。后来咬咬牙,再买一个三合一,用ST-Link下载程序,真是冤大 头。后来想想再试试如何用串口下载程序,多一种方式备用也好。在网上搜索,发现几乎没有详细的相关教程,只好自己探索了。经过多次摸索,终于明白了如何用 串口下载程序到STM8了,而且不像网上流传那样是一次性的。
不敢独享,做成教程,本文以三合一板为例,所有步骤均带电操作。
正文
第一步:
(原文件名:1_a.jpg) 引用图片
打开STVP,选择Configure -> Configure ST Visual Programmer。
第二步
(原文件名:2_a.jpg) 引用图片
选择ST-Link、SWIM、STM8S207SB,确定。
第三步:
(原文件名:3_a.jpg) 引用图片
选择OPTION BYTE选项卡,点击其中的BOOTLOADER ENABLE,把默认的Bootloader Disable改为Bootloader Enable。
第四步:
(原文件名:4_a.jpg) 引用图片
无需切换到其它选项卡,直接Program -> Current tab。
(原文件名:5_a.jpg) 引用图片
输出窗口会有提示。
第五步:
(原文件名:6_a.jpg) 引用图片
打开Flash Loader Demonstrator V2.2.0,如图设置,我是用PL2303HX USB转串口。按下STM8S Mini Kit上的复位按键,松手后马上点击Next。
第六步:
(原文件名:7_a.jpg) 引用图片
连接成功后会弹出以上警告,确定。因为刚启动软件还没有选择合适器件,下载完毕不关掉软件再重复一次就没有这个警告了。
第七步:
(原文件名:8_a.jpg) 引用图片
Target选择STM_128K,Next。
第八步:
(原文件名:9_a.jpg) 引用图片
这个界面可以选择擦除、下载、读取操作,我们主要目的是下载。选择好下载文件,擦除(擦除必要页、不擦除、全部擦除)按需选择一项。可以勾选的选项有:跳到用户程序(下载完毕)、优化(去掉某些0xFF)、下载后校检。接着Next。
第九步:
(原文件名:10_a.jpg) 引用图片
正在下载时的界面,速度比SWIM还快。
(原文件名:11_a.jpg) 引用图片
下载完毕,可以Close关闭软件,也可以Back返回第五步重新下载,这时第六步的警告窗口就没有了,直接到第七步。
好了,就是这样简单。
串口下载支持的器件
(原文件名:12.jpg) 引用图片
制作成的PDF
点击此处下载 ourdev_575030.pdf(文件大小:561K) (原文件名:STM8串口下载程序教程.pdf)
STM8S Mini KIT原理图
点击此处下载 ourdev_575065.PDF(文件大小:725K) (原文件名:STM8S Mini KIT原理图.PDF)
STM8S_L快速选型
点击此处下载 ourdev_575066.rar(文件大小:57K) (原文件名:STM8S_L快速选型.rar)
STM8串口ISP问答
点击此处下载 ourdev_575064.pdf(文件大小:312K) (原文件名:STM8 bootloader frequently asked questions.pdf)
我演示的程序,IAR环境
点击此处下载 ourdev_575032.rar(文件大小:16K) (原文件名:BreathLED.rar)
PL2303的原理图
点击此处下载 ourdev_575063.pdf(文件大小:44K) (原文件名:PL-2303HX.pdf)
我用的PL2303驱动,也适用S*T*C单片机
点击此处下载 ourdev_575033.rar(文件大小:51K) (原文件名:PL2303 2.0.0.11 驱动.rar)
绿色版的STVP和Flaash Loader
点击此处下载 ourdev_575034.rar(文件大小:4.89M) (原文件名:STVP.rar)
点击此处下载 ourdev_575035.rar(文件大小:2.81M) (原文件名:Flash Loader Demonstrator.rar)
------------------------------------------------------------------------------------
据说出厂时Bootloader已经Enable(STM8 bootloader frequently asked questions上说 片子是空的就Enable),谁有新片请麻烦读出来看看。还有打开Bootloader后启动会慢了 1s,STM8 bootloader frequently asked questions上有说。
不敢独享,做成教程,本文以三合一板为例,所有步骤均带电操作。
正文
第一步:

(原文件名:1_a.jpg) 引用图片
打开STVP,选择Configure -> Configure ST Visual Programmer。
第二步

(原文件名:2_a.jpg) 引用图片
选择ST-Link、SWIM、STM8S207SB,确定。
第三步:

(原文件名:3_a.jpg) 引用图片
选择OPTION BYTE选项卡,点击其中的BOOTLOADER ENABLE,把默认的Bootloader Disable改为Bootloader Enable。
第四步:

(原文件名:4_a.jpg) 引用图片
无需切换到其它选项卡,直接Program -> Current tab。

(原文件名:5_a.jpg) 引用图片
输出窗口会有提示。
第五步:

(原文件名:6_a.jpg) 引用图片
打开Flash Loader Demonstrator V2.2.0,如图设置,我是用PL2303HX USB转串口。按下STM8S Mini Kit上的复位按键,松手后马上点击Next。
第六步:

(原文件名:7_a.jpg) 引用图片
连接成功后会弹出以上警告,确定。因为刚启动软件还没有选择合适器件,下载完毕不关掉软件再重复一次就没有这个警告了。
第七步:

(原文件名:8_a.jpg) 引用图片
Target选择STM_128K,Next。
第八步:

(原文件名:9_a.jpg) 引用图片
这个界面可以选择擦除、下载、读取操作,我们主要目的是下载。选择好下载文件,擦除(擦除必要页、不擦除、全部擦除)按需选择一项。可以勾选的选项有:跳到用户程序(下载完毕)、优化(去掉某些0xFF)、下载后校检。接着Next。
第九步:

(原文件名:10_a.jpg) 引用图片
正在下载时的界面,速度比SWIM还快。

(原文件名:11_a.jpg) 引用图片
下载完毕,可以Close关闭软件,也可以Back返回第五步重新下载,这时第六步的警告窗口就没有了,直接到第七步。
好了,就是这样简单。
串口下载支持的器件

(原文件名:12.jpg) 引用图片
制作成的PDF
点击此处下载 ourdev_575030.pdf(文件大小:561K) (原文件名:STM8串口下载程序教程.pdf)
STM8S Mini KIT原理图
点击此处下载 ourdev_575065.PDF(文件大小:725K) (原文件名:STM8S Mini KIT原理图.PDF)
STM8S_L快速选型
点击此处下载 ourdev_575066.rar(文件大小:57K) (原文件名:STM8S_L快速选型.rar)
STM8串口ISP问答
点击此处下载 ourdev_575064.pdf(文件大小:312K) (原文件名:STM8 bootloader frequently asked questions.pdf)
我演示的程序,IAR环境
点击此处下载 ourdev_575032.rar(文件大小:16K) (原文件名:BreathLED.rar)
PL2303的原理图
点击此处下载 ourdev_575063.pdf(文件大小:44K) (原文件名:PL-2303HX.pdf)
我用的PL2303驱动,也适用S*T*C单片机
点击此处下载 ourdev_575033.rar(文件大小:51K) (原文件名:PL2303 2.0.0.11 驱动.rar)
绿色版的STVP和Flaash Loader
点击此处下载 ourdev_575034.rar(文件大小:4.89M) (原文件名:STVP.rar)
点击此处下载 ourdev_575035.rar(文件大小:2.81M) (原文件名:Flash Loader Demonstrator.rar)
------------------------------------------------------------------------------------
据说出厂时Bootloader已经Enable(STM8 bootloader frequently asked questions上说 片子是空的就Enable),谁有新片请麻烦读出来看看。还有打开Bootloader后启动会慢了 1s,STM8 bootloader frequently asked questions上有说。




8楼
请问楼主,现在我手上有块开发板,是在淘宝淘的,买的时候里面已经有程序了,请问要怎么使bootloader变成enable呢?目前手上还有一个仿真器。
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏50分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 | |
【分享评测,赢取加热台】教你五分钟本地部署蒸馏版本的DeepSeekR1-7B被打赏12分 | |
【换取手持示波器】蓝牙音箱更换电池被打赏8分 | |
【换取手持示波器】鼠标更换微动开关被打赏10分 | |
【我要开发板】4.传感器移植被打赏50分 | |
【换取手持数字示波器】RISC-VGCC使用-fno-omit-frame-pointer编译选项实现栈回溯被打赏29分 | |
【分享评测,赢取加热台】+开关电源简述被打赏7分 |