Edit online

常见问题

5 Dec 2024
Read time: 2 minute(s)

如何制作 OTA 升级包?

如何裁剪分区?

剪裁分区是指通过修改 image_cfg.json 文件进行分区调整。

根据实际 OTA 需求裁剪分区,例如只需升级 OS,则可以删除 RODATA 与 DATA 的备份分区。
"spi-nand": { // Device, The name should be the same with string in image:info:media:type
    "size": "128m", // Size of SPI NAND
    "partitions": {
        "spl":      { "size": "1m" },
        "env":      { "size": "256k" },
        "env_r":    { "size": "256k" },
        "os":       { "size": "4m" },
        "os_r":     { "size": "4m" },
        "rodata":   { "size": "12m" },
        "rodata_r": { "size": "12m" },
        "data": {
            "size": "40m",
            "nftl": { // Volume in NFTL device
                "data": { "size": "-" },
            },
        },
        "data_r": {
            "size": "40m",
            "nftl": { // Volume in NFTL device
                "data": { "size": "-" },
            },
        },
    },
},
注:
  1. 各分区的大小总和不能超过总的 FLASH 大小。

  2. _r 的分区为备份分区,即 B 分区。若不需要升级 B 分区,可将对应 _r 分区删除。

  3. ota-subimgs.cfg 中对应文件不应该被打包,需整行删除。

1. 剪裁 OTA 分区对照表
名称 image_cfg.json 分区名称 ota-subimgs.cfg 打包文件名称
系统 os_r [file]dxx_os.itb:os;
只读文件系统 rodata_r [file]rodata.fatfs:rodata;
读写文件系统 data_r [file]data.fatfs:blk_data;