当前位置: 移动技术网 > 科技>人工智能>嵌入式 > 对STMG474RE Flash 空间大小不同BootLoader方法

对STMG474RE Flash 空间大小不同BootLoader方法

2020年08月11日  | 移动技术网科技  | 我要评论
1.1 FLASH空间足够大,能放下多APP+BootLoader主要针对STMG474RE FLASH空间有512KB状态图状态机系统下发固件RAM验证片内FLASH升级片内FLASH验证1××××2✔×××3✔✔××4✔✔✔×5✔✔✔✔应对方案:#mermaid-svg-zLUlI0eRpii1tM7t .label { font-family: 'trebuchet ms', v

1.1 FLASH空间足够大,能放下多APP+BootLoader

  • 主要针对STMG474RE FLASH空间有512KB

状态图


状态机 系统下发固件 RAM验证 片内FLASH升级 片内FLASH验证
1 × × × ×
2 × × ×
3 × ×
4 ×
5

应对方案:

  1. 构成如上三级结构
  2. 上位机下发固件代码到RAM,在RAM 中进行验证,确保RAM 中内容是正确的,再通过BootLoader将RAM 中的固件数据固定到FLASH中。并且验证数据有效性,确认数据是有效的,切换APP区域。运行新的APP。

FLASH结构图:

BootLoader流程:

  1. 进入BootLoader 读取标志位 选择升级还是等待上位机通讯
  2. 判断 Flash 校验和与EEPROM校验和是否相同 不同则升级
  3. 写入FLASH后读取FLASH校验和 判断写入是否有错误
  4. 若升级失败 记录升级失败的次数 若次数大于N 则擦除存储在EEPROM中的FirmWare和校验和 并置标志位 等待下次在BootLoader中与上位机通讯

2.1针对FLASH放不下两个APP应用,使用外部EEPROM作为暂存区

  • 主要针对STMF334RBT6 FLASH空间仅有64KB

状态图


状态机 系统下发固件 EEPROM验证 片内FLASH升级 片内FLASH验证
1 × × × ×
2 × × ×
3 × ×
4 ×
5

应对方案:

  1. 构成如上三级结构
  2. 上位机下发固件代码到EEPROM,在EEPROM 中进行验证,确保EEPROM 中内容是正确的,再通过BootLoader将EEPROM 中的固件数据下载到FLASH中,EEPROM 在流程中充当了RAM的作用,也能作为冷备份。

Flash结构图

BootLoader流程:

  1. 进入BootLoader 读取标志位 选择升级还是等待上位机通讯
  2. 判断 Flash 校验和与EEPROM校验和是否相同 不同则升级
  3. 写入FLASH后读取FLASH校验和 判断写入是否有错误
  4. 若升级失败 记录升级失败的次数 若次数大于N 则擦除存储在EEPROM中的FirmWare和校验和 并置标志位 等待下次在BootLoader中与上位机通讯

本文地址:https://blog.csdn.net/qq_36142248/article/details/107908657

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网