i.MX8MM QSPI booting and partition

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.MX8MM QSPI booting and partition

跳至解决方案
8,114 次查看
vignesh-baskaran
Contributor III

Hi,

We having Custom board based on iMX8MM-EVk,

We replaced Qspi memory chip mt25qu02g. No issues in detecting in u-boot and linux.

 

 

We were trying to do porting Images and booting from QSPI, Please refer below images.

 



0 项奖励
回复
1 解答
7,990 次查看
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @vignesh-baskaran,

I hope you are doing well.

One can follow below-mentioned steps to load images in QSPI Flash in u-boot.

1. Load Image and dtb in RAM using fatload command.

#fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}

#fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}

2. Flash the Image and dtb in flash using sf write.

#sf write ${loadaddr} <offset> <len>
# sf write ${fdt_addr_r} <offset> <len>

 - Please make sure to use correct offset and length while writing Image and dtb to flash & make sure that they don't overwrite each other.

  One can find the correct length (size) using the below command

# fatls mmc ${mmcdev}:${mmcpart}

 Please share the output of the above command.

Please try after erasing flash memory.

Thanks & Regards,
Dhruvit Vasavada

在原帖中查看解决方案

0 项奖励
回复
9 回复数
8,065 次查看
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @vignesh-baskaran,

I hope you are doing well.

Errors in the attached image suggest that the device tree is not loaded correctly. Please make sure that you have used the correct offset and size.

Instead of using dd , one can flash Image and fdt using the sf write command in u-boot.

Please provide me with an output of the printenv command.

Please share the output of  the below-mentioned commands after loading device tree (using sf read )

=>  fdt addr ${fdt_addr_r} 

=>  fdt print 

Thanks & Regards,
Dhruvit Vasavada

 

0 项奖励
回复
8,055 次查看
vignesh-baskaran
Contributor III

Hi @Dhruvit,

1) Please refer the attachment for printenv .

 

2)

u-boot=>  fdt addr ${fdt_addr_r} 
libfdt fdt_check_header(): FDT_ERR_BADMAGIC

u-boot=> fdt print               
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!

 

3)

Instead of using dd , one can flash Image and fdt using the sf write command in u-boot.

You suggested Sf write for writing to qspi,

Let assume i have images from SD card and want to copy to  QSPi, How can i do that?

 

Please let us know how to do it. it will be helpful. 

 

 

Thanks

0 项奖励
回复
7,991 次查看
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @vignesh-baskaran,

I hope you are doing well.

One can follow below-mentioned steps to load images in QSPI Flash in u-boot.

1. Load Image and dtb in RAM using fatload command.

#fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}

#fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}

2. Flash the Image and dtb in flash using sf write.

#sf write ${loadaddr} <offset> <len>
# sf write ${fdt_addr_r} <offset> <len>

 - Please make sure to use correct offset and length while writing Image and dtb to flash & make sure that they don't overwrite each other.

  One can find the correct length (size) using the below command

# fatls mmc ${mmcdev}:${mmcpart}

 Please share the output of the above command.

Please try after erasing flash memory.

Thanks & Regards,
Dhruvit Vasavada

0 项奖励
回复
498 次查看
Sunil_13
Contributor I

Hi @Dhruvit ,

We are working with the i.MX8M Plus EVK, which has 32 MB QSPI flash.
Our goal is to boot U-Boot, Linux kernel, device tree, and initramfs (rootfs.img ) entirely from QSPI flash.

We are able to successfully boot:

U-Boot (from flash.bin)

Linux kernel (Image.gz)

Device Tree (imx8mp-evk.dtb)

 

However, we are facing issues when loading and using the initramfs/rootfs image from QSPI flash. The kernel starts successfully, but the kernel hangs at Waiting for removable media.... see the below log attached.

-----Flash Layout and Image Sizes----------------

QSPI flash size: 32 MB

flash.bin (U-Boot + SPL) ~2.3 MB
Image.gz (Kernel) ~13.5 MB
imx8mp-evk.dtb ~86 KB
rootfs.img ~12.6 MB


----QSPI Offset Layout----------
flash.bin @ 0x00000000
Image.gz @ 0x00240000
imx8mp-evk.dtb @ 0x01000000
rootfs.img @ 0x01080000


------Programming files into QSPI (from SD card)---------
sf probe 0
sf erase 0x0 0x2000000

fatload mmc 1 ${loadaddr} flash.bin
sf write ${loadaddr} 0x0 ${filesize}

fatload mmc 1 ${loadaddr} Image.gz
sf write ${loadaddr} 0x240000 ${filesize}

fatload mmc 1 ${loadaddr} imx8mp-evk.dtb
sf write ${loadaddr} 0x1000000 ${filesize}

fatload mmc 1 ${loadaddr} rootfs.img # initramfs (cpio.gz)
sf write ${loadaddr} 0x1080000 ${filesize}


------After flashing,power-cycle the board--------------

After boot from u-boot,setting the env variables for Linux kernel (Image.gz),Device Tree (imx8mp-evk.dtb),rootfs.img.

sf probe 0
setenv loadaddr 0x40480000 // kernel
setenv fdt_addr 0x43000000 //dtb
setenv initrd_addr 0x43800000 //rootfs
setenv kernel_comp_addr_r 0x50000000
setenv kernel_comp_size 0x04000000

sf read ${loadaddr} 0x240000 0xCD3CE2

sf read ${fdt_addr} 0x1000000 0x14360

sf read ${initrd_addr} 0x1080000 0xC04DB0

setenv bootargs "console=ttymxc1,115200 root=/dev/ram0 rw"

setenv bootcmd 'sf probe 0; sf read ${loadaddr} 0x240000 0xCD3CE2; sf read ${fdt_addr} 0x1000000 0x14360; sf read ${initrd_addr} 0x1080000 0xC04DB0; booti ${loadaddr} ${initrd_addr} ${fdt_addr}'

saveenv

-----------------------Question 1------------------------------------
1.With SD card Wic file working fine with partitions (Boot/Root).
2.We genarated Two yocto images
==> 1.bitbake core-image-minimal-initramfs (generated initramfs.cpio.gz) this cpio.gx converted into rootfs.img by using this cmd mkimage -A arm -O linux -T ramdisk -d <gzipped_rootfs> <Ramdisk_name> (from linux user guide)
==>2.Also generated tiny rootfs from yocto generated using bitbake core-image-tiny. core-image-tiny-imx8mp-evk.tar.zst this tar extracted into EXT4 partition in SD card succussfully loading tiny rootfs .
3.But as said in 2nd point rootfs.img also put into EXT4 root partition in SD card but not loading the rootfs.

-----------------------Question 2------------------------------------
1.Is this the correct approach to boot an initramfs (rootfs.img) directly from QSPI on i.MX8M Plus EVK?

-----------------------Question 3------------------------------------
3.Is there any recommended NXP reference image for booting kernel and initramfs entirely from QSPI on i.MX8MP(Linux kernel (Image.gz),Device Tree (imx8mp-evk.dtb),rootfs.img) ?

 

Thank You

0 项奖励
回复
7,944 次查看
vignesh-baskaran
Contributor III

Hi @Dhruvit ,

 

Thanks for the input. its working for us.

 

if Anyone facing same issue. This is because of the SPI mode selecting during Sf probe.

 

 

Thanks.

 

0 项奖励
回复
7,788 次查看
vignesh-baskaran
Contributor III

Hi @Dhruvit 

 

Thanks for the support.

0 项奖励
回复
7,796 次查看
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @vignesh-baskaran,

I hope you are doing well.

Glad to know that issue is resolved.

Can I mark this case as close?

Thanks & Regards,
Dhruvit Vasavada

0 项奖励
回复
7,974 次查看
vignesh-baskaran
Contributor III

Hi @Dhruvit,

 

We believe somehow sf read and sf write is not working as we expected. 

 

We load the image from SD to RAM and check 

=> fdt addr ${fdt_addr}
=> fdt print ${fdt_addr}.

it is working perfectly.

But when We try to load from QSPI to RAM 

We getting error.

libfdt fdt_check_header(): FDT_ERR_BADMAGIC

 

We thought this could be issue with size we loading. We cross verified it, its not the issue. 

 

Note: We tried erase operation before the sf write. 

 

 

Can you please let us know about the issue?

0 项奖励
回复
8,089 次查看
vignesh-baskaran
Contributor III

Hi,

 

Can anyone please look into this?

标记 (1)
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-1661476%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.mx8mm%20QSPI%20%E5%90%AF%E5%8A%A8%E5%92%8C%E5%88%86%E5%8C%BA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1661476%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E6%9C%89%E5%9F%BA%E4%BA%8E%20imx8mm-EVK%20%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E6%9D%BF%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E6%9B%B4%E6%8D%A2%E4%BA%86%20Qspi%20%E5%86%85%E5%AD%98%E8%8A%AF%E7%89%87%20mt25qu02g%E3%80%82%E5%9C%A8%20u-boot%20%E5%92%8C%20linux%20%E4%B8%AD%E8%BF%9B%E8%A1%8C%E6%A3%80%E6%B5%8B%E6%97%B6%E6%B2%A1%E6%9C%89%E9%97%AE%E9%A2%98%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E7%A7%BB%E6%A4%8D%E9%95%9C%E5%83%8F%E5%B9%B6%E4%BB%8E%20QSPI%20%E5%90%AF%E5%8A%A8%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%80%83%E4%B8%8B%E9%9D%A2%E7%9A%84%E5%9B%BE%E7%89%87%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2261775%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2261775%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F201299%22%20target%3D%22_blank%22%3E%40Dhruvit%3C%2FA%3E%E3%80%81%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20i.MX8M%20Plus%20EVK%EF%BC%8C%E5%AE%83%E6%9C%89%2032%20MB%20QSPI%20%E9%97%AA%E5%AD%98%E3%80%82%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E7%9A%84%E7%9B%AE%E6%A0%87%E6%98%AF%E5%AE%8C%E5%85%A8%E4%BB%8E%20QSPI%20%E9%97%AA%E5%AD%98%E5%90%AF%E5%8A%A8%20U-Boot%E3%80%81Linux%20%E5%86%85%E6%A0%B8%E3%80%81%E8%AE%BE%E5%A4%87%E6%A0%91%E5%92%8C%20initramfs%20(rootfs.img)%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2FP%3E%3CP%3EU-Boot%EF%BC%88%E6%9D%A5%E8%87%AA%20flash.bin%EF%BC%89%3C%2FP%3E%3CP%3ELinux%20%E5%86%85%E6%A0%B8%EF%BC%88Image.gz%EF%BC%89%3C%2FP%3E%3CP%3E%E8%AE%BE%E5%A4%87%E6%A0%91%20(imx8mp-evk.dtb)%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E4%BD%86%E6%98%AF%EF%BC%8C%E6%88%91%E4%BB%AC%E5%9C%A8%E4%BB%8E%20QSPI%20%E9%97%AA%E5%AD%98%E5%8A%A0%E8%BD%BD%E5%92%8C%E4%BD%BF%E7%94%A8%20initramfs%2Frootfs%20%E6%98%A0%E5%83%8F%E6%97%B6%E9%81%87%E5%88%B0%E4%BA%86%E9%97%AE%E9%A2%98%E3%80%82%E5%86%85%E6%A0%B8%E5%90%AF%E5%8A%A8%E6%88%90%E5%8A%9F%EF%BC%8C%E4%BD%86%E5%86%85%E6%A0%B8%E5%9C%A8%20Waiting%20for%20removable%20media%EF%BC%88%E7%AD%89%E5%BE%85%E5%8F%AF%E7%A7%BB%E5%8A%A8%E5%AA%92%E4%BD%93%EF%BC%89%E5%A4%84%E6%8C%82%E8%B5%B7....%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85%E4%B8%8B%E9%9D%A2%E9%99%84%E5%B8%A6%E7%9A%84%E6%97%A5%E5%BF%97%E3%80%82%3C%2FP%3E%3CP%3E-----Flash%20%E5%B8%83%E5%B1%80%E5%92%8C%E5%9B%BE%E5%83%8F%E5%A4%A7%E5%B0%8F----------------%3C%2FP%3E%3CP%3EQSPI%20%E9%97%AA%E5%AD%98%E5%A4%A7%E5%B0%8F%EF%BC%9A32%20MB%3C%2FP%3E%3CP%3Eflash.bin%20(U-Boot%20%2B%20SPL)%20~2.3%20MB%3CBR%20%2F%3EImage.gz%20(%E5%86%85%E6%A0%B8)%20~13.5%20MB%3CBR%20%2F%3Eimx8mp-evk.dtb%20~86%20KB%3CBR%20%2F%3Erootfs.img%20~12.6%20MB%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E----QSPI%20%E5%81%8F%E7%A7%BB%E5%B8%83%E5%B1%80----------%3CBR%20%2F%3Eflash.bin%20%40%200x00000000%3CBR%20%2F%3EImage.gz%20%40%200x00240000%3CBR%20%2F%3Eimx8mp-evk.dtb%20%40%200x01000000%3CBR%20%2F%3Erootfs.img%20%40%200x01080000%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E------%20%E5%B0%86%E6%96%87%E4%BB%B6%E7%BC%96%E5%85%A5%20QSPI%EF%BC%88%E6%9D%A5%E8%87%AA%20SD%20%E5%8D%A1%EF%BC%89---------%3CBR%20%2F%3Esf%20probe%200%3CBR%20%2F%3Esf%20erase%200x0%200x2000000%3C%2FP%3E%3CP%3Efatload%20mmc%201%24%7Bloadaddr%7D%20flash.bin%3CBR%20%2F%3Esf%20%E5%86%99%24%7Bloadaddr%7D%200x0%24%7Bfilesize%7D%3C%2FP%3E%3CP%3Efatload%20mmc%201%24%7Bloadaddr%7D%20Image.gz%3CBR%20%2F%3Esf%20%E5%86%99%24%7Bloadaddr%7D%200x240000%24%7Bfilesize%7D%3C%2FP%3E%3CP%3Efatload%20mmc%201%24%7Bloadaddr%7D%20imx8mp-evk.dtb%3CBR%20%2F%3Esf%20%E5%86%99%24%7Bloadaddr%7D%200x1000000%24%7Bfilesize%7D%3C%2FP%3E%3CP%3Efatload%20mmc%201%24%7Bloadaddr%7D%20rootfs.img%20%23%20initramfs%20(cpio.gz)%3CBR%20%2F%3Esf%20%E5%86%99%24%7Bloadaddr%7D%200x1080000%24%7Bfilesize%7D%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E------%E9%97%AA%E7%83%81%E5%90%8E%EF%BC%8C%E9%87%8D%E5%90%AF%E6%9D%BF------------------%3C%2FP%3E%3CP%3E%E4%BB%8E%20u-boot%20%E5%90%AF%E5%8A%A8%E5%90%8E%EF%BC%8C%E4%B8%BA%20Linux%20%E5%86%85%E6%A0%B8%20(Image.gz)%E3%80%81%E8%AE%BE%E5%A4%87%E8%AE%BE%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E6%A0%91%20(imx8mp-evk.dtb)%EF%BC%8Crootfs.img%E3%80%82%3C%2FP%3E%3CP%3Esf%20probe%200%3CBR%20%2F%3Esetenv%20loadaddr%200x40480000%20%2F%2F%20%E6%A0%B8%E5%BF%83%3CBR%20%2F%3Esetenv%20fdt_addr%200x43000000%20%2F%2Fdtb%3CBR%20%2F%3Esetenv%20initrd_addr%200x43800000%20%2F%2Frootfs%3CBR%20%2F%3Esetenvkernel_comp_addr_r%200x50000000%3CBR%20%2F%3Esetenv%20kernel_comp_size%200x04000000%3CBR%20%2F%3E%3CBR%20%2F%3Esf%20read%24%7Bloadaddr%7D%200x240000%200xCD3CE2%3CBR%20%2F%3E%3CBR%20%2F%3Esf%20read%24%7Bfdt_addr%7D%200x1000000%200x14360%3CBR%20%2F%3E%3CBR%20%2F%3Esf%20read%24%7Binitrd_addr%7D%200x1080000%200xC04DB0%3C%2FP%3E%3CP%3Esetenv%20bootargs%22console%3Dttymxc1%2C115200%20root%3D%2Fdev%2Fram0%20rw%22%3C%2FP%3E%3CP%3Esetenv%20bootcmd%20'sf%20probe%200%3B%20sf%20read%24%7Bloadaddr%7D%200x240000%200xCD3CE2%3B%20sf%20read%24%7Bfdt_addr%7D%200x1000000%200x14360%3B%20sf%20read%24%7Binitrd_addr%7D%200x1080000%200xC04DB0%3B%20booti%24%7Bloadaddr%7D%20%24%7Binitrd_addr%7D%20%24%7Bfdt_addr%7D%20'%3C%2FP%3E%3CP%3Esaveenv%3C%2FP%3E%3CP%3E-----------------------------------------------------------------------%3CBR%20%2F%3E%201.%20%E4%BD%BF%E7%94%A8%20SD%20%E5%8D%A1%20Wic%20%E6%96%87%E4%BB%B6%E5%9C%A8%E5%88%86%E5%8C%BA%EF%BC%88%E5%90%AF%E5%8A%A8%2F%E6%A0%B9%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%8A%E8%BF%90%E8%A1%8C%E8%89%AF%E5%A5%BD%E3%80%82%3CBR%20%2F%3E2.We%20genarated%20Two%20yocto%20images%3CBR%20%2F%3E%3D%3D%26gt%3B%201.bitbake%20core-image-minimal-initramfs%20(generated%20initramfs.cpio.gz)%E8%BF%99%E4%B8%AA%20cpio.gx%20%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%20cmd%20mkimage-A%20arm-O%20linux-T%20ramdisk-d%20%3CGZIPPED_ROOTFS%3E%20%3CRAMDISK_NAME%3E%EF%BC%88%E6%9D%A5%E8%87%AA%20linux%20%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97%EF%BC%89%3D%3D%20%26gt%3B%202.%20%E8%BF%98%E4%BB%8E%20yocto%20%E4%B8%AD%E7%94%9F%E6%88%90%E4%BA%86%E4%BD%BF%E7%94%A8%20bitbake%20core-image-tiny%20%E7%94%9F%E6%88%90%E7%9A%84%E5%BE%AE%E5%B0%8F%20rootfs%E3%80%82%3CBR%20%2F%3Ecore-image-tiny-imx8mp-evk.tar.zst%EF%BC%8C%E8%AF%A5%20tar%20%E5%B7%B2%E8%A7%A3%E5%8E%8B%E7%BC%A9%E5%88%B0%20SD%20%E5%8D%A1%E4%B8%AD%E7%9A%84%20EXT4%20%E5%88%86%E5%8C%BA%EF%BC%8C%E5%B9%B6%E6%88%90%E5%8A%9F%E5%8A%A0%E8%BD%BD%E4%BA%86%E5%BE%AE%E5%B0%8F%E7%9A%84%20rootfs%E3%80%82%3CBR%20%2F%3E3.%E4%BD%86%E6%AD%A3%E5%A6%82%E7%AC%AC%E4%BA%8C%E7%82%B9%E6%89%80%E8%AF%B4%EF%BC%8Crootfs.img%20%E4%B9%9F%E8%A2%AB%E6%94%BE%E5%85%A5%E4%BA%86%20SD%20%E5%8D%A1%E7%9A%84%20EXT4%20%E6%A0%B9%E5%88%86%E5%8C%BA%EF%BC%8C%E4%BD%86%E5%8D%B4%E6%97%A0%E6%B3%95%E5%8A%A0%E8%BD%BD%20rootfs%E3%80%82%3C%2FRAMDISK_NAME%3E%3C%2FGZIPPED_ROOTFS%3E%3C%2FP%3E%3CP%3E-------------------------------------------------------------------------------------------%3CBR%20%2F%3E%201.%20%E8%BF%99%E6%98%AF%E5%90%AF%E5%8A%A8%20initramfs%20(rootfs.img)%20%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%96%B9%E6%B3%95%E5%90%97%E4%BB%8E%20QSPI%20%E7%9B%B4%E6%8E%A5%E8%BF%9E%E6%8E%A5%20i.MX8M%20Plus%20EVK%EF%BC%9F%3C%2FP%3E%3CP%3E-----------------------------------------------------------------------------------------------%3CBR%20%2F%3E%203.%20%E6%9C%89%E6%B2%A1%E6%9C%89%E6%8E%A8%E8%8D%90%E7%9A%84%E6%81%A9%E6%99%BA%E6%B5%A6%E5%8F%82%E8%80%83%E9%95%9C%E5%83%8F%E7%94%A8%E4%BA%8E%E5%9C%A8%20i.MX8MP%EF%BC%88Linux%20%E5%86%85%E6%A0%B8%20(Image.gz)%E3%80%81%E8%AE%BE%E5%A4%87%E4%B8%8A%E5%AE%8C%E5%85%A8%E4%BB%8E%20QSPI%20%E5%90%AF%E5%8A%A8%E5%86%85%E6%A0%B8%E5%92%8C%20initramfs%E6%A0%91%20(imx8mp-evk.dtb)%2Crootfs.img)%3F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1663919%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1663919%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F201299%22%20target%3D%22_blank%22%3E%40%E5%BE%B7%E9%B2%81%E7%BB%B4%E7%89%B9%3C%2FA%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E6%94%AF%E6%8C%81%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1663909%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1663909%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F209908%22%20target%3D%22_blank%22%3E%40vignesh-baskaran%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E5%B8%8C%E6%9C%9B%E4%BD%A0%E4%B8%80%E5%88%87%E9%83%BD%E5%A5%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%BE%88%E9%AB%98%E5%85%B4%E7%9F%A5%E9%81%93%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E5%B7%B2%E7%BB%8F%E8%A7%A3%E5%86%B3%E4%BA%86%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%88%91%E5%8F%AF%E4%BB%A5%E5%B0%86%E6%AD%A4%E6%A1%88%E6%A0%87%E8%AE%B0%E4%B8%BA%20%22%E6%8E%A5%E8%BF%91%20%22%E5%90%97%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%26amp%3B%20%EF%BC%8C%3CBR%20%2F%3EDhruvit%20Vasavada%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1662978%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1662978%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F201299%22%20target%3D%22_blank%22%3E%40Dhruvit%3C%2FA%3E%E3%80%81%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E8%B0%A2%E8%B0%A2%E6%82%A8%E7%9A%84%E5%BB%BA%E8%AE%AE%E3%80%82%E5%AE%83%E5%AF%B9%E6%88%91%E4%BB%AC%E6%9C%89%E7%94%A8%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BA%BA%E9%9D%A2%E4%B8%B4%E5%90%8C%E6%A0%B7%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E5%9C%A8%20Sf%20%E6%8E%A2%E6%B5%8B%E6%9C%9F%E9%97%B4%E9%80%89%E6%8B%A9%E4%BA%86%20SPI%20%E6%A8%A1%E5%BC%8F%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%E8%B0%A2%E8%B0%A2%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1662790%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1662790%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F201299%22%20target%3D%22_blank%22%3E%40Dhruvit%3C%2FA%3E%E3%80%81%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E4%BB%AC%E8%AE%A4%E4%B8%BA%20sf%20%E8%AF%BB%E5%8F%96%E5%92%8C%20sf%20%E5%86%99%E5%85%A5%E6%B2%A1%E6%9C%89%E6%8C%89%E7%85%A7%E6%88%91%E4%BB%AC%E7%9A%84%E9%A2%84%E6%9C%9F%E8%BF%90%E8%A1%8C%E3%80%82%20%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%9B%BE%E5%83%8F%E4%BB%8E%20SD%20%E5%8A%A0%E8%BD%BD%E5%88%B0%20RAM%EF%BC%8C%E7%84%B6%E5%90%8E%E6%A3%80%E6%9F%A5%20%3C%2FP%3E%3CP%3E%3D%26gt%3B%20fdt%20addr%24%7Bfdt_addr%7D%3CBR%20%2F%3E%20%3D%26gt%3B%20fdt%20print%24%7Bfdt_addr%7D.%3C%2FP%3E%3CP%3E%E5%AE%83%E5%B7%A5%E4%BD%9C%E5%BE%97%E9%9D%9E%E5%B8%B8%E5%A5%BD%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%86%E5%BD%93%E6%88%91%E4%BB%AC%E5%B0%9D%E8%AF%95%E4%BB%8E%20QSPI%20%E5%8A%A0%E8%BD%BD%E5%88%B0%20RAM%20%E6%97%B6%20%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E6%94%B6%E5%88%B0%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Elibfdt%20fdt_check_header()%3A%20FDT_ERR_BADMAGIC%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E4%BB%AC%E8%AE%A4%E4%B8%BA%E8%BF%99%E5%8F%AF%E8%83%BD%E6%98%AF%E8%A3%85%E8%BD%BD%E5%B0%BA%E5%AF%B8%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%9B%E8%A1%8C%E4%BA%86%E4%BA%A4%E5%8F%89%E9%AA%8C%E8%AF%81%EF%BC%8C%E8%BF%99%E4%B8%8D%E6%98%AF%E9%97%AE%E9%A2%98%E6%89%80%E5%9C%A8%E3%80%82%20%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%B3%A8%EF%BC%9A%E6%88%91%E4%BB%AC%E5%9C%A8%E5%86%99%E5%85%A5%20sf%20%E4%B9%8B%E5%89%8D%E5%B0%9D%E8%AF%95%E4%BA%86%E6%93%A6%E9%99%A4%E6%93%8D%E4%BD%9C%E3%80%82%20%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%E4%BD%A0%E8%83%BD%E4%B8%8E%E6%88%91%E4%BB%AC%E8%81%94%E7%B3%BB%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E5%90%97%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1662689%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1662689%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F209908%22%20target%3D%22_blank%22%3E%40vignesh-baskaran%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E5%B8%8C%E6%9C%9B%E4%BD%A0%E4%B8%80%E5%88%87%E9%83%BD%E5%A5%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%8F%AF%E4%BB%A5%E6%8C%89%E7%85%A7%E4%BB%A5%E4%B8%8B%E6%AD%A5%E9%AA%A4%E5%9C%A8%20u-boot%20%E4%B8%AD%E5%B0%86%E5%9B%BE%E5%83%8F%E5%8A%A0%E8%BD%BD%E5%88%B0%20QSPI%20%E9%97%AA%E5%AD%98%E4%B8%AD%E3%80%82%3C%2FP%3E%0A%3CP%3E1.%E4%BD%BF%E7%94%A8%20fatload%20%E5%91%BD%E4%BB%A4%E5%B0%86%20Image%20%E5%92%8C%20dtb%20%E8%BD%BD%E5%85%A5%20RAM%E3%80%82%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%23fatload%20mmc%20%24%7Bmmcdev%7D%3A%24%7Bmmcpart%7D%20%24%7Bloadaddr%7D%20%24%7Bimage%7D%0A%0A%23fatload%20mmc%20%24%7Bmmcdev%7D%3A%24%7Bmmcpart%7D%20%24%7Bfdt_addr_r%7D%20%24%7Bfdtfile%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E2.%E4%BD%BF%E7%94%A8%20sf%20write%20%E5%9C%A8%E9%97%AA%E5%AD%98%E4%B8%AD%E9%97%AA%E5%AD%98%E6%98%A0%E5%83%8F%E5%92%8C%20dtb%E3%80%82%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%23sf%20write%20%24%7Bloadaddr%7D%20%3COFFSET%3E%20%3CLEN%3E%0A%23%20sf%20write%20%24%7Bfdt_addr_r%7D%20%3COFFSET%3E%20%3CLEN%3E%3C%2FLEN%3E%3C%2FOFFSET%3E%3C%2FLEN%3E%3C%2FOFFSET%3E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E-%20%E5%9C%A8%E5%B0%86%20Image%20%E5%92%8C%20dtb%20%E5%86%99%E5%85%A5%E9%97%AA%E5%AD%98%26amp%3B%20%E6%97%B6%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%BF%E7%94%A8%E6%AD%A3%E7%A1%AE%E7%9A%84%E5%81%8F%E7%A7%BB%E9%87%8F%E5%92%8C%E9%95%BF%E5%BA%A6%EF%BC%8C%E7%A1%AE%E4%BF%9D%E5%AE%83%E4%BB%AC%E4%B8%8D%E4%BC%9A%E4%BA%92%E7%9B%B8%E8%A6%86%E7%9B%96%E3%80%82%3C%2FP%3E%0A%3CP%3E%20%20%E4%BD%BF%E7%94%A8%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0%E6%AD%A3%E7%A1%AE%E7%9A%84%E9%95%BF%E5%BA%A6%EF%BC%88%E5%B0%BA%E5%AF%B8%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%23%20fatls%20mmc%20%24%7Bmmcdev%7D%3A%24%7Bmmcpart%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%E8%AF%B7%E5%88%86%E4%BA%AB%E4%B8%8A%E8%BF%B0%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E6%93%A6%E9%99%A4%E9%97%AA%E5%AD%98%E5%90%8E%E5%86%8D%E8%AF%95%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%26amp%3B%20%EF%BC%8C%3CBR%20%2F%3EDhruvit%20Vasavada%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1662606%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1662606%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F201299%22%20target%3D%22_blank%22%3E%40Dhruvit%3C%2FA%3E%E3%80%81%3C%2FP%3E%3CP%3E1)%20%E8%AF%B7%E5%8F%82%E8%80%83%E9%99%84%E4%BB%B6%E4%B8%AD%E7%9A%84%3CSTRONG%3Eprintenv%20.%3C%2FSTRONG%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSTRONG%3E2)%3C%2FSTRONG%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Eu-boot%3D%26gt%3B%20%20fdt%20addr%20%24%7Bfdt_addr_r%7D%20%0Alibfdt%20fdt_check_header()%3A%20FDT_ERR_BADMAGIC%0A%0Au-boot%3D%26gt%3B%20fdt%20print%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0ANo%20FDT%20memory%20address%20configured.%20Please%20configure%0Athe%20FDT%20address%20via%20%22fdt%20addr%20%3CADDRESS%3E%22%20command.%0AAborting!%3CBR%20%2F%3E%3CP%3E3)%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3E%E5%8F%AF%E4%BB%A5%E5%9C%A8%20u-boot%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%86%99%E5%85%A5%E5%91%BD%E4%BB%A4%E5%88%B7%E6%96%B0%20Image%20%E5%92%8C%20fdt%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BD%BF%E7%94%A8%20dd%E3%80%82%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3E%E4%BD%A0%E5%BB%BA%E8%AE%AE%E7%94%A8%20Sf%20write%20%E5%86%99%E5%85%A5%20qspi%E3%80%81%3C%2FP%3E%3CP%3E%E5%81%87%E8%AE%BE%E6%88%91%E6%9C%89%20SD%20%E5%8D%A1%E4%B8%AD%E7%9A%84%E5%9B%BE%E5%83%8F%EF%BC%8C%E5%B9%B6%E6%83%B3%E5%A4%8D%E5%88%B6%E5%88%B0%20QSPi%EF%BC%8C%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E6%93%8D%E4%BD%9C%EF%BC%9F%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E8%AF%B7%E4%B8%8E%E6%88%91%E4%BB%AC%E8%81%94%E7%B3%BB%EF%BC%8C%E5%91%8A%E8%AF%89%E6%88%91%E4%BB%AC%E8%AF%A5%E6%80%8E%E4%B9%88%E5%81%9A%E3%80%82%E4%BC%9A%E6%9C%89%E5%B8%AE%E5%8A%A9%E7%9A%84%E3%80%82%20%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3C%2FADDRESS%3E%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1662552%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1662552%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F209908%22%20target%3D%22_blank%22%3E%40vignesh-baskaran%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E5%B8%8C%E6%9C%9B%E4%BD%A0%E4%B8%80%E5%88%87%E9%83%BD%E5%A5%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%89%80%E9%99%84%E5%9B%BE%E5%83%8F%E4%B8%AD%E7%9A%84%E9%94%99%E8%AF%AF%E8%A1%A8%E6%98%8E%E8%AE%BE%E5%A4%87%E6%A0%91%E6%9C%AA%E6%AD%A3%E7%A1%AE%E5%8A%A0%E8%BD%BD%E3%80%82%E8%AF%B7%E7%A1%AE%E4%BF%9D%E6%82%A8%E4%BD%BF%E7%94%A8%E4%BA%86%E6%AD%A3%E7%A1%AE%E7%9A%84%E5%81%8F%E7%A7%BB%E9%87%8F%E5%92%8C%E5%B0%BA%E5%AF%B8%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%8F%AF%E4%BB%A5%E5%9C%A8%20u-boot%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%86%99%E5%85%A5%E5%91%BD%E4%BB%A4%E5%88%B7%E6%96%B0%20Image%20%E5%92%8C%20fdt%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BD%BF%E7%94%A8%20dd%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E6%8F%90%E4%BE%9B%3CSTRONG%3Eprintenv%3C%2FSTRONG%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%8A%A0%E8%BD%BD%E8%AE%BE%E5%A4%87%E6%A0%91%E5%90%8E%EF%BC%8C%E8%AF%B7%E5%85%B1%E4%BA%AB%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%88%E4%BD%BF%E7%94%A8%20sf%20read%EF%BC%89%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3D%26gt%3B%20FDT%20Addr%24%7Bfdt_addr_r%7D%20%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3D%26gt%3B%20fdt%20%E6%89%93%E5%8D%B0%20%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%26amp%3B%20%EF%BC%8C%3CBR%20%2F%3EDhruvit%20Vasavada%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1662002%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MM%20QSPI%20booting%20and%20partition%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1662002%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E8%B0%81%E8%83%BD%E8%B0%83%E6%9F%A5%E4%B8%80%E4%B8%8B%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E