【求助】T5 WIFI SDK3.11.5 在移植到BK芯片时(Flash8M),进入ATE模式下执行射频测试命令会导致堆溢出。

Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等


Post Reply
annan
Posts: 1

版本:TuyaOS-3.11.5
平台:T5
硬件:BK7258
问题描述:使用Tuya的该款SDK,在最小 ATE 工程中,仅将 Flash 数据/RF 分区从 4M 切换到 8M 布局后,txevm -e 2 即出现bk_phy_os_malloc 分配的42 字节块尾部越界问题。
是否必现:是,且换板也必现
日志在附件中。

Attachments
问题日志.txt
(9.46 KiB) Downloaded 419 times

Tags:
fangweng
Posts: 24

Re: 【求助】T5 WIFI SDK3.11.5 在移植到BK芯片时(Flash8M),进入ATE模式下执行射频测试命令会导致堆溢出。

结论:这里的「堆溢出」不是内存不够用,而是写越界 —— 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 自动分析生成,如有疑问请回复补充。

Post Reply