历史上的今天
今天是:2025年02月02日(星期日)
2020年02月02日 | 使用STM8S自带BootLoader_1
2020-02-02 来源:eefocus
本文将详细记载怎么使用STM8S自带BootLoader实现程序更新。
准备工作:
1. ST支持文档 UM0560(说明BootLoader怎么用)
2. ST官方下载软件 STMFlashLoader Demo.exe
3. IAR Embedded Workbench 、ST Visual Programmer
4. 2块STM8S105K6,用来实现更新操作。
实践操作:
1. 使用STVP -> OPTION BYTE -> ROP ->Read Out Protection OFF
STVP -> OPTION BYTE -> BOOTLOADER ENABLE ->BootLoader Enable
本文只记载怎么使用BootLoader,如果读保护使能了,不在本文讨论范围(在UM0560中有提到怎么处理)。为什么这两个字节选项字要处理,在UM0560中有说明,不这样操作,不能进入BootLoader程序,MCU复位后检测到这个这两个选项字节不符,则跳转到用户应用程序区0x8000地址处。
补充说明:
使能BootLoader能够用库函数,写字节选项字。
FLASH_Unlock(FLASH_MEMTYPE_DATA); //解锁Flash
FLASH_ProgramOptionByte(0x487E, 0x55); //使能BootLoader
FLASH_Lock(FLASH_MEMTYPE_DATA); //上锁Flash这里写代码片
读保护不能用库函数写。
使用UART和PC通讯
PC端打开STMFlashLoader Demo.exe,连接好串口。
在MCU复位1S之内,点击Next.
如果不能进入上图界面,从3个方面检查:
1.第1步,两个字节选项字是不是已经配置好。
2.串口TX,RX是不是连接正确。
3.MCU供电是不是正常。
选择MCU密度容量,上面对应固件版本号1.3,是上位机从Boot区读出来的。点击Next。
下面进入erase,download,updata界面。擦除不多说,操作一下就明白什么意思。updata是指把MCU的程序读出来保存成文件。重点来说一下下载操作。
执行下载之前要执行标号1。这里的要点是标号2,不要加载HEX文件,如果加载了HEX文件则标号3不能操作,写入地址不可选。原因是HEX文件本身就包含了写入地址信息,所以不可改,在IAR中可编辑OPTION选择生成Bin文件。生成了Bin文件才可以选择下地址。
我这里选择的地址是0xA000,这个地址是开发者自己确定的,APP1.bin包含的是要更新的固件信息。也就是要复制到目标板从机的程序。
操作到这里,BootLoader就已经完成一半的任务了,下篇说主机MCU怎么和从机握手,然后主机更新从机的程序。
我自己在操作的时候想怎么把固件程序和应用程序分段放到主机的flash中,各种论坛救助,没有得到满意的回复。偶然加载了一次Bin文件,问题才解决,特意写下来,希望能帮助到有同样困惑的人。
史海拾趣
|
来源:电源技术应用/黄庆义,胡荣强,王闯瑞核心器件: UC3842 0 引言 UC3842是美国Unltmde公司生产的一种性能优良的电流控制型脉宽调制芯片,它具有管脚数量少,外围电路简单等特点,因而得到了广泛的应用。但随着UC3842开关频率的提高,由它所 ...… 查看全部问答> |
|
SX1230 - Integrated Transmitter IC The SX1230 is a fully integrated transmitter which can operate in the 315, 434, 868 and 915 MHz licence free ISM bands. The transmitter has two modes of operation, a conventional MCU controlled mode and a ‘stand-alone’ mode ...… 查看全部问答> |
|
我要做基于SPCE061A凌阳单片机红外遥控比赛计分器的设计, 需要软件编程红外识别,利用LED模组能显示比分,我需要知道利用的遥控器的名称和C编程的程序。重谢,有能帮我做的可以加QQ330254876讨论,重谢。… 查看全部问答> |
|
请问wince模拟器上面运行的应用程序能从串口接收PC发的数据吗? 请问wince模拟器上面运行的应用程序能从串口接收PC发的数据吗?搜了,似乎都没有解决 注:我发现模拟器上那3个可以映射的串口都是给wince系统打开使用的了,我用的是wince5模拟器… 查看全部问答> |
|
我装了Platform Builder CE 6.0 ,在CellCore文件夹下也找到了RIL层的源程序,但是我却没找到RIL.lib中函数的实现,也就是Ril.def中定义的导出函数。比如: RIL_Initialize &nbs ...… 查看全部问答> |
|
本人一直很喜欢下载东西,verycd.com更是天天上,还喜欢上xunlei.com找软件 而且经常成夜成夜的挂着电脑,挂着迅雷, 电费不用说, 因为用P2P硬盘都坏掉几个, 数据吞吐量大概每天2G到10G, 看电影只看DVD高清晰版的, 装软件只下完整版的, 由于做软 ...… 查看全部问答> |
|
我就是想用VS2005做一个小程序 在PDA上运行. 能用RDA方式操作SQL2000里的表就行. 原来用SQLite库了.但是中文乱码 那里我处理不好.所以,改回用SQLCE. 请用过的朋友教一下. 分没问题. 可以另开帖.... 我的QQ:49440483… 查看全部问答> |
|
如题,写了一段采用四级流水线的加法器,在对比几种设计方法的性能。但用Symply pro综合后RTL图有问题。。不知为什么综合后cout和前面的链接断开了。特此请教。谢谢。 源码如下:`timescale 1ns / 1ps/////////////////////////////////////////// ...… 查看全部问答> |




