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| 分类: 默认分类 | ...
随机推荐
- JavaScript学习总结(十七)——Javascript原型链的原理
一.JavaScript原型链 ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法.其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法.在JavaScript中, ...
- SQL Server 完美SPLIT函数
-- SQL Server Split函数 -- Author:zc_0101 -- 说明: -- 支持分割符多字节 -- 使用方法 -- Select * FROM DBO. ...
- Oracle删除死锁进程的方法
本文实例讲述了Oracle删除死锁进程的方法.分享给大家供大家参考.具体如下: 步骤1:用以下SQL查看进程列表,判断出被锁定的表 复制代码代码如下: SELECT dob.OBJECT_NAME T ...
- 有indexPath获取到cell对象
//SHSecretaryTipsCell *cell=(SHSecretaryTipsCell *)[tableView cellForRowAtIndexPath:indexPath];
- jenkins配置角色访问
本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str ...
- tomcat连接数设置
如何加大tomcat连接数 在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:minProcessors:最小空闲连接线程数,用 ...
- KVM 基本硬件容量扩容
在工作当中如果虚拟机的容量不够使用 如何添加呢? CPU添加 cpu添加有两种方式: 1 创建虚拟机的时候可以添加 # virt-install --help | grep cpu --vcpus=V ...
- asp之FSO大全
<%Function ShowDriveInfo(strFolder)'显示磁盘信息'strRootFolder="/"'strDrivInfo=ShowDriveInfo( ...
- 关于web.xml的格式
先是filter 再是<filter-mapping> 然后<servlet> 再是<servlet-mapping> 这是一种规范基于j2ee 在开发的过程中一 ...
- iOS5新特性: Core Image 示例
iOS5给我们带来了很多很好很强大的功能和API.Core Image就是其中之一,它使我们很容易就能处理图片的各种效果,色彩啊,曝光啊,饱和度啊,变形啊神马的. 可惜苹果一直没能完善官方文档,也没有 ...