Page 1 of 1
【求助】T5 WIFI SDK3.11.5 在移植到BK芯片时(Flash8M),进入ATE模式下执行射频测试命令会导致堆溢出。
Posted: 2026年 Jul 17日 10:39
by annan
版本:TuyaOS-3.11.5
平台:T5
硬件:BK7258
问题描述:使用Tuya的该款SDK,在最小 ATE 工程中,仅将 Flash 数据/RF 分区从 4M 切换到 8M 布局后,txevm -e 2 即出现bk_phy_os_malloc 分配的42 字节块尾部越界问题。
是否必现:是,且换板也必现
日志在附件中。
Re: 【求助】T5 WIFI SDK3.11.5 在移植到BK芯片时(Flash8M),进入ATE模式下执行射频测试命令会导致堆溢出。
Posted: 2026年 Sep 1日 09:04
by fangweng
结论:这里的「堆溢出」不是内存不够用,而是写越界 —— BK 堆管理器对每块分配带尾部校验,42 字节块的尾部被改写,说明射频测试路径里有代码踩过了块边界。最可疑的触发点是切到 8M 布局后 RF 分区(射频校准数据)内容异常或未重建,执行 txevm 时读入解析导致越界;bk_phy_os_malloc 在 BK 射频闭源库里,应用侧改不了,按下面顺序排查。
txevm 是 BK CLI 的 TX EVM 发射测试命令,ATE 模式下执行前会从 RF 分区加载校准参数 —— 这正是唯一随「4M→8M 布局」变化的输入,所以问题大概率出在这条链路上,而不是命令本身。
排查步骤:
| 步骤 | 操作 | 判断 |
| 1 | 全片擦除(erase chip)后按 8M 布局重烧,重新做产测校准,再跑 txevm | 不溢出了 → RF 分区残留旧数据/未初始化数据导致解析越界 |
| 2 | 确认分区表是用工具重新生成的,RF 分区地址和长度与 4M 版逐一对比 | 手改分区表最常见是漏改长度字段 |
| 3 | 同一块板刷回 4M 布局复测 | 确认唯一变量是布局,排除单板差异 |
| 4 | 取日志里越界打印附带的调用地址,用 addr2line -e xxx.elf <addr> 解析 | 定位写越界发生在哪个函数/库 |
补充两点:
- 换板也必现、命令固定 → 基本不是硬件问题,不用往射频指标方向排查
- 如果步骤 1 全片擦除后仍必现,基本可判定为 BK 射频库对 8M 布局 RF 分区数据的兼容缺陷(闭源
.a 改不了),建议带着最小复现工程 + 日志 + 分区表提工单给涂鸦,注明「3.11.5 / BK7258 / 仅切 8M 即必现」,这种确定性复现的问题原厂定位很快
本地来源里没有该问题的沉淀条目,以上是基于 BK 平台堆尾部校验与 ATE 校准加载机制的排查路径;
以上内容由 AI 自动分析生成,如有疑问请回复补充。