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