高通Wi-Fi BDF文件解包与打包

本文详细介绍了高通BDF文件的解包与打包过程,包括从elf到bin,再到txt的转换,以及从txt回转到bin和elf的步骤。此外,还讲述了如何确认系统使用的BDF文件及高通提供的其他相关工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、高通BDF文件总体说明

二、依赖环境搭建

三、高通BDF解包步骤

步骤一:elf文件 转 bin文件

步骤二:bin文件 转 txt文件

四、高通BDF打包步骤

步骤一:txt文件 转 bin文件

步骤二:bin文件 转 elf文件

五、如何确认系统使用哪个bdf文件

六、其他说明


一、高通BDF文件总体说明

        BDF文件全程是Board Data File,该文件主要用于配置高通Wi-Fi固件的相关参数,如:SAR、CCA阈值、ANI、发射功率等。BDF主要有三类文件:1、解开后的bdwlan.txt文本文件。2、打包之后的bdwlan.bin文件;3、基于bin文件增加elf头部的bdwlan.elf文件。

二、依赖环境搭建

  1. 下载安装arm-eabi编译器,使用其中的arm-none-eabi-objcopy用作添加和删除elf头; 下载连接https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads; 下载完成之后解压并将其bin目录配置到环境变量中;
  2. 下载安装python2.7,工具bin2txt.py和txt2bin.py都是基于python2写的; 下载连接:https://www.python.org/download/releases/2.7/; 下载安装之后按要求配置相应的环境变量;

三、高通BDF解包步骤

步骤一:elf文件 转 bin文件

        首先使用arm-none-eabi-objcopy命令去除elf头部信息得到对应的bin文件。相关命令如下:

arm-none-eabi-objcopy -O binary bdwlan.elf bdwlan.bin

该命令执行之后会在在调用目录下生成bdwlan.bin文件;

步骤二:bin文件 转 txt文件

        bin文件要转换成txt文件需要一个关键的模板文件:NvTpl.txt(该文件可以在高通编译之后的源码中找到)(重点:NvTpl.txt必须与对应的bin文件匹配,不然无法解析出相关的信息),最后调用python脚本bin2txt.py(可以在高通源码中找到),通过以下命令将bin文件转换成txt文件;

python bin2txt.py bdwlan.bin NvTpl.txt

该命令执行完成之后会生成一个NvTpl_new.txt文件,该文件就是解包后生成txt文件;

四、高通BDF打包步骤

步骤一:txt文件 转 bin文件

        首先调用python脚本:txt2bin.py(可以在高通源码中找到),通过执行以下命令将txt文件转换为bin文件。

python txt2bin.py bdwlan.txt bdwlan.bin

该命令执行之后会在调用目录下生成bdwlan.bin文件;

步骤二:bin文件 转 elf文件

        通过调用arm-none-eabi-objcopy命令给bdwlan.bin文件添加elf头部信息从而得到对应的bdwlan.elf文件;相关命令如下所示:

arm-none-eabi-objcopy -I binary -O elf32-littlearm --binary-architecture arm bdwlan.bin bdwlan.o
arm-none-eabi-ld -m armelf bdwlan.o -o bdwlan.elf -z max-page-size=1024 -Tdata 0x1000

命令执行之后就生成的对应的elf文件:bdwlan.efl

五、如何确认系统使用哪个bdf文件

        高通的/vendor/firmware_mnt/目录下有可能有多个bdwlan*.elf文件,如果不确认平台的具体使用的哪个文件,可以在刚开机的时候(注意调用时机,开机比较久后容易导致日志被冲掉)调用以下命令确认。

dmesg | grep -i bdwlan

六、其他说明

        另外高通还有一些其他的工具,如:BDF_txt2elf.exe  BDF_elf2txt2.exe  BDF_diff_merge.exe BDF_nv_merge.exe 等相关的工具,如果大家感兴趣可以留言,后续我整理之后发出来。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值