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

STM32L452RE的差分升级能力构建

[复制链接]
Canly 发布时间:2019-9-16 16:26
本案例将展示,在STM32L452RE这颗MCU上如何将艾拉比的差分升级功能,移植入STM32L452RE的bootloader中,从而使STM32L452RE能够拥有差分升级的能力。

# K* m: J5 G* {( T' j8 B9 \
差分升级的原理:
+ T! F: B4 v, e" d5 Q
差分算法的基本思想是求解新文件和老文件的差的最优解,并使用压缩算法生成差分包;升级时就可以在老文件的基础上应用差分包进行升级。用形象的图像表达如下:
11.png
艾拉比一直致力于差分算法的研究和开发,并且独创了一种对差分中间数据混合打包压缩的技术。目前,艾拉比在该领域已经有三项国家发明专利。
8 c* L( T5 I! T; l! e
艾拉比算法特点:

# w% `: x* w1 j& U' ?% j: j; A+ \
1. 自适应确定差分方向。
2. 对于生成的中间数据使用艾拉比的“整数数组的混合打包压缩技术”。
3. 差分包体积小,比公开算法得到的差分包小30~90%。
4. 升级速度快,升级的速度是公开算法的2至3倍。
5. 资源消耗少,Lite版算法最低要求RAM 2KB。
$ f$ T2 ~7 a, i
代码移植:

& J' A0 g: a* U) d, n9 ^# b
我们通过STM32CubeMX生成STM32L452RE-Nucelo这个工程代码,然后我们在KEIL中打开这个工程。

& I, d7 f. j# a- w) ^6 o8 a
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

) q4 \& h* P" y" ~& Q( c8 S
2. 库文件移植:
33.jpg
, h- E5 w6 `2 Y( \3 C; @2 a; v
1)添加默认库;2)选择库的版本;3)选择默认库脚本。
7 J9 c# |" m4 i- O7 k& b7 U
3. 头文件路径添加:
将..\..\Abup\inc,..\..\Abup\Wosun\inc,..\..\Abup\Wosun\inc\lzma,..\..\Abup\lusun\inc, ..\..\Abup\inc\BL头文件路径加入项目工程头文件路径中。
44.png

: h8 J8 F  Z  W. `8 Q2 L
4. 代码的修改:
main.c中添加如下代码
55.png
* k' e6 T% m# ~% f
5. 代码空间的配置:
66.png
配置需同ABUP_FLASH_BASE_ADDR、ABUP_BL_SIZE等宏一致。
4 s5 M9 t& m& D! N# ^' x+ c
差分包的制作:

4 o/ h4 O5 Z5 v* x/ `( x9 K( q
在代码移植完成后,我们需要制作差分包,并验证这个差分包是否能够升级成功。我们使用的是艾拉比的在线差分工作来这个差分包
/ V3 N! \: o0 f! V$ ?# l
1.在KEIL中配置自动生成制作差分包使用的软件包
77.png
abup.bat参数说明:第一个是生成bin工具目录,第二个是压缩工具目录,第三个是编译文件夹,生成压缩包名为:版本号_日期_时间.zip
! k) Q3 T" C! j$ X  `% ?3 G; ~
2.登录到艾拉比的差分工具,将目标版本和源版本两个软件包提交给查分工具,制作生成差分包。
88.png
) B" p/ a5 ?, Z/ A: B0 q; d5 ~
验证差分包:

% t5 }4 F) q& h; e* ^' f
在差分包制作成功后,我们将差分包通过设备的联网能力下载到设备上,下载完成后软重启设备,进入Bootloader开始升级。
99.jpg
10.jpg

" k) f3 E$ w# t* k9 E# E" f- Y& h
同时我们也可以在串口工具中看到整个Bootloader运行升级程序的过程。
  t: \# }# k2 G/ M9 Y- L8 Q! y
111.png

! p) h1 S, f3 I
当串口工具中打印出Update Suss后,表明升级成功。通过一系列工作我们也成功的为STM32L452RE构建了差分升级能力。

! R6 Z& e7 w( ~& k. q% Z" [' K( E: B+ _2 @+ I# |
赞 收藏 评论0 发布时间:2019-9-16 16:26

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版