ZYNQ 从 QSPI-Flash 启动,更新 EMMC image

时间:2024-03-09 19:27:17

 

坑爹的环境:

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 启动,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

完。