STM32远程升级(ISPIAP)

STM32远程升级(ISPIAP)
使⽤官⽅flash loader demo软件通过串⼝⽅式(ISP)下载⼯程HEX⽂件,下载前需要将硬件BOOT引脚配置成系统存储器启动模式,即BOOT0为1,BOOT1为0,下载完毕后,需将引脚配置成主闪存存储器启动模式,即BOOT0为0,BOOT1为任意,然后上电运⾏。
关于系统存储器启动模式简介(ISP⽅式):需要将BOOT管脚配置成上电从System Memory启动,System Memory中有⼀段BOOTLOADER来接收串⼝(对于STM32F103C8T6来说,为USART1)来的数据,把它们烧写到FLASH中。(内嵌的⾃举程序存放在系统存储区,由ST在⽣产线上写⼊,⽤于通过可⽤的串⾏接⼝对闪存存储器进⾏重新编程)。
(⼆)IAP⽅式
1.基本概念
(1) IAP
IAP是In Application Programming的⾸字母缩写,IAP是⽤户⾃⼰的程序在运⾏过程中对User Flash的部分区域进⾏烧写,⽬的是为了在产品发布后可以⽅便地通过预留的通信⼝对产品中的固件程序进⾏更新升级。
通常在⽤户需要实现IAP功能时,即⽤户程序运⾏中作⾃⾝的更新操作,需要在设计固件程序时编写两个项⽬代码,第⼀个项⽬程序不执⾏正常的功能操作,⽽只是通过某种通信管道(如USB、USART)接收程序或数据,执⾏对第⼆部分代码的更新;第⼆个项⽬代码才是真正的功能代码。
(2) Bootloader
在上述IAP的概念中,bootloader就是其第⼀个项⽬程序。bootloader主要实现的功能:从串⼝、USB等媒介接收数据;存储和搬运数据;程序跳转等功能。
(3) App程序
对IAP概念中,对第⼆个项⽬代码的⼀种称呼。
(4) Ymodem
YModem协议是由XModem协议演变⽽来的,每包数据可以达到1024字节,是⼀个⾮常⾼效的⽂件传输协议。
Ymodem⼀帧数据的结构见下图:
第⼀字节第
Data[0..128]/
<p>Data[0..1027]</p> </td> <td > <p>倒数第⼆字节</p> </td> <td > <p>最后⼀个字节</p> </td> </tr><tr ><td > <p>SOH/STX</p> </td> <td > <p>编号</p> </td> <td > <p>编号反码</p> </td> <td > <p>有效数据区</p> </td> <td > <p>CRC校验⾼位
隐藏的信息</p> </td> <td > <p>CRC校验低位</p> </td> </tr></tbody></table></div> <p>                      
图1. Ymodem⼀帧数据的结构</p>
解释:
第⼀字节:1.为SOH,有效数据包⼤⼩为128字节;
2.为STX,有效数据包⼤⼩为1024字节。
第⼆字节:数据包的编号,第⼀帧数据,编号为00。
第三字节:数据包编号的反码,第⼀帧数据,为FF。
有效数据区:根据第⼀个字节的内容,有效数据区⼤⼩为128字节或1024字节。倒数第⼆个字节:CRC校验⾼位。
最后⼀个字节:CRC校验低位。
注:参加CRC校验的只有有效数据区。
(⼀)ST官⽅flash loader 软件串⼝⽅式
烧录ic第⼀帧数据结构:
SOH 00 FF Foo.cNUL[123] CRC(high) CRC(low)
其中:Foo.c为传输⽂件的⽂件名;有效数据区的剩余字节⽤0补⾜。(就是’\0’).腰果去壳机
在超级终端中,在⽂件名后,还有⽂件⼤⼩的信息。结构为:
仓栅车
SOH00FFFoo.c’\0’+⽂件字节数+’ ’+’\0’…CRC(high) CRC(low),字节数后为空格。第⼆帧,有效数据区内存放的是正式的数据。
Ymodem通信协议:略。
喷射装置
2.实现思路
参考资料:
ST官⽅flash loader 软件串⼝⽅式下载HEX
Stm32 Bootloader整理
STM32 IAP 在线升级详解水刺无纺布
STM32串⼝IAP(YModem)

本文发布于:2024-09-20 12:08:41,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/143718.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   数据   字节   存储器   需要   协议   配置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议