坑爹的環境:
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 啟動,
完。