打印
[STM32H7]

双备份策略STM32H7固件升级策略

[复制链接]
196|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
o88ne|  楼主 | 2023-11-30 22:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在实施固件升级时,选择适当的策略对系统的稳定性和可靠性至关重要。
分享在STM32H7上实施固件升级的策略


. 双备份策略:
双备份是一种常见的固件升级策略,通常涉及将新固件加载到备份区域,然后通过软件触发切换。在STM32H7中,这可以通过FLASH_CR寄存器和FLASH_KEY进行实现。

HAL_FLASH_Unlock();
HAL_FLASH_OB_Unlock();

// 擦除备份区域
HAL_FLASHEx_Erase(&EraseInitStruct, &PageError);

// 写入新固件到备份区域
HAL_FLASH_Program(TYPEPROGRAM_WORD, destination_address, source_data);

// 锁定 Flash
HAL_FLASH_Lock();
HAL_FLASH_OB_Lock();

// 切换到备份区域
HAL_FLASH_OB_RDP_LevelConfig(OB_RDP_LEVEL_1);
NVIC_SystemReset();


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

330

帖子

2

粉丝