坑爹的环境:
ZYNQ 板卡,只有 QSPI-Flash,EMMC,没有预留 SD socket,USB。
目的:
通过 QSPI-Flash 更新 EMMC image 后,从 EMMC 启动。
1. 创建 QSPI-Flash 启动文件时,Zynq 激活 QSPI-Flash, Ethernet, UART, EMMC
2. petalinux-config --get-hw-description=xxx 打开配置窗口,修改 image 存放位置为 primary flash,即对应当前激活的 QSPI-Flash,
3. 通过 JTAG 烧写 QSPI-Flash,
4. 从 QSPI-Flash 启动,
5. 设置板卡 IP 地址,
6. 设置 PC 机 IP 地址,
7. 通过 FTP 传送 EMMC 启动 BOOT 文件(Boot.bin)和 image 文件(image.ub)
传送完成,可见板卡根目录已经有了相应文件,
8. 查看板卡设备,可见已经识别到 EMMC(mmcblk0)和 QSPI-Flash(mtd)
9. 如果 EMMC 没有分区(上图的 mmcblk0p1),则需要先创建分区,
10. 拷贝 image.ub 到 EMMC 的 mmcblk0p1 分区,拷贝 Boot.bin 到 QSPI-Flash 的 boot 分区,
注意:上图最后一步,可能需要先擦再写,即先 # flash_eraseall /dev/mtd0 (但是经测试,不擦也可以)
11. 重新上电,板卡从 EMMC 启动,
完。