OTA地址计算

徽信管理团队 · 385次点击 · 11个月前

理论OTA的时候,升级地址确定如下:以我们6621系列为例:
flash结构(参考SDK种在线文档上的介绍)如下:

image.png


所以我们在升级的时候,除了自己本地正在运行的app1,还有将要升级的app2。还有自己程序自己在指定地址存储的一些自定义数据(根据客户自己决定)。 所以,我们预留flash的空间要做如下计算。这里以512K的flash为例:
512(总的flash大小)- 12(MBR)- 16(CFG区+SYS区) - 20(客户存储自定义数据所用空间)= app1+app2 = 2*app1

所以得到app1的大小是:232K
那么升级app2的起始地址就是:MBR+APP1 = 12 + 232 = 244K = 0x3D000.

总结:客户开发的时候先找到对应芯片的flash内存分布图,然后按照上面的公式进行计算,总的来说就是拿总的flash大小,减去芯片已用大小,减去客户自定义内存大小,剩下的除以2就是app的大小,app大小加上flash前端已用大小,就是我们ota代码存放的位置。

被收藏 1  ∙  1 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站