如何从 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什么也没有。我在这里缺少什么?

相关内容