fix(output):修改默认输出名为APP文件名增加_BL标识
This commit is contained in:
@@ -35,16 +35,16 @@ python merge_bin.py <bootloader.bin> <app.bin> [-o 输出文件] [--app-addr 地
|
||||
|------|:----:|--------|------|
|
||||
| `bootloader` | ✅ | — | Bootloader 的 .bin 文件路径 |
|
||||
| `app` | ✅ | — | Application 的 .bin 文件路径 |
|
||||
| `-o, --output` | ❌ | `merged.bin` | 输出文件路径 |
|
||||
| `-o, --output` | ❌ | `<APP文件名>_BL.bin` | 输出文件路径 |
|
||||
| `--app-addr` | ❌ | `0x08002000` | APP 在 Flash 中的起始地址 |
|
||||
| `--flag-addr` | ❌ | `0x0800FFFC` | APP 有效标志位的地址 |
|
||||
|
||||
### 示例
|
||||
|
||||
**基本用法**(使用默认地址):
|
||||
**基本用法**(使用默认地址,输出自动命名为 `app_BL.bin`):
|
||||
|
||||
```bash
|
||||
python merge_bin.py bootloader.bin app.bin -o merged.bin
|
||||
python merge_bin.py bootloader.bin app.bin
|
||||
```
|
||||
|
||||
**指定自定义地址**:
|
||||
@@ -53,19 +53,27 @@ python merge_bin.py bootloader.bin app.bin -o merged.bin
|
||||
python merge_bin.py bootloader.bin app.bin --app-addr 0x08002000 --flag-addr 0x0800FFFC -o merged.bin
|
||||
```
|
||||
|
||||
**实际项目示例**:
|
||||
**实际项目示例**(默认输出为 `CeramixNano-MB_V1.0.9_APP_2026-03-23_BL.bin`):
|
||||
|
||||
```bash
|
||||
python merge_bin.py \
|
||||
gd32e23x_V1.0.0_bootloader_2026-03-23.bin \
|
||||
CeramixNano-MB_V1.0.9_APP_2026-03-23.bin
|
||||
```
|
||||
|
||||
**指定输出文件名**:
|
||||
|
||||
```bash
|
||||
python merge_bin.py \
|
||||
gd32e23x_V1.0.0_bootloader_2026-03-23.bin \
|
||||
CeramixNano-MB_V1.0.9_APP_2026-03-23.bin \
|
||||
-o CeramixNano-MB_V1.0.9_APP_BL_2026-03-23.bin
|
||||
-o custom_output.bin
|
||||
```
|
||||
|
||||
### 输出示例
|
||||
|
||||
```
|
||||
合成完成: merged.bin
|
||||
合成完成: CeramixNano-MB_V1.0.9_APP_2026-03-23_BL.bin
|
||||
Bootloader : 3272 字节 @ 0x08000000
|
||||
Application: 25600 字节 @ 0x08002000
|
||||
Flag : 0xEEEE @ 0x0800FFFC
|
||||
|
||||
+5
-1
@@ -85,11 +85,15 @@ def main():
|
||||
parser = argparse.ArgumentParser(description="合成 GD32E230 初始烧录固件 (bootloader + app)")
|
||||
parser.add_argument("bootloader", help="Bootloader bin 文件路径")
|
||||
parser.add_argument("app", help="Application bin 文件路径")
|
||||
parser.add_argument("-o", "--output", default="merged.bin", help="输出文件路径 (默认: merged.bin)")
|
||||
parser.add_argument("-o", "--output", default=None, help="输出文件路径 (默认: APP文件名_BL.bin)")
|
||||
parser.add_argument("--app-addr", default="0x08002000", help="APP 起始地址 (默认: 0x08002000)")
|
||||
parser.add_argument("--flag-addr", default="0x0800FFFC", help="标志位地址 (默认: 0x0800FFFC)")
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.output is None:
|
||||
base, ext = os.path.splitext(os.path.basename(args.app))
|
||||
args.output = f"{base}_BL{ext}"
|
||||
|
||||
app_addr = int(args.app_addr, 0)
|
||||
flag_addr = int(args.flag_addr, 0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user