关于SUOTA_MAX_IMAGE_SIZE

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
nigelyang
离线
最后看到:1周6天前
加入:2018-03-20 08:24
关于SUOTA_MAX_IMAGE_SIZE

嗨,对话框中,

我的代码大小(suota)大约是320千字节,我每次都失败了suota。我发现SUOTA_MAX_IMAGE_SIZE设置为(236 * 1024)。我可以改变参数吗?其他相关参数需要一起设置吗?它有局限性吗?

谢谢你的帮助

设备:
PM_Dialog
离线
最后看到:3天3小时前
工作人员
加入:2018-02-08 11:03
嗨nigelyang,

嗨nigelyang,

SUOTA_MAX_IMAGE_SIZE宏定义了在启用SUOTA特性时应该考虑的最大图像大小。请注意,除了存储的实际固件更新,一个头被放在上面。如果两个头的总大小+固件更新大于我们预先定义的大小(236 * 1024),那么一个错误识别将发生。要这样做,如果您想要存储一个大于预定义大小(236*1024)的固件更新,那么您应该相应地更改SUOTA_MAX_IMAGE_SIZE宏的值。

固件更新将存储在QSPI Flash中,更具体地说,存储在NVMS_FW_UPDATE_PART部分中。SDK包含3个不同的预定义分区表(1M、2M、521K),分别适用于SUOTA和非SUOTA保护。选择取决于闪光灯的大小。

让我们以pxp_reporter项目为例。对于SUOTA配置,使用1M的分区表(#define USE_PARTITION_TABLE_1MB_WITH_SUOTA)。使用SUOTA查看1M的分区表,你会看到以下条目:

PARTITION2(0x090000, 0x051000, NVMS_FW_UPDATE_PART, 0)

第一个参数确定分区的偏移地址,第二个参数确定分区的大小。分析0x051000 = 324 * 1024。这意味着宏可以取的最大值(在本例中)是#define SUOTA_MAX_IMAGE_SIZE(324*1024)。因此,在您的情况下,您必须相应地更改SUOTA_MAX_IMAGE_SIZE宏和NVMS_FW_UPDATE_PART条目。NVMS_FW_UPDATE_PART分区表项的变化意味着整个分区表的变化。

谢谢,PM_Dialog