概述
本文结合当前主流主机厂的升级规范来介绍不用MCU升级方案及其优缺点,除了本文提及的方案外还有很多其他的升级方案,升级方案的设定要考虑到客户需求以及硬件资源等因素。
目前主流的客户需求,要求存储区划分要有Boot段、Config段、App A分区和App B分区。其中Boot端需要满足客户的Bootloader升级要求,Config端用于存储Boot和App版本以及一些刷写后需要保存的一些系统状态和flags。App A/B分区主要用于升级切换、回滚等操作。
不同设计方案及其优缺点
利用芯片 A/B Swap方案
芯片 A/B Swap介绍
比如英飞凌TC397就提供A/B Swap机制,通过对硬件的操作完成相关分区的切换。当我们使能Swap功能后,通过寄存器的切换,不改变写入pflash时的地址,但能够使读取pflash时的地址做相应的变动。
利用芯片A/B Swap的升级方案
首先将MCU分为A/B分区,用来支持升级回滚,最大限度地保留系统功能。
其次由于客户规范对升级流程做了严格的规定,因此每个分区必须保留Boot部分。
因此整个存储区划分结构如下:
本文探讨了MCU的多种升级方案,包括芯片A/B Swap、单Boot+A/B分区、双Boot+A/B分区及单Boot+单App等。各方案优缺点并举,如A/B Swap支持硬件切换和回滚,但需烧录两个Boot;单Boot+A/B分区简化设计,但需管理多个hex文件。选择最佳方案需考虑客户需求和硬件资源。
订阅专栏 解锁全文
1880

被折叠的 条评论
为什么被折叠?



