Generate a flash.bin
Get 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: the image is generated by the command - make config=mx94alt all;m33_image-mx94evk.bin: the image is generated by the command - make config=mx94evk all)
- m70_image.bin (demo binary name for cortex-m7 core0 in M70 MIX)
- m71_image.bin (demo binary name for cortex-m7 core1 in M71 MIX)
- m33s_image.bin (demo binary name for cortex-m33 core1 in NETC MIX)
- <lpddr type name>_dmem_qb_v202409.bin(lpddr type name: lpddr5 or lpddr4x)
- <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:
mx943evk for
m33_image.bin
is used forrpmsg str echo
,rpmsg ping pong
andpower_mode_switch_rtos
.mx943alt for
m33_image.bin
is used for almost other examples.
Copy binary built by ARMGCC/IAR into imx-mkimage/iMX94, and rename them to m70_image.bin/m71_image.bin/m33s_image.bin.
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 LPDDR5, LPDDR_TYPE=lpddr5;For LPDDR4, LPDDR_TYPE=lpddr4x.
Valid combination 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
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
Connect USB Type-C port to PC through the USB cable. It is used for downloading firmware of the board.
Switch to serial downloader mode; boot core is cortex-m33.
sd: uuu -b sd imx-boot-imx943-19x19-lpddr5-evk-sd.bin-flash_all new-flash.bin
Burn flash.bin with uuu.
emmc: uuu -b emmc imx-boot-imx943-19x19-lpddr5-evk-sd.bin-flash_all flash.bin
sd: uuu -b sd imx-boot-imx943-19x19-lpddr5-evk-sd.bin-flash_all flash.bin
Note:
imx-boot-imx943-19x19-lpddr5-evk-sd.bin-flash_all (imx-boot-imx943-19x19-lpddr4x-evk-sd.bin-flash_all for IMX943LP4CPU-19 SOM + X-IMX943BB; imx-boot-imx943-15x15-lpddr4x-evk-sd.bin-flash_all for IMX943LP4CPU-15 SOM + X-IMX943BB)
. Get them from linux bsp.flash.bin
. The flash.bin is generated by yourself.
Change the boot mode to
SW4[1:4] = x011
for sd boot,SW4[1:4] = x010
for emmc boot.Power on the board .
Parent topic:Run a demo application