This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM5729:在 BOOTP 广播命令超时后 U-Boot DHCP 命令失败

Guru**** 2540720 points
Other Parts Discussed in Thread: AM5729, AM5728

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1003005/am5729-u-boot-dhcp-command-fails-after-bootp-broadcast-command-times-out

器件型号:AM5729
主题中讨论的其他器件: AM5728DRA752

您好!

我正在尝试让我的新 TI AM5729工业开发套件正常工作。 我可以从 SD 卡启动、但尝试使用 TFTP 启动以及使用共享 NFS 文件系统失败。 在"DHCP"命令上都失败。 我在下面添加了设置脚本最后一部分的终端输出和我看到问题的 minicom 会话。 我的 TI 板 通过 JTAG 以及其中一个千兆位以太网端口连接到 Linux Ubuntu 计算机。 Linux 机器未连接到外部世界。 请告诉我是否需要更改我的物理设置并重试。

下面是安装脚本、minicom 会话的输出以及 U-Boot 中的"printenv"命令的结果。

------------------------------------------


选择 Linux 内核位置:
1:TFTP
2:SD 卡

[1]

选择根文件系统位置:
1:NFS
2:SD 卡

[1]

/tftproot 中的可用内核映像:
am571x-idk-am57xx-evm.dtb
am571x-idk-lcd-osd101t2045-am57xx-evm.dtb
am571x-idk-lcd-osd101t2045.dtb
am571x-idk-lcd-osd101t2587-am57xx-evm.dtb
am571x-idk-lcd-osd101t2587.dtb
am571x-idk-pps-am57xx-evm.dtb
am571x-idk-pps.dTB
am571x-idk-PRU-Excl-uo-am57xx-EVM.dTB
am571x-idk-PRU-Excl-uio.dTB
am571x-idk.dtb
am5729-beagleboneai-am57xx-evm.dtb
am5729-beagleboneai.dtb
am572x-idk-am57xx-evm.dtb
am572x-idk-jailhouse am57xx-evm.dtb
am572x-idk-jailhouse。dtb
am572x-idk-lcd-osd101t2045-am57xx-evm.dtb
am572x-idk-lcd-osd101t2045-jailhouse am57xx-evm.dtb
am572x-idk-lcd-osd101t2045-jailhouse。dtb
am572x-idk-lcd-osd101t2045.dtb
am572x-idk-lcd-osd101t2587-am57xx-evm.dtb
am572x-idk-lcd-osd101t2587-jailhouse am57xx-evm.dtb
am572x-idk-lcd-osd101t2587-jailhouse。dtb
am572x-idk-lcd-osd101t2587.dtb
am572x-idk-pps-am57xx-evm.dtb
am572x-idk-pps.dTB
am572x-idk-PRU-ex-uio-am57xx-evm.dtb
am572x-idk-PRU-Excl-uio.dTB
am572x-idk.dtb
am574x-idk-am57xx-evm.dtb
am574x-idk-jailhouse am57xx-evm.dtb
am574x-idk-jailhouse。dtb
am574x-idk-lcd-osd101t2587-am57xx-evm.dtb
am574x-idk-lcd-osd101t2587.dtb
am574x-idk-pps-am57xx-evm.dtb
am574x-idk-pps.dTB
am574x-idk-PRU-ex-uio-am57xx-evm.dtb
am574x-idk-PRU-Excl-uio.dTB
am574x-idk.dtb
am57xx-beagle-x15-am57xx-evm.dtb
am57xx-beagle-x15-revb1-am57xx-evm.dtb
am57xx-beagle-x15-revb1.dtb
am57xx-beagle-x15-revc-am57xx-evm.dtb
am57xx-beagle-x15-revc.dtb
am57xx-beagle-x15.dtb
am57xx-EVM-am57xx-evm.dtb
am57xx-evm-cam-mt9t111-am57xx-evm.dtb
am57xx-evm-cam-mt9t111.dtb
am57xx-evm-cam-ov10635-am57xx-evm.dtb
am57xx-evm-cam-ov1065.dtb
am57xx-EVM-jailhouse - am57xx-evm.dtb
am57xx-EVM-jailhouse。dtb
am57xx-EVM-reva3-am57xx-evm.dtb
am57xx-evm-reva3-cam-mt9t111-am57xx-evm.dtb
am57xx-EVM-reva3-cam-mt9t111.dtb
am57xx-evm-reva3-cam-ov10635-am57xx-evm.dtb
am57xx-evm-reva3-cam-ov1065.dtb
am57xx-evm-reva3-jailhouse am57xx-evm.dtb
am57xx-evm-reva3-jailhouse。dtb
am57xx-EVM-reva3.dtb
am57xx-evm.dtb
zImage-am57xx-evm.bin

您要从 TFTP 引导哪个内核映像?
[ zImage-am57xx-evm.bin ]
--------------------------------------------------
是否要使用上述参数(y/n)创建 minicom 脚本?
[ y ]

成功写入/home/ksmith/ti-processor-sdk-linux-am57xx-evm-06.03.00.106/bin/setupBoard.minicom

正在检测与电路板的连接... /dev/ttyUSB2

--------------------------------------------------
是否要立即运行安装脚本(y/n)?

请按照快速入门指南中的说明连接以太网电缆。
在下面的提示中回答"y"后、您将有300秒的时间进行连接
在设置超时之前对电路板进行下电上电

成功执行此脚本后、将设置您的 EVM。 您将会是
可以通过执行'myicom -w'或如果您更喜欢 Windows 主机连接到它
您可以按照软件开发人员指南中的说明设置 Tera Term。
如果您连接 minicom 或 Tera Term 并重启电路板、Linux 将启动。

[ y ]


欢迎使用 Minicom 2.7.1

选项:I18N
编译于2017年8月13日15:25:34。
端口/dev/ttyUSB2、16:23:04

按 CTRL-A Z 获取有关特殊键的帮助


U-Boot 2019.01-g333c3e72d3 (2020年4月20日- 04:15:00 +0000)

CPU:DRA752-GP ES2.0
型号:TI AM5728 IDK
电路板:AM572x IDK REV 1.3C
DRAM:2GiB
MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
正在从 FAT 加载环境... 好的
am57x_idk_LCD_Detect:无法获取 I2C 器件0/56 (ret 1)
NET:eth0:以太网@48484000
按任意键停止自动引导:0
切换到分区#0,确定
mmc0是当前器件
2ms (727.5 KiB/s)内读取1490字节
正在从 mmc0导入环境...
以太网@48484000正在等待 PHY 自动协商完成.......... 完成
端口0、速度1000、全双工上的链路
BOOTP 广播1
BOOTP 广播2.
BOOTP 广播3.
BOOTP 广播4.
BOOTP 广播5.
BOOTP 广播6.
BOOTP 广播7.
BOOTP 广播8.
BOOTP 广播9.
BOOTP 广播10.
BOOTP 广播11.
BOOTP 广播12.
BOOTP 广播13.
BOOTP 广播14.
BOOTP 广播15.
BOOTP 广播16.
BOOTP 广播17.
BOOTP 广播18.
BOOTP 广播19.
BOOTP 广播20.
BOOTP 广播21.
BOOTP 广播22.
BOOTP 广播23.
BOOTP 广播24.
BOOTP 广播25.
BOOTP 广播26.
BOOTP 广播27.
BOOTP 广播28.
BOOTP 广播29

已超过重试时间;正在重新开始
端口0、速度1000、全双工上的链路
`s错误:未设置“erverip'
端口0、速度1000、全双工上的链路
`s错误:未设置“erverip'
=>印刷版
arch = ARM
args_mmc=run finduid;setenv bootargs console=${console}${optargets}root=PARTUUID =${uuid}rw rootfstype=${mmcrootfstype}
自动载入=否
波特率=115200
电路板= am57xx
Board_name=am572x_idk
Board_rev=1.3C
Board_serial=07204P470053
BOOT_FDT=尝试
BOOT_FIT = 0
bootargs=console=ttyS2,115200n8 root=/dev/nfs nfsroot=:/home/ksmith/ti-processor-sdk-linux-am57xx-evm-06.03.00.106/targetNFS,nolock,v3,tcp,rsize=4096,wsize=4096 rw IP=d
HCP
bootcmd=run fdfdt;运行 getuenv;setenv autoload no;dhcp;tftp ${loadaddr}zImage-am57xx-evm.bin;tftp ${fdtaddr}${fdtfile};运行 netargs;boottz ${loadaddr}-${fdtadd
R}
BOOTDELAY=2
bootdir=/boot
bootenvfile=uEnv.txt
BootFile=zImage-am57xx-evm.bin
BOOTM_SIZE=0x10000000
bootpart=0:2
bootscript=echo 正在从 MMC${mmcdev}...;源${loadaddr}运行的 bootscript
CHECK_PSDK_setup=加载 MMC 0:1 ${loadaddr}${PSDK_setup_file}
console=ttyS2,115200n8.
CPU=armv7
dfu_alt_info_eMMc=rawemmc raw 0 3751936;引导部分1;rootfs 部分1 2;mlo fat 1;ml.raw 0x100 0x200;u-boot.img.raw 0x300 0x1000;u-env.raw 0x1300 0x200;spl
-os-args.raw 0x1500 0x200;spl-os-image.raw 0x1700 0x6900;spl-os-args fat 1;spl-os-image fat 1;u-boot.img fat 1;uEnv.txt fat 1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;mlo fat 0 1;ml.raw 0x100 0x200;u-boot.img.raw 0x300 0x1000;u-env.raw 0x1300 0x200;spl-os-args.raw 0x1500
0x200;spl-os-image.raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os- image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
DFU_alt_INFO_QSPI=MLO RAW 0x0 0x040000;u-boot.img RAW 0x040000 0x0100000;u-boot-spl-OS RAW 0x140000 0x080000;u-boot-env RAW 0x1C0000 0x010000;u-boot-env.backup RAW 0x1D
0000 0x010000;内核原始0x1E0000 0x800000
dfu_alt_info_ram=内核 ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
DFU_bufsiz=0x10000
DO _PSDK_setup=env 默认-f -a;saveenv
dofastboot=0
eMMC_Android_boot=echo 尝试从 eMMC 引导 Android ...;运行 update_TO_FIT;setenv eval_boos setenv bootargs $targetboots;运行 eval_targetboots;setenv mmcdev 1;sete
NV machid fe6;MMC dev $mmcdev;MMC 重新扫描;部件启动 MMC ${mmcdev}boot boot_start;部件尺寸 MMC ${mmcdev}boot boot_size;MMC 读取${loadaddr}${boot_start}${boot_
size};bootm ${loadaddr}#${fdtfile};
eMMC_Linux_boot=echo 尝试从 eMMC 引导 Linux ...;setenv mmcdev 1;setenv bootpart 1:2;setenv mmcroot /dev/mmcblk0p2 rw;运行 mmcboot;
envboot=MMC dev ${mmcdev};如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadbootscript;然后运行 bootscript;否则运行 loadbootenv;然后回显 Loade
d env from ${bootenvfile};运行 envbootenv;fi;if test -n $envcmd;然后回显运行导入 cmd ...;运行 envcmd;fi;fi;fi;fi;
eth2addr=70:ff:76:1c:32:A3
eth3addr=70:ff:76:1c:32:A4
eth4addr=70:ff:76:1c:32:A5
eth5addr=70:ff:76:1c:32:A6
eth6addr=70:ff:76:1c:32:A7
eth7addr=70:ff:76:1c:32:A8
ethact=Ethernet@48484000
ethaddr=E4:15:F6:0d:A2:6e
FASTBOOT.board_rev=1.3C
FASTBOOT.CPU=DRA752
fastboot.secure=GP
FDT_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontrolladdr=fdf22128
fdtfile=am572x-idk.dtb
fileaddr=82000000
filesize=5d2
findfdt=if test $board_name = omap5_uevm;then setenv fdtfile omap5-uevm.dtb;fi;if test $board_name = dra7xx;then setenv fdtfile dra7-evm.dtb;fi;if test $board_name
= dra72x-revc;然后 setenv fdtfile dra72-EVM-revc.dtb;fi;如果测试$board_name = dra72x;然后 setenv fdtfile dra72-EVM.dtb;fi;如果测试$board_name = dra71x &&测试$boo
T_nand = 1;然后 setenv fdtfile dra71-EVM-nand.dTB;fi;如果测试$board_name = dra71x &&测试$boot_nand = 0;然后 setenv fdtfile dra71-EVM.dtb;fi;如果测试$board_name =
dra76x_ACD;然后 setenv fdtfile dra76-evm.dtb;fi;if test $board_name = beagle_x15;然后 setenv fdtfile am57xx-beagle-x15.dtb;fi;if test $board_name = beagle_x15_revb1
;然后 setenv fdtfile am57xx-beagle-x15-revb1.dtb;fi;如果测试$board_name = beagle_x15_revc;然后 setenv fdtfile am57xx-beagle-x15-revc.dtb;fi;如果测试$board_name = am
5729_beagleboneai;然后 setenv fdtfile am5729-beagleboneai.dtb;fi;if test $board_name = am572x_idk && test $idk_LCD = no;然后 setenv fdtfile am572x-idk.dtb;fi;if tes
t $board_name = am572x_idk && test $idk_LCD = osd101t2045;然后 setenv fdtfile am572x-idk-lcd-osd101t2045.dtb;fi;if test $board_name = am572x_idk && test $idk_lcd =操作系统
d101t2587;然后 setenv fdtfile am572x-idk-lcd-osd101t2587.dtb;fi;if test $board_name = am574x_idk && test $idk_lcd = no;然后 setenv fdtfile am574x-idk.dtb;fi;if test
$board_name = am574x_idk && test $idk_LCD = osd101t2587;然后 setenv fdtfile am574x-idk-lcd101t2587.dtb;fi;如果 test $board_name = am57xx_EVM;然后 setenv fdtfile a
m57xx-evm.dtb;fi;如果测试$board_name = am57xx_evm_reva3;则 setenv fdtfile am57xx-evm-reva3.dtb;fi;如果测试$board_name = am571x_idk &&测试$idk_lcd =否;然后 sete
NV fdtfile am571x-idk.dTB;fi;if test $board_name = am571x_idk && test $idk_LCD = osd101t2045;然后 setenv fdtfile am571x-idk-lcd-osd101t2045.dtb;fi;if test $board_nam
E = am571x_idk && test $idk_LCD = osd101t2587;然后 setenv fdtfile am571x-idk-lcd-osd101t2587.dtb;fi;如果 test $fdtfile = undefined;然后回显警告:无法确定
要使用的 NE 设备树;fi;
finduuid=part uuid MMC ${bootpart}uuid
fit_bootfile=fitImage
fit_loadaddr=0x90000000
get_overlaystring=用于$overlay_files 中的覆盖;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
getuenv=MMC dev ${mmcdev};如果 MMC 重新扫描;如果运行 loadbootenv;然后运行 importbootenv;fi;
idk_lcd=no
importbootenv=echo 从 MMC${mmcdev}导入环境...;env 导入-t ${loadaddr}${filesize}
ip_method=dhcp
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload MMC ${mmcdev}${loadaddr}${bootenvfile}
loadbootscript=load MMC ${mmcdev}${loadaddr}boot.scr
loadfdt=load ${devtype}${bootpart}${fdtaddr}${bootdir}/${fdtfile}
loadfit=run args_mmc;运行 run_fit;
loadimage=load ${devtype}${bootpart}${loadaddr}${bootdir}/${bootfile}
mmcboot=MMC dev ${mmcdev};setenv devnum ${mmcdev};setenv devtype MMC;如果 MMC 重新扫描;然后回显器件${mmcdev}上的 SD/MMC;如果运行 loadimage;然后测试${boot_
ffit}-eq 1;然后运行 loadfit;否则运行 mmclosados;f;fi;fi;
mmcdev=0
mmclaros=run args_mmc;如果测试${boot_FDT}= yes ||测试${boot_FDT}=试用;如果运行 loadfdt;则 bootz ${loadaddr}-${fdtaddr};否则测试${boot_FDT}=试用;t
hen bootz;else echo warn:无法加载 DT;fi;fi;else bootz;fi;
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console}${optargets}root=/dev/nfs nfsroot=${serverip}:${rootpath}、${nfsopts}RW IP=DHCP
netboot=echo Booting from network...;setenv autoload no;dhcp;run netloadimage;run netloadfdt; 运行 netargs;bootz ${loadaddr}-${fdtaddr}
netloadfdt=tftp ${fdtaddr}${fdtfile}
netloadimage=tftp ${loadaddr}${bootfile}
nfsopts=nolock、v3、tcp、rsize=4096、wsize=4096
partitions=uuid_disk=${uid_gppt_disk};name=bootloader、start=384K、size=1792K、uid=${uid_gppt_bootloader};name=rootfs、start=2688K、size=-、uid=${uid_gppt_rootfs}
partitions_android_disk=${uuid_gppt_disk};name=xloader、start=128K、size=256K、uid=${uid_gppt_xloader};name=bootloader、size=2048K、uid=${uid_gppt_bootloader};name=UBO
ot-env、start=2432K、size=256K、uid=${uuuid_gpt_reserved};name=MISC、size=128K、uid=${uid_gpt_misc};name=recovery、size=40M、uid=${uid_gppt_recovery};name=boot、size=10M、UUI
d=${uuuid_gpt_boot};name=system、size=1024M、uid=${uid_gpt_system};name=vendor、size=256M、uid=${uid_gppt_vendor};name=userdata、size=-、uuuuid=${uid_gppt_userdata}
PSDK_setup_file=.PSDK_setup
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
读数地址= 0x88080000
rootpath=/home/ksmith/ti-processor-sdk-linux-am57xx-evm-06.03.00.106/targetNFS
run_fit=bootm ${fit_loadaddr}#${fdtfile}${overlaystring}
脚本地址=0x80000000
序列号=1801200538b20802
setconsole=if $board_name=am5729_beaglebonai;然后 setenv 控制台 ttyS0、115200;fi;fdtfile=undefined
SoC=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=串行@48020000
stdin =串行@48020000
stdout=串行@48020000
uenvcmd =如果运行 CHECK_PSDK_setup;然后回显"已设置";否则运行 do_PSDK_setup;mw.b ${loadaddr}0 1;fatwrite MMC 0:1 ${loadaddr}.psdk_setup 1;复位;fi
update_TO_fit=setenv loadaddr ${fit_loadaddr};setenv 引导文件${fit_bootfile}
usbtty=CDC_ACM
供应商= TI
ver=U-Boot 2019.01-g333c3e72d3 (2020年4月20日- 04:15:00 +0000)
VRAM=16M

环境大小:8291/131067字节
=>
Ctrl-A Z 获取帮助| 115200 8N1 | NOR | Minicom 2.7.1 | VT102 |离线| ttyUSB2

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是否已使用此 IDK 的配置配置 BOOTP 服务器? 与 DHCP 不同、它不会自动分配值。

    此外,还需要为 TFTP 设置 serverip。 看到错误

    `s错误:未设置“erverip'

    请在 uboot 之外检查您的网络、确保其正常工作。

    此致

    葡萄园

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vineyet、

    感谢您的快速响应。 除了 AM572x IDK 的用户指南中指定的配置外、我还没有进行任何其他配置。 我完成的所有配置都包含在我的帖子中。

    在本示例中、我最后没有设置 serverip、这是正确的。 但是、当我设置服务器时、我的 Linux 计算机的 IP 地址、我会得到下面概述的错误(ipaddr 未设置)。 我的理解是、DHCP 命令应该用于设置 IP 地址。 当我将 ipaddr 设置为某个任意地址时、仍然会出现相同的错误。

    以太网@48484000正在等待 PHY 自动协商完成.......... 完成
    端口0、速度1000、全双工上的链路
    BOOTP 广播1
    BOOTP 广播2.
    BOOTP 广播3.
    BOOTP 广播4.
    BOOTP 广播5.
    BOOTP 广播6.
    BOOTP 广播7.
    BOOTP 广播8.
    BOOTP 广播9.
    BOOTP 广播10.
    BOOTP 广播11.
    BOOTP 广播12.
    BOOTP 广播13.
    BOOTP 广播14.
    BOOTP 广播15.
    BOOTP 广播16.
    BOOTP 广播17.
    BOOTP 广播18.
    BOOTP 广播19.
    BOOTP 广播20.
    BOOTP 广播21.
    BOOTP 广播22.
    BOOTP 广播23.
    BOOTP 广播24.
    BOOTP 广播25.
    BOOTP 广播26.
    BOOTP 广播27.
    BOOTP 广播28.
    BOOTP 广播29

    已超过重试时间;正在重新开始
    端口0、速度1000、全双工上的链路
    `错误:未设置“ipaddr”
    端口0、速度1000、全双工上的链路
    `错误:未设置“ipaddr”

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kenyon、

    很抱歉耽误你的时间。

    我忘了问,您尝试使用哪个端口? 我检查了我的 IDK、它适用于 eth0、但不适用于 eth1

    此致

    葡萄园

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vineyet、

    我正在使用 eth0。

    但是,我方面在这一问题上取得了一些进展。 我设置了静态 IP 地址并更改了一些参数、但我不再收到此错误。 我现在遇到了另一个问题。 如果您有时间、请查看我的新帖子、链接如下:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1006411/am5729-u-boot-static-ip-address

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢。 关闭此主题。

    将检查另一个

    此致

    葡萄园