请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L452RE的差分升级能力构建

[复制链接]
Canly 发布时间:2019-9-16 16:26
本案例将展示,在STM32L452RE这颗MCU上如何将艾拉比的差分升级功能,移植入STM32L452RE的bootloader中,从而使STM32L452RE能够拥有差分升级的能力。
: [& e; G: r9 P! Q$ Z% J
差分升级的原理:

( [) @7 _3 _* k9 E
差分算法的基本思想是求解新文件和老文件的差的最优解,并使用压缩算法生成差分包;升级时就可以在老文件的基础上应用差分包进行升级。用形象的图像表达如下:
11.png
艾拉比一直致力于差分算法的研究和开发,并且独创了一种对差分中间数据混合打包压缩的技术。目前,艾拉比在该领域已经有三项国家发明专利。
( F+ F. E0 @- i# G2 z" U, r
艾拉比算法特点:
: R2 K" T+ H) A% r& g6 T; }
1. 自适应确定差分方向。
2. 对于生成的中间数据使用艾拉比的“整数数组的混合打包压缩技术”。
3. 差分包体积小,比公开算法得到的差分包小30~90%。
4. 升级速度快,升级的速度是公开算法的2至3倍。
5. 资源消耗少,Lite版算法最低要求RAM 2KB。

+ F) T9 e! u$ i: b
代码移植:

$ r7 G  t6 b* W/ A. e" P: H# J  U% O
我们通过STM32CubeMX生成STM32L452RE-Nucelo这个工程代码,然后我们在KEIL中打开这个工程。
1 Z/ t( \4 M. R: E0 n6 @. l
1.C文件移植:
22.jpg
在STM32L452RE-Nucelo工程目录下新建Abup/HAL文件目录,abup_bl_main.c,adups_bl_main.c,adups_bl_flash.c,abup_hal_flash.c,abup_hal_uart.cabup_hal.c
+ x; g/ \" f- {
2. 库文件移植:
33.jpg

* N% T8 `. V  x( h2 ^( O! v$ n
1)添加默认库;2)选择库的版本;3)选择默认库脚本。

7 \# j$ b. h: L9 a  E8 m
3. 头文件路径添加:
将..\..\Abup\inc,..\..\Abup\Wosun\inc,..\..\Abup\Wosun\inc\lzma,..\..\Abup\lusun\inc, ..\..\Abup\inc\BL头文件路径加入项目工程头文件路径中。
44.png
( Z: r7 r) n( I) n
4. 代码的修改:
main.c中添加如下代码
55.png
* {2 |1 F& r. z/ d0 K
5. 代码空间的配置:
66.png
配置需同ABUP_FLASH_BASE_ADDR、ABUP_BL_SIZE等宏一致。
( m; v: ?. e( G: F; N
差分包的制作:
! x9 |! U6 S" n, y
在代码移植完成后,我们需要制作差分包,并验证这个差分包是否能够升级成功。我们使用的是艾拉比的在线差分工作来这个差分包

) i& n3 N  I% K3 V% B, p
1.在KEIL中配置自动生成制作差分包使用的软件包
77.png
abup.bat参数说明:第一个是生成bin工具目录,第二个是压缩工具目录,第三个是编译文件夹,生成压缩包名为:版本号_日期_时间.zip
# ]- e4 U4 k8 F. V* q: T
2.登录到艾拉比的差分工具,将目标版本和源版本两个软件包提交给查分工具,制作生成差分包。
88.png

9 z% ?" a  n9 K) T% F! H+ f
验证差分包:
0 N8 \" ~1 T! u5 M" Y" U5 c( j
在差分包制作成功后,我们将差分包通过设备的联网能力下载到设备上,下载完成后软重启设备,进入Bootloader开始升级。
99.jpg
10.jpg

% ]+ w$ B6 {6 m, L+ p
同时我们也可以在串口工具中看到整个Bootloader运行升级程序的过程。

& T$ n  v! m0 q/ t( p: d
111.png
0 p8 p& I5 x6 I% E+ k& H# s& f2 S
当串口工具中打印出Update Suss后,表明升级成功。通过一系列工作我们也成功的为STM32L452RE构建了差分升级能力。
5 t5 a  W4 ^1 V1 \* T) D+ ^% e
& |0 E( \; R* d/ ?7 n: |8 N4 z
收藏 评论0 发布时间:2019-9-16 16:26

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版