zynq在u-boot中导入导出Flash文件

📅 2026/7/9 1:07:14 👁️ 阅读次数 📝 编程学习
zynq在u-boot中导入导出Flash文件

正常情况下,只用到flash前面1MB
这里只写flash的前面1MB

从板子中提取flash.bin到tftp服务器

# sf read <ram_addr> <flash_offset> <length># tftp服务器配置Zynq>setenv ipaddr192.168.3.13 setenv serverip192.168.3.17 setenv gatewayip192.168.3.1 setenv netmask255.255.255.0# spiFlash探测Zynq>sf probe SF: Detected w25q256 with page size256Bytes, erase size4KiB, total32MiB# 将整片32MB flash写入内存Zynq>sfread0x100000000x2000000 device0whole chip SF:33554432bytes @ 0x0 Read: OK# 将内存里的数据 上传到tftp服务器里命名为flash.binZynq>tftpput 0x1000000 0x2000000 flash.bin Using ethernet@e000b000 device TFTP to server192.168.3.17;our IP address is192.168.3.13 Filename'flash.bin'.Save address: 0x1000000 Save size: 0x2000000 Saving:4MiB/sdoneBytes transferred=33554432(2000000hex)Zynq>

从tftp服务器的flash.bin下载到板子中

这种情况应该用jtag启动

wpf@minglie:~/petalinux/z8$ petalinux-boot--jtag--prebuilt3
# tftp服务器配置Zynq>setenv ipaddr192.168.3.13 setenv serverip192.168.3.17 setenv gatewayip192.168.3.1 setenv netmask255.255.255.0# 下载flash.bin到内存Zynq>tftpboot 0x1000000 flash.bin Using ethernet@e000b000 device TFTP from server192.168.3.17;our IP address is192.168.3.13 Filename'flash.bin'.Load address: 0x1000000 Loading:3.6MiB/sdoneBytes transferred=33554432(2000000hex)# 探测Zynq>sf probe SF: Detected w25q256 with page size256Bytes, erase size4KiB, total32MiB# 擦除前面1MZynq>sf erase 0x000000 0x100000# 写入前面的1MBsfwrite0x100000000x100000