- Add extract_firmware.sh for extracting firmware components from merged bins - Add merge_2323_firmware.sh for merging PA768 updater, firmware and IUM data - Add split_and_merge.sh for splitting firmware and creating 40W firmware - Add comprehensive README.md with usage documentation and examples
43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# CP02 固件处理工具
|
|
|
|
## 文件说明
|
|
|
|
### split_and_merge.sh
|
|
- **功能**: 切分固件文件并与 updater.bin 合并,用于制作 40W 固件
|
|
- **用法**: `./split_and_merge.sh <待切分文件> <updater.bin路径> <输出文件名>`
|
|
- **描述**:
|
|
- 将输入固件文件切分为前面部分和最后256字节
|
|
- 调用合并脚本生成最终固件
|
|
- 自动删除最后1字节并检查文件大小限制
|
|
|
|
### merge_2323_firmware.sh
|
|
- **功能**: 合并 PA768 updater、2323固件和IUM数据为单一固件文件
|
|
- **用法**: `./merge_2323_firmware.sh -u <updater> -f <firmware> -i <ium> -o <output>`
|
|
- **描述**:
|
|
- 创建基础0xFF填充文件
|
|
- 在指定偏移位置写入各组件
|
|
- 生成固件元数据
|
|
- 输出完整内存布局信息
|
|
|
|
### extract_firmware.sh
|
|
- **功能**: 从合并的 bin 文件中提取 firmware、IUM 和 metadata
|
|
- **用法**: `./extract_firmware.sh <merged_bin> [output_prefix]`
|
|
- **描述**:
|
|
- 从固定偏移位置提取 firmware (0x04000)
|
|
- 提取 IUM 数据 (0x1dc00, 256 bytes)
|
|
- 解析并生成 metadata.json (blocks 和 last_block_size)
|
|
- 如未指定前缀,自动使用原文件名
|
|
|
|
## 使用示例
|
|
|
|
```bash
|
|
# 切分并合并固件
|
|
./split_and_merge.sh /Users/ching/Library/Containers/com.tencent.xinWeChat/Data/Documents/xwechat_files/looching_5217/msg/attach/61f8147fd472041d44f609e3618e827c/2025-12/Rec/ff6a18f4ab8db2a9/F/3/SW2303P_B_V1.0_00_D1F6_UFCS.bin ~/Downloads/固件/PA503_Updater.bin 40_ufcs2.bin
|
|
|
|
# 直接合并固件组件
|
|
./merge_2323_firmware.sh -u PA768_Updater.bin -f 2323_firmware.bin -i 2323_ium.bin -o merged.bin
|
|
|
|
# 提取固件组件
|
|
./extract_firmware.sh 40_ufcs2.bin firmware # 指定输出前缀
|
|
./extract_firmware.sh merged.bin # 使用原文件名作为前缀
|
|
``` |