构建产物
构建产物
本文档说明 WS63 SDK 编译后生成的文件及结构。
构建命令
## 完整构建
fbb build ws63 --clean
## 仅构建 App
fbb build ws63 --target app
## 仅构建 Bootloader
fbb build ws63 --target bootloader
产物目录结构
构建产物位于 output/ws63/,分为中间产物和最终烧录包:
output/ws63/
├── acore/
│ ├── ws63-liteos-app/ # App 构建中间产物
│ │ ├── ws63-liteos-app.elf # ELF(含调试符号,用于 GDB)
│ │ ├── ws63-liteos-app.bin # 裸二进制(不带签名)
│ │ ├── ws63-liteos-app-sign.bin # 签名固件
│ │ ├── ws63-liteos-app.map # 内存映射表(符号地址)
│ │ ├── ws63-liteos-app.lst # 反汇编清单
│ │ └── ...
│ ├── ws63-flashboot/ # FlashBoot 构建中间产物
│ │ ├── flashboot.elf
│ │ ├── flashboot.bin
│ │ ├── flashboot.map
│ │ └── flashboot.lst
│ ├── boot_bin/ # 引导相关镜像
│ │ ├── flashboot.bin # FlashBoot 镜像
│ │ ├── flashboot_sign.bin # 带签名的 FlashBoot
│ │ ├── ssb.bin # Secure Secondary Boot 镜像
│ │ └── efuse_cfg.bin # eFuse 配置
│ ├── nv_bin/ # NV 数据
│ │ ├── ws63_all_nv.bin # 全量 NV 数据
│ │ └── ws63_all_nv_factory.bin # 出厂 NV 数据
│ └── param_bin/ # 分区参数
│ └── params.bin # 分区表
└── fwpkg/
└── ws63-liteos-app/
├── ws63-liteos-app_all.fwpkg # 全量烧录包(量产)
└── ws63-liteos-app_load_only.fwpkg # 仅加载区烧录包
产物说明
ELF 文件(.elf)
- 包含完整调试符号和段信息
- 用于 GDB 调试和崩溃分析(配合
.map和.lst定位函数和行号) - 不可直接烧录,需通过
objcopy提取.bin
固件镜像(.bin)
- 从 ELF 提取的裸二进制
ws63-liteos-app.bin为未签名版本,-sign.bin为带签名版本- 镜像头部包含 magic、版本号、CRC、签名信息
内存映射表(.map)
- 记录所有函数、全局变量在内存中的地址
- 崩溃定位时配合 PC/LR 寄存器值反查函数名
反汇编清单(.lst)
- 源码与汇编对照,用于深度调试
最终烧录包(.fwpkg)
- 实际烧写到设备的文件,包含 Bootloader + App + NV + 分区表等全部内容
_all.fwpkg:全量包,包含所有分区(量产烧录用)_load_only.fwpkg:仅加载区,不含 NV 等数据区(开发调试用)
构建产物的分组对应关系
source: application/ws63/ → output: ws63-liteos-app/ (App)
source: bootloader/flashboot/ → output: ws63-flashboot/ + boot_bin/ (FlashBoot)
source: build/config/.../nv/ → output: nv_bin/ (NV 配置)
source: build/config/.../param_sector/ → output: param_bin/ (分区表)
↓ 打包
output: fwpkg/ (*.fwpkg)