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




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


STM8L是这样:


还有关于复位是否运行自带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();
}
点击此处下载
STM8S_BL_EN.rar (12.95 KB)
这是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();
}
STM8不用手动复位进入自带Bootloader方法(串口下载)的更多相关文章
- 使用串口下载vxworks映象的方法
使用串口下载vxworks映象的方法 由于坛子里这方面的可行性文章比较少,不时有一些网友在询问这方面的问题,再加上通过这种方法可以调试网络驱动,所以我花了一点时间把整个下载过程试了一下. 1.配置co ...
- 删除Android自带软件方法及adb remount 失败解决方案
删除Android自带软件方法 1.在电脑上打开cmd,然后输入命令 adb remount adb shell su 2.接着就是Linux命令行模式了,输入 cd system/app 3然后输入 ...
- 黄聪:使用WORDPRESS自带AJAX方法
例如给网站每页logo后面的一句名言,点击“换一条”就会ajax动态加载一条,使用了wordpress的自带ajax方法.下面介绍如何使用wordpress自带ajax方法: 1.在header.ph ...
- Java中的大小写字母相互转换(不利用Java自带的方法)
Java中的大小写字母相互转换(不利用Java自带的方法) 1.设计源码 /** * * @title:UpperAndLower.java * @Package:com.you.utils * @D ...
- TextView不用ScrollViewe也可以滚动的方法
转自:http://www.jb51.net/article/43377.htm android TextView不用ScrollViewe也可以滚动的方法. TextView textview = ...
- C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法
原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 本人新手,在.Net中写WebAPI的时候,当接口返回的json数据含有日期时间类型的字段时, ...
- angular2/angular4 如何通过$http的post方法请求下载二进制的Excel文件
时间有限,废话就不多说了,直接上干货! 下面给大家介绍一下我遇到的一个坑,如果你也遇到了,那恭喜你,你一定能找到答案:angular2/angular4 如何通过$http的post方法请求下载二进制 ...
- 网络编程之PC版与Android手机版带断点续传的多线程下载
一.多线程下载 多线程下载就是抢占服务器资源 原理:服务器CPU 分配给每条线程的时间片相同,服务器带宽平均分配给每条线程,所以客户端开启的线程越多,就能抢占到更多的服 ...
- 代码高亮插件Codemirror使用方法及下载
代码高亮插件Codemirror使用方法及下载 - 老男孩的日志 - 网易博客 代码高亮插件Codemirror使用方法及下载 2013-10-31 16:51:29| 分类: 默认分类 | ...
随机推荐
- SharePoint 2010 Modal Dialog
SharePoint 2010 Modal Dialog Tweet Modal dialog play very important role to improve the user exper ...
- Stsadm 导入导出子站点
SharePoint通过stsadm备份和还原子网站(不是网站集) 大家都知道SharePoint的stsadm命令提供了很多便捷甚至是唯一的操作方法! 这里列出的所有命令:http://www. ...
- Django: 之用户注册、缓存和静态网页
Django 用户注册系统 Django 的源码中已经有登录,退出,重设密码等相关的视图函数,在下面这个app中 django.contrib.auth 可以点击对应的版本查看相关源代码:1.9 1 ...
- http GET
向php脚本中传参数可以用http GET 方法,比如要向file.php传两个参数v1和v2.则可以这么做 file.php?v1=&v2= (一个链接而已,直接编辑URL即可传参数了) 这 ...
- 在JavaScript中创建命名空间的几种写法
在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子: var sayHello = function() { return 'Hel ...
- 微信支付坑:url未注册
微信支付,报:url未注册 页面URL未注册 支付授权目录 这里很重要我就是在这里折腾了很久.怎么设置呢,首先要看你支付的当前页面URL 比如是:http://www.taidupa.com/wxpa ...
- 当@PathVariable遇上中文和点
当@PathVariable遇上中文和点 Spring MVC从3.0开始支持REST,而主要就是通过@PathVariable来处理请求参数和路径的映射. 由于考虑到SEO的缘故,很多人喜欢把新闻 ...
- PHP的几个常用加密函数【转载】
转自 https://jellybool.com/post/php-encrypt-functions 在网站的开发过程中,常常需要对部分数据(如用户密码)进行加密,本文主要介绍PHP的几个常见的加密 ...
- MySQL数据备份和恢复
1.数据备份 mysqldump -uroot -p databasename > file.sql 2.数据还原 mysql -u root -p databasename < file ...
- centos 6.5常见lib库安装
在CentOS安装软件的时候,可能缺少一部分支持库,而报错.这里首先安装系统常用的支持库.那么在安装的时候就会减少很多的错误的出现. # yum install -y gcc gdb strace g ...