zynq的nand启动

zynq的nand启动
参考zynq在u-boot中导入导出nand文件.csdn蚂蚁S9矿板 Nand Flash的使用.csdn蚂蚁S9矿板引脚定义.csdnzynq在u-boot中导入导出Flash文件.csdnzynq在u-boot中导入导出nand文件.csdnPetaLinux 使用技巧与缓存配置PetaLinux的JTAG启动.csdnxilinx官网–PetaLinux 工具文档参考指南 (ug1144)xilinx官网–设备树配置文档内核官网–设备树文档VSCode作为zynq相关编辑器的配置ZYNQ无SD卡情况下的SPIEMMC启动nand划分分区起始地址大小结束地址内容说明boot0x000000008MB (0x00800000)0x007FFFFFBOOT.BINFSBL U-Boot基本固定boot.scr0x00FC0000256KB (0x00040000)0x00FFFFFFboot.scrU-Boot启动脚本kernel0x010000008MB (0x00800000)0x017FFFFFzImageLinux内核dtb0x01800000512KB (0x00080000)0x0187FFFFsystem.dtbLinux设备树fpga0x020000008MB (0x00800000)0x027FFFFFsystem.bitFPGA逻辑频繁更新rootfs0x0280000032MB (0x02000000)0x047FFFFFrootfs.cpio.gz.u-bootLinux根文件系统data0x04800000184MB (0x0B800000)0xFFFFFFFF用户数据(JFFS2/UBIFS)掉电保存生成BOOT.BINpetalinux-package--boot\--fsblimages/linux/zynq_fsbl.elf\--u-boot\--force生成boot.scrboot.cmdechoBoot Linux from NANDechoLoading FPGA...nandread0x10000000 0x02000000 0x00800000 fpga loadb00x10000000 0x00800000echoLoading Kernel...nandread0x2000000 0x01000000 0x00800000echoLoading DTB...nandread0x2A00000 0x01800000 0x00080000echoLoading RootFS...nandread0x4000000 0x02800000 0x02000000echoStarting Linux...bootz 0x2000000 0x4000000 0x2A00000mkimage\-Aarm\-Tscript\-Cnone\-nNAND boot script\-dboot.cmd\boot.scr生成调试的my_boot.scrmy_boot.cmdechoDownload kernel...tftpboot 0x00200000 zImageechoDownload DTB...tftpboot 0x00100000 system.dtbechoDownload FPGA...tftpboot 0x00800000 system.bitechoProgram FPGA...fpga loadb00x00800000${filesize}echoBoot Linux...bootz 0x00200000 - 0x00100000mkimage-Aarm\-Tscript\-Cnone\-nNAND boot script\-dmy_boot.cmd my_boot.scruboot调试脚本自动启动setenv ipaddr192.168.1.104 setenv serverip192.168.1.107 setenv gatewayip192.168.1.1 setenv netmask255.255.255.0 setenv bootargsconsolettyPS0,115200 root/dev/nfs rw nfsroot192.168.1.107:/home/wpf/workspace/nfs/z8_rootfs,nfsvers3 ip192.168.1.104:192.168.1.107:192.168.1.1:255.255.255.0::eth0:offtftpboot 0x1000000 my_boot.scrsource0x1000000手动启动tftpboot 0x00200000 zImage tftpboot 0x00100000 system.dtb tftpboot 0x00800000 system.bit fpga loadb00x00800000$filesize;bootz 0x00200000 - 0x00100000uboot烧录脚本# # TFTP配置# setenv ipaddr192.168.1.104 setenv serverip192.168.1.107 setenv gatewayip192.168.1.1 setenv netmask255.255.255.0# # BOOT.BIN# tftpboot 0x1000000 BOOT.BIN nand erase 0x00000000 0x00800000 nandwrite0x1000000 0x00000000${filesize}# # boot.scr# tftpboot 0x1000000 boot.scr nand erase 0x00FC0000 0x00040000 nandwrite0x1000000 0x00FC0000${filesize}# # zImage# tftpboot 0x1000000 zImage nand erase 0x01000000 0x00800000 nandwrite0x1000000 0x01000000${filesize}# # system.dtb# tftpboot 0x1000000 system.dtb nand erase 0x01800000 0x00080000 nandwrite0x1000000 0x01800000${filesize}# # system.bit# tftpboot 0x1000000 system.bit nand erase 0x02000000 0x00800000 nandwrite0x1000000 0x02000000${filesize}# # rootfs# tftpboot 0x1000000 rootfs.cpio.gz.u-boot nand erase 0x02800000 0x02000000 nandwrite0x1000000 0x02800000${filesize}# # reboot# reset没有识别mtdrootantbase:/dev# cat /proc/mtddev: size erasesize name rootantbase:/dev# dmesg | grep -Ei nand|mtdKernelcommandline:consolettyPS0,115200earlyconcdns,mmio,0xe0000000,115200n8 keep_bootcon earlyprintkroot/dev/mtdblock5 rwrootfstypejffs2 jffs2: version2.2.(NAND)(SUMMARY)©2001-2006 Red Hat, Inc. nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda nand: Micron MT29F2G08ABAEAWP nand:256MiB, SLC, erase size:128KiB, page size:2048, OOB size:64nand: WARNING: MT29F2G08ABAEAWP: the ECC used on your system is too weak compared to the one required by the NAND chip pl353-nand e1000000.flash: could not scan the nand chip pl353-nand: probe of e1000000.flash failed with error-110