MCUXpresso SDK Documentation

Generate a flash.bin

Generate a flash.bin#

  1. Get the basic images and the imx-mkimage source repository from corresponding Linux BSP release. These below basic images can to be put into imx-mkimage/iMX94:

    - oei-m33-ddr.bin

    - m33_image.bin    m33_image-mx94alt.bin: this image is generated by the command:    make config=mx94alt all;    m33_image-mx94evk.bin: this image is generated by the command:    make config=mx94evk all`;

    - m70_image.bin (demo binary name for cortex-m7 core0 in M7MIX0)

    - m71_image.bin (demo binary name for cortex-m7 core1 in M7MIX1)

    - m33s_image.bin (demo binary name for cortex-m33 core1 in NETCMIX)

    - <lpddr type name>_dmem_qb_v202409.bin(lpddr type name: lpddr5)

    - <lpddr type name>_dmem_v202409.bin

    - <lpddr type name>_imem_qb_v202409.bin

    - <lpddr type name>_imem_v202409.bin

    - u-boot.bin

    - u-boot-spl.bin

    - bl31.bin

    - tee.bin

    - mx943a0-ahab-container.img

    Note:

    • mx94evk.cfg for m33_image.bin of System Manager is used for examples rpmsg_lite_pingpong_rtos_linux_remote, rpmsg_lite_str_echo_rtos_remote.

    • mx94alt.cfg for m33_image.bin of System Manager is used for almost other examples.

  2. Copy the binary built by ARMGCC/IAR into imx-mkimage/iMX94 and rename the file name to m70_image.bin or m71_image.bin or m33s_image.bin(depending on the demo binary).

  3. Generate flash.bin.

    • make SOC=iMX94 OEI=YES flash_all LPDDR_TYPE=lpddr5 (Boot up Cortex-A cores and Cortex-M cores[cortex-m33 core1, cortex-m7 core0, cortex-m7 core1])

    or
    
    • make SOC=iMX94 OEI=YES flash_m33s_m70_m71 LPDDR_TYPE=lpddr5 (Boot up Cortex-M cores[cortex-m33 core1, cortex-m7 core0, cortex-m7 core1])

    Note:

    • For IMX943 OrangeBox, use the following command:

      • make SOC=iMX94 OEI=YES flash_m33s_m70_m71 LPDDR_TYPE=lpddr5

      or

      • make SOC=iMX94 OEI=YES flash_all LPDDR_TYPE=lpddr5

    • Use the below valid combination of demos to avoid resource conflict:

      • Any demo on cm33_core1, hello_world demo on cm7 core0 and cm7 core1

      • Any demo on cm7_core0, hello_world demo on cm33 core1 and cm7 core1

      • Any demo on cm7_core1, hello_world demo on cm33 core1 and cm7 core0

  4. Burn flash.bin to MicroSD/eMMC at 32 K(0x8000) offset with dd or HxD or UUU and then plug the MicroSD card to the board.

    For example:

    • Burn flash.bin into Micro SD card with dd

      dd if=flash.bin of=/dev/sdh bs=1k seek=32 && sync

    • Burn flash.bin into SD/eMMC with UUU

      1. Connect the USB Type-C port to the PC through a USB cable. It is used for downloading the firmware of the board.

      2. Switch to the serial downloader mode(USB1) by setting SW10[1:4] = x001. The used boot core is cortex-m33 core0.

      3. Burn flash.bin with uuu using one of the following commands:

        For emmc, use: uuu -b emmc imx-boot-imx943-orangebox-sd.bin-flash_all flash.bin

        For sd, use: uuu -b sd imx-boot-imx943-orangebox-sd.bin-flash_all flash.bin

      Note:

      • flash.bin. The flash.bin is generated by the third step(Generate flash.bin).

  5. Change the boot mode to SW10[1:4] = x011 for sd boot and SW10[1:4] = x010 for emmc boot.

  6. Power on the board.

Parent topic:Run a demo application