项目介绍 ' v5 I1 P/ J% t8 b' D- ^0 {1 D 在之前的例程和实践中,我们都是使用st-link调试下载的方式进行程序烧录。大家可能已经认识到这种烧录方式的弊端了。因为这种烧录方式首先必须要有以下几个工具或者软件: 1. 烧录工具(不能芯片支持的工具不一样,有ST-Link,JTAG等) 2. 已经安装了IDE(IAR或者SVD或者CCS等)或者与烧录工具匹配的烧录软件的电脑 3. 烧录前后需要物理上电掉电(不建议ST-Link进行热插拔),即开/关电源.$ }9 x; Y8 W' z# R3 z 也许大家会觉得,对于学习而言,这些都能忍受。但是如果真正做成产品,如果还是用这种方式进行升级,那代价就太大。举个例子吧,我之前的工作是开发和维护大功率的UPS(不间断电源),主要客户是一些大型企业,例如银行的数据中心,中国移动网络中心。UPS内部有许多ARM芯片,DSP芯片。这类应用场合,即便给程序升级,客户也不会让你断电的,而且因为安全性要求,一般MCU,DSP都是在产品内部,根本无法对外开放烧录盒的烧录接口。所以绝大部分嵌入式产品,都会开发Bootloader程序。 / ?6 l E3 S2 e- H+ u$ _+ u; O; {3 R8 t 那么什么是Boot Loader呢?一般来说,嵌入式产品的软件都会分为两部分,第一部分为Bootloader,第二部分为主程序(Main APP),它们存放在flash的不同区域。Bootloader是上电或者复位以后先执行的,通过它,我们可以初始化硬件设备、建立内存空间的映射图,检测程序的完整性,判断是否需要从Bootloader跳转到APP或者更新APP。而主程序呢,则是真正用来实现产品面向客户的功能的。 通常呢,在Bootloader会实现一种或者一种以上的IAP方式,可能是UART,SPI,CAN或者Ethernet等。本次例程呢,就是设计一个Bootloader,允许用户用电脑的串口+超级终端实现烧录功能. ! h7 v( e7 @% ^- d* Y; p$ n) d9 q. G 内容比较多,所以细节就不一一列出。详情请参见附件文档。 8 F2 p: c. p; s8 `+ `% B |
附件文档有一处笔误:Main APP中将“XLXWW”字符放入flash的0x9180地址中 改为Main APP中将“XLXWW”字符放入flash的0x9FF8地址中 |
项目正在用串口,上位ARM机有SD卡,想用SD卡的TXT文件,升级MCU, |
分享精神是伟大的,分享了我们就越强 |
写得不错,支持一个 |
wuwuwu |
好东西。先收藏了。刚开始学stm8…… |
谢谢楼主分享 |
感謝樓主分享" D* c8 X0 Y) t' Q7 _8 X, w, k( y |
谢谢楼主分享 |
很好很好,学习学习 |
看得有点晕 |
下载看看来吧 |
好东西。先收藏了。 |
有没有代码分享下嗯 |
《无刷直流电机控制应用 基于STM8S系列单片机》
STM8S库函数中文参考 小软件
分享STM8 风驰光盘的资料,是完整的(包括原理图+例程+PDF注释)
【资料分享】STM8L的智能手持血糖监测设备的源码
基于STM8S207工程模板
【培训资料】STM8系列PPT培训资料
STM8S 直流电机例程及相关资料
无刷直流电机控制应用+基于STM8S系列单片机---电子书
STM8S 主控 STA326 数字功放
STM8自学笔记(推荐STM8很好的入门电子书)