Edit online

固件编译

5 Dec 2024
Read time: 1 minute(s)
本节介绍了编译固件的常规流程。
  1. 准备编译所需环境:
    • 操作系统:推荐使用 Ubuntu 20.04 LTS 版本,但其他 Linux 发行版也可以使用,只是安装软件包的依赖和版本可能不同。

    • 依赖安装:确保系统已经安装了必要的依赖工具,如 gitgccmake

  2. 项目配置与编译

    选择以下任意一种编译和配置命令方式,对项目进行配置和编译:
    • 常规命令

      例如,执行 make list 后输出结果示例如下:
      make list
      make d211_demo128_nand_defconfig
      make
      
    • OneStep 加速命令
      例如,执行 lunch project_file 后输出结果示例如下:
      source tools/onestep.sh                --> 一步直达命令
      lunch d211_demo128_nand_defconfig      --> 选择 d211_demo128_nand_defconfig
      m                                      --> 编译打包
  3. 生成固件。

    不同的存储介质,生成的固件名称和路径会有所不同:
    • 如果开发板使用的是 eMMC (eNand),则编译后的固件名称为 d211_demo_v1.0.0.img
      Image file is generated: /xxx/d211/luban/output/d211_demo/images/d211_demo_v1.0.0.img
    • 如果开发板使用的是 SPINAND,则编译后会生成固件的名称为 d213_xxx_page_2k_block_128k_v1.0.0.img

      如果开发板的 SPINAND 的 page size 为 4K 大小,可在 target/d211/xxx/image_cfg.json 文件中配置 page size 并编译出 d211_xxx_page_4k_block_256k_v1.0.0.img 文件。

      "info": { // Header information about image
          "platform": "d211",
          "product": "demo128_nand",
          "version": "1.0.0",
          "media": {
              "type": "spi-nand",
              "device_id": 0,
              "array_organization": [
              //      { "page": "4k", "block": "256k" },
                      { "page": "2k", "block": "128k" },
              ],
          }
      },
    • 如果开发板使用的是 SPINOR,则编译后会生成固件的名称为 d211_xxx_nor_v1.0.0.img
      Image file is generated: /xxx/d211/develop/output/d211_demo88_nor/images/d211_demo88_nor_v1.0.0.img