博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM8不用手动复位进入自带Bootloader方法(串口下载)
阅读量:5989 次
发布时间:2019-06-20

本文共 1645 字,大约阅读时间需要 5 分钟。

源:

STM8不用手动复位进入自带Bootloader方法(串口下载)

除非STM8片子的空的,如果复位运行的是自带Bootloader,而且要通过串口下载程序的话,必须在1s内点击上位机,要不然就运行用户程序了。 这一步很麻烦,所以想把它给省掉。 后来发现上位机Flash Loader Demonstrator在启动画面点击Next后,会先从串口的DTR、RTS输出一个大概100多毫秒的脉冲,TTL电平就是负脉冲了,之后才会和单片机通信。 所以只要按照下面的图接线,如果单片机复位运行的是自带Bootloader,只要在Flash Loader Demonstrator启动画面点击Next,软件就会复位单片机,不用自己手动复位再点击Next就可以和单片机通信了。

(95.32 KB)
2010-12-30 05:06

(101.08 KB)
2010-12-30 05:06

还有就是下载STM8S或STM8L时候的Flash Loader Demonstrator启动画面设置不一样

STM8S是这样:

(60.28 KB)
2010-12-30 05:06

STM8L是这样:

(63.51 KB)
2010-12-30 05:06

还有关于复位是否运行自带Bootloader,至少符合下面两个条件之一就可以了

1、器件是空的(新买的就是空的)

2、optionbyte里的Bootloader是Enable的

新的器件optionbyte里的Bootloader是disable的,为了能不止一次使用串口下载程序,第一次下载的程序必须修改optionbyte使得Bootloader Enable

这是STM8S的程序:

#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); }

 

点击此处下载 (12.95 KB)

(12.95 KB) 下载次数: 420
2010-12-30 05:06

这是STM8L的程序:

#include "iostm8L152c6.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");         *((unsigned char *)0x480b) = 0x55;         asm("nop");         *((unsigned char *)0x480c) = 0xaa;  // 写入选项字节         while(1); }

 

转载地址:http://aunlx.baihongyu.com/

你可能感兴趣的文章
控制流如何处理错误
查看>>
Windows多线程
查看>>
[转载]epoll使用详解(精髓)
查看>>
[Voice communications] 声道的转换
查看>>
RabbitMQ的几种典型使用场景
查看>>
游戏设计中的算法题——计算宝物升级所需的资源数
查看>>
跟我一起学习ASP.NET 4.5 MVC4.0(三)
查看>>
IM over Socket Between Windows Mobile Devices
查看>>
Android -- onAttachedToWindow()
查看>>
(转载)Python写爬虫--抓取网页并解析HTML
查看>>
软考路(6)——工厂设计模式系列
查看>>
Java 7 for Absolute Beginners/Java 7基础教程--读后感
查看>>
问答网站系统Question2Answer评测
查看>>
[EntLib]微软企业库5.0 学习之路——第三步、为项目加上异常处理(采用自定义扩展方式记录到数据库中)...
查看>>
CSS解决IE6下PNG图片背景不透明的问题
查看>>
HDOJ1004
查看>>
极速理解设计模式系列:22.状态模式(State Pattern)
查看>>
一道面试附加题的另类求解
查看>>
mssql 中文乱码 字库集 问题解决方法
查看>>
Linux静态库和共享库【转】
查看>>