
我正在嘗試從 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什麼都沒有。我在這裡缺少什麼?