Uboot에서 SPI NOR를 플래시하고 SPI Nor - Microzed Zynq에서 다시 읽는 방법은 무엇입니까?

Uboot에서 SPI NOR를 플래시하고 SPI Nor - Microzed Zynq에서 다시 읽는 방법은 무엇입니까?

mmc 카드에서 커널 이미지를 읽고 이를 SPI Nor 플래시 메모리에 플래시하려고 합니다. 내 커널 이미지에는 uImage만 있습니다.

그래서 mmc 카드에서 커널 이미지를 읽어서 메모리 주소 0x8000에 넣었습니다.

Zynq> fatload mmc 0 0x8000 $kernel_image

나는 그것을 실행하여 볼 수 있습니다

md 0x8000.

이제 이 데이터를 RAM에서 QSPI 플래시로 복사하고 싶습니다.

나는 다음을 수행했습니다.

sf update 0x8000 0 ${kernel_size}

이제 0x8000의 내용을 읽고 오프셋 주소 - 0x0의 SPI 플래시에 넣었다고 생각합니다.

이제 다른 RAM 주소(0x3000000)의 플래시 메모리에서 다시 읽고 있습니다.

>sf read 0x3000000 0 ${kernel_size}

마찬가지로 장치 트리 이미지를 RAM에 로드합니다.

#fatload mmc 0 0x8000 ${devicetree_image}

이제 다시 읽었습니다.

#md 0x8000 ${devicetree_image}

이제 플래시 메모리에 장치 트리를 작성하고 있습니다.

#sf update 0x8000 0x700000 ${devicetree_size}
#sf read 0x2A00000 0x700000 ${devicetree_size}

이제 RAM의 장치 트리를 확인하고 있습니다.

md 0x2A00000 ${devicetree_size}

이제 새로 읽은 RAM 주소에서 부팅합니다.

bootm 0x3000000 - 0x2A00000

Zynq> bootm 0x3000000 - 0x2A00000
Wrong Image Format for bootm command
ERROR: can't get kernel image!

내가 여기서 뭘 잘못하고 있는 걸까?

Zynq> iminfo 0x3000000

## Checking Image at 03000000 ...
Unknown image format!


Zynq> iminfo 0x8000

## Checking Image at 00008000 ...
   FIT image found
Bad FIT image format!

장치 트리를 작성한 후 0x3000000에 아무것도 표시되지 않습니다. 내가 여기서 무엇을 놓치고 있는 걸까요?

관련 정보