修改时间 07-29-2020 09:40 AM
Hi @zhouyong
1. 你是u-boot ping主机还是主机ping u-boot(理论上u-boot可以ping 外部,但是不会响应外部的ping)?
2. 试下上电启动后再软起动(u-boot reset命令)一次?
供参考。
----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------
修改时间 07-29-2020 02:46 PM
uboot ping主机和主机ping uboot都不通,uboot ping自己的ip都不通。
请问有没有zynq的uboot移植教程,特别是对于涉及到网路部分的修改。已经卡在这里几天了。
print打印的信息如下:
Zynq> print
arch=arm
baudrate=115200
bitstream_image=system.bit.bin
board=zynq
board_name=zynq
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_image=BOOT.bin
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_size=0xF00000
boot_targets=usb0 pxe dhcp
bootcmd=run $modeboot || run distro_bootcmd
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcmd_usb0=setenv devnum 0; run usb_boot
bootdelay=2
bootenv=uEnv.txt
cpu=armv7
devicetree_image=devicetree.dtb
devicetree_load_address=0x2000000
devicetree_size=0x20000
devnum=0
dfu_ram=run dfu_ram_info && dfu 0 ram 0
dfu_ram_info=set dfu_alt_info ${kernel_image} ram 0x3000000 0x500000\\;${devicetree_image} ram 0x2A00000 0x20000\\;${ramdisk_image} ram 0x2000000 0x600000
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
ethact=ethernet@e000b000
ethaddr=00:0a:35:00:01:22
fdt_high=0x20000000
fdtcontroladdr=3ffa11d0
gatewayip=192.168.31.1
importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr}
希望能有一个具体的移植文档,特别是关于uboot的网络移植部分需要注意哪些?
修改时间 07-29-2020 03:47 PM
1. 自己ping自己时,因为u-boot不会响应ping, 所以不通可以理解。
2. 我看了你打印的env, 里面没有ipaddr. 你是怎么确定板子的IP地址的?
----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------
修改时间 07-30-2020 10:43 AM
ip地址是在include/configs/zynq-common.h文件中,在#define CONFIG_EXTRA_ENV_SETTINGS 宏中添加了ip地址、网关,netmask,以及服务器的ip地址。自己在uboot下,也通过set ipaddr设置ip地址,然后saveenv设置ip地址,但是板卡上电后,ip地址会恢复成#define CONFIG_EXTRA_ENV_SETTINGS宏中的ip地址(因为感觉自己的uboot的nandflash有问题,打印的信息中也有提示NAND: zynq_nand_init: Unable detect NAND based on MIO settings
ZYNQ NAND init failed)
uboot的nandflash有问题
修改时间 07-30-2020 03:36 PM
1. Xilinx u-boot build参考见下面wiki, 基本上不需要移植工作。
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841973/Build+U-Boot
2. u-boot下mii info能看到什么信息?
3. “板卡和pc的网口灯都一直没亮过(没有link),板卡硬件网络部分之前验证了的,网络是正常的” -- 可以再double check下吗? 我理解灯都不亮物理层不通的可能性很大。确定同一块板卡在Linux下是通的?
修改时间 07-30-2020 03:58 PM
Zynq> mii info
PHY 0x01: OUI = 0x5043, Model = 0x0C, Rev = 0x02, 10baseT, HDX
Zynq> mdio read 1 1
1 is not a known ethernet
Reading from bus eth0
PHY at address 1:
1 - 0x7949
Zynq> mdio read 1 11
1 is not a known ethernet
Reading from bus eth0
PHY at address 1:
17 - 0x8140
之前一直跑的VxWorks,没有跑linux。板卡跑VxWorks系统网络都是好的,又下载了一个VxWorks的boot,网口马上就能link(网口灯亮)。