瑞萨RL78/G23微控制器在线升级功能的应用

电子说

1.2w人已加入

描述

瑞萨RL78/G23微控制器是RL78系列的新一代产品,具有超低功耗(约41uA/MHz)、大flash空间(96K~768K)、32~128Pin,扩展了模拟功能和安全功能,增加了芯片唯一ID,并且兼容之前的RL78开发环境,非常适合应用于家电、物联网、工业控制等领域。

G23系列产品由于Flash空间大,非常适合需要在线升级功能的场合。因为利用flash空间做备份区,在升级失败的时候,退回到上一个版本。比如采用Wifi,蓝牙,5G进行远程升级固件。由于网络传输有延时,比较合适的在线升级办法是先把固件通过网络传输到RL78 G23 MCU的备份区,待CRC检验等确认整个固件完整性后,再烧录到应用区,这样可以防止由于升级失败板子变砖。

本章介绍通过Bluetooth模块进行远程升级固件,利用G23进行固件备份及升级。下面先看系统组成示意图。

mcu

上位机通过App执行发Boot swap命令,让G23 MCU进入boot模式,并且将目标板的旧版本程序进行备份,然后通过串口发数据给蓝牙模块,将New FW传输到G23的应用区,RL78 G23接收完FW数据后进行CRC校验,如果没有问题,则将APP的Boot 和升级程序的boot 对调,运行新版本应用程序。如果数据CRC不对,执行重新烧录或者恢复备份区的数据,直到校验正确再转到普通模式运行。

mcu

在RL78/G23 的升级程序开发中,比较关键的一点是要理解Boot swap功能。Boot swap功能是瑞萨RL78系列MCU的特有功能,专门用于程序的在线升级,这一点是与其它ARM类MCU不同的地方。Boot swap指升级自身的bootloader,要先将原来的bootloader 从boot cluster 0备份boot cluster 1,设定Boot swap标志,升级成功后再重新覆盖 boot cluster 0.

mcu

总 结

利用G23的Flash空间优势, Boot Swap功能及使用IDE自动代码产生器,配合官方的FSL RL78 Type01库,就可以很方便实现在线升级功能。要注意一点是RL78 G23的Data flash 空间读写,要使用另外一个库Data Flash Library。详细的代码,可以点击文末阅读原文在瑞萨官方网站下载。

来源: 瑞萨MCU小百科(作者:刘文广)

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分