如何從 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 讀取內容,並將其放入 SPI Flash 的偏移位址 - 0x0

現在,我正在從不同 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什麼都沒有。我在這裡缺少什麼?

相關內容