[STM8] STM8普及,无需ST-Link,新买的器件可以无限次数串口下载程序

[复制链接]
7275|9
 楼主| bluefeel 发表于 2010-8-24 20:00 | 显示全部楼层 |阅读模式
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文件:
BL_EN.rar (13.06 KB, 下载次数: 193)
这个文件只适用于STM8S105,STM8S20x系列!
串口下载程序的步骤:
STM8串口下载程序教程.pdf (409.9 KB, 下载次数: 951)
hotpower 发表于 2010-8-24 20:11 | 显示全部楼层
有意思…
lhzw2001 发表于 2010-8-24 22:43 | 显示全部楼层
试试,顶顶
mcuisp 发表于 2010-8-25 07:51 | 显示全部楼层
问题是BootLoader Enable以后,App就无法运行了
mcuisp 发表于 2010-8-25 07:54 | 显示全部楼层
其实STM8可以有个选项,即BootLoader等待串口连接2秒左右(可设置最好),无连接即运行App
这样串口ISP在调试阶段就有不小的实际意义了。
如果是这样,我会把STM8的ISP添加到mcuisp里去。
 楼主| bluefeel 发表于 2010-8-25 08:40 | 显示全部楼层
本帖最后由 bluefeel 于 2010-8-25 08:49 编辑

mcuisp:
不要随便猜
BootLoader Enable以后,上电没有ISP的话1s后运行用户程序
1s的等待时间就看个人取舍了
STM8 bootloader frequently asked questions.pdf (311.62 KB, 下载次数: 971)
其实大部分问题这里都有说明了
McuPlayer 发表于 2010-8-25 10:40 | 显示全部楼层
ISP下载和SWIM调试是2回事
STC老姚是把ISP发扬光大了,但同时把很多有歧义的概念灌输给了很多新入道的工程师
sunny_ugv 发表于 2010-8-25 11:25 | 显示全部楼层
好东西,先收藏
mcuisp 发表于 2010-8-25 22:29 | 显示全部楼层
本帖最后由 mcuisp 于 2010-8-25 22:37 编辑

有1S等待时间么?我再看看。
以前怎么没有注意到、、、、、

确实有,呵呵。
我以前没看flow chart,只看了table1条件表。

有时间增加下stm8S/L的ISP。
林林a1 发表于 2016-4-13 15:10 | 显示全部楼层

请问下,我用的是STM8S208RB,之前已经烧写过程序,现在按大家说的步骤操作后,还是不行。请问是不是应该是新的STM8(即空的),第一次烧写程序这样操作以后才可以单独用串口。已经烧写过的芯片即是是按上面介绍不步骤操作也不可以再单独使用串口下载了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

14

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部