Page 1 of 1

【求助】【TuyaOS OS】使用蓝牙 Mesh 设备开发包 TuyaOS 版本3.10.0 TLSR825X SDK中的README :"LZMA 分支的 SDK 代码区相对之前版本会增加 32K 可用 flash 空间"与实际不符

Posted: 2024年 Jul 24日 16:28
by 勇敢牛牛不怕代码难

使用蓝牙 Mesh 设备开发包 TuyaOS 版本3.10.0 TLSR825X SDK中的README :"LZMA 分支的 SDK 代码区相对之前版本会增加 32K 可用 flash 空间"
使用 tuyaos_demo_mesh_node --TUYA_SDK_TEST 为 0 编译之后 153788 并没有增加32K可用的FLASH空间,这个32K flash 空间是体现在哪里?

我记得以前的 tuyaos_demo_mesh_node 编译之后只有14xxxx,现在的版本似乎更大了


Re: 【求助】【TuyaOS OS】使用蓝牙 Mesh 设备开发包 TuyaOS 版本3.10.0 TLSR825X SDK中的README :"LZMA 分支的 SDK 代码区相对之前版本会增加 32K 可用 flash 空间"与实际

Posted: 2024年 Jul 24日 16:35
by joey_nobug

3.8.x 之前 flash map 采用跟 tlsr825x 原厂一样的机制,即 0x00000 - 0x2FFFF 与 0x40000 - 0x6FFFF 双区切换运行。单个固件的最大限制为 0x30000 即 192KB.
TuyaOS 3.9.0 之后,增加了 boot 负责启动与 OTA 固件解压与更新,boot 占用 0x00000 - 0x08FFF 即为 36K,固件存储区域为 0x09000 - 0x40FFF,实际大小为 224K.
你所看到的固件大小变大,一是因为集成了 boot,二是因为 sdk 更新与需求迭代增加了部分代码。


Re: 【求助】【TuyaOS OS】使用蓝牙 Mesh 设备开发包 TuyaOS 版本3.10.0 TLSR825X SDK中的README :"LZMA 分支的 SDK 代码区相对之前版本会增加 32K 可用 flash 空间"与实际

Posted: 2024年 Jul 24日 16:44
by 勇敢牛牛不怕代码难
joey_nobug 2024年 Jul 24日 16:35

3.8.x 之前 flash map 采用跟 tlsr825x 原厂一样的机制,即 0x00000 - 0x2FFFF 与 0x40000 - 0x6FFFF 双区切换运行。单个固件的最大限制为 0x30000 即 192KB.
TuyaOS 3.9.0 之后,增加了 boot 负责启动与 OTA 固件解压与更新,boot 占用 0x00000 - 0x08FFF 即为 36K,固件存储区域为 0x09000 - 0x40FFF,实际大小为 224K.
你所看到的固件大小变大,一是因为集成了 boot,二是因为 sdk 更新与需求迭代增加了部分代码。

3.9.0之后的处理方式变了,224K ,那用户实际可以使用的是224-150(153788)= 74 K 我这样理解对吗?


Re: 【求助】【TuyaOS OS】使用蓝牙 Mesh 设备开发包 TuyaOS 版本3.10.0 TLSR825X SDK中的README :"LZMA 分支的 SDK 代码区相对之前版本会增加 32K 可用 flash 空间"与实际

Posted: 2024年 Jul 24日 16:52
by joey_nobug
勇敢牛牛不怕代码难 2024年 Jul 24日 16:44
joey_nobug 2024年 Jul 24日 16:35

3.8.x 之前 flash map 采用跟 tlsr825x 原厂一样的机制,即 0x00000 - 0x2FFFF 与 0x40000 - 0x6FFFF 双区切换运行。单个固件的最大限制为 0x30000 即 192KB.
TuyaOS 3.9.0 之后,增加了 boot 负责启动与 OTA 固件解压与更新,boot 占用 0x00000 - 0x08FFF 即为 36K,固件存储区域为 0x09000 - 0x40FFF,实际大小为 224K.
你所看到的固件大小变大,一是因为集成了 boot,二是因为 sdk 更新与需求迭代增加了部分代码。

3.9.0之后的处理方式变了,224K ,那用户实际可以使用的是224-150(153788)= 74 K 我这样理解对吗?

如果你这里 153788 指的是不带 boot 的固件大小的话,那是这样计算的。
_output 文件夹中 包含的固件为生产固件与 OTA 固件(UG),生产固件包含 boot,OTA 固件则为压缩后的固件。不包含 Boot 的固件可以在 .log 文件夹内查看 output.bin 。