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.

[参考译文] PROCESSOR-SDK-AM335X:无法通过 TFTP 从 VM 加载 uImage。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1213590/processor-sdk-am335x-failure-to-load-uimage-via-tftp-from-vm

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:TPS65217

我的任务是恢复以前需要更换一些过时部件的产品线。

通过 SSH 使用 Qt Creator 2.8进行开发。

原始 SDK 访问权限为 U-Boot 2013.01.01 (2014年9月4日)、这时基于 BeagleBone White 并对我们的定制板创建了原始 MLO、u-boot 和 uImage 文件。

与此同时、我的公司已将我们的系统网络布局从10.0.0.x 迁移到10.72.2.x 方案。

由于针对 Windows 操作系统安全风险进行 PC 升级、我还不得不克隆 VirtualBox 计算机。

这是修改 uEnv.txt 文件和 VM 以进行正确以太网寻址后串行控制台的输出。

U-Boot SPL 2013.01.01 (2014年9月4日- 11:40:47)
板引脚多路复用
am33xx_spl_board_init
tps65217背光完全打开。
MUSB-hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、批量组合、批量拆分、HB-ISO Rx、 HB-ISO Tx、SoftConn)
musb-hdrc:MHDRC RTL 版本2.0
Musb-hdrc:设置 fifo_mode 4
Musb-hdrc:最大28/31 EP、16384/16384存储器
USB 外设模式控制器、电压为47401000、使用 PIO、IRQ 0
MUSB-hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、批量组合、批量拆分、HB-ISO Rx、 HB-ISO Tx、SoftConn)
musb-hdrc:MHDRC RTL 版本2.0
Musb-hdrc:设置 fifo_mode 4
Musb-hdrc:最大28/31 EP、16384/16384存储器
处于47401800且使用 PIO、IRQ 0的 USB 主机模式控制器
OMAP SD/MMC:0
正在读取 u-boot.img
正在读取 u-boot.img


U-Boot 2013.01.01 (2014年9月4日- 11:40:47)

I2C:就绪
DRAM:256 MIB
警告:缓存未启用
Board_init
Board_init
MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
***警告- readenv()失败,使用默认环境

MUSB-hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、批量组合、批量拆分、HB-ISO Rx、 HB-ISO Tx、SoftConn)
musb-hdrc:MHDRC RTL 版本2.0
Musb-hdrc:设置 fifo_mode 4
Musb-hdrc:最大28/31 EP、16384/16384存储器
USB 外设模式控制器、电压为47401000、使用 PIO、IRQ 0
MUSB-hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、批量组合、批量拆分、HB-ISO Rx、 HB-ISO Tx、SoftConn)
musb-hdrc:MHDRC RTL 版本2.0
Musb-hdrc:设置 fifo_mode 4
Musb-hdrc:最大28/31 EP、16384/16384存储器
处于47401800且使用 PIO、IRQ 0的 USB 主机模式控制器
Board_late_init
NET:board_eth_init
未设置。 正在验证第一个电子熔丝 MAC
cpsw、USB_ether
按任意键以停止自动引导:0
mmc0是当前器件
在器件0上找到 SD/MMC
请访问 uEnv.txt
287字节在4ms 内读取(69.3KiB/s)
从 uEnv.txt 加载的环境
从 MMC 导入环境...
正在运行 uenvcmd ...
正在从网络引导...
Cpsw 等待 PHY 自动协商完成。 停止更新
在端口0、速度100、全双工上建立链路
BOOTP 广播1.
DHCP 客户端绑定到地址10.72.25.161
查找器件
来自服务器10.72.25.34的 TFTP;我们的 IP 地址是10.72.25.161
文件名"uImage-AM335x-EVM.bin"。
载入地址:0x80200000
加载:T T T T T T T T T T T T T T T T T
已超过重试计数;再次开始
使用 musb-hdrc、out ep1out 处于 ep1in 状态 ep2in
Mac 98:5d:ad:3b:b6:3e.
主机 MAC DE:AD:BE:af:00:00
RNDIS 就绪
错误:远程端没有及时响应。
at ether.c:2395/usb_eth_init()


在端口0、速度100、全双工上建立链路
BOOTP 广播1.
DHCP 客户端绑定到地址10.72.25.161
查找器件
来自服务器10.72.25.34的 TFTP;我们的 IP 地址是10.72.25.161
文件名"uImage-AM335x-EVM.bin"。
载入地址:0x80200000
加载:T T


此外、以下是环境变量的列表:

U-Boot# printenv
ARCH=臂章
波特率=115200
电路板= AM335x
Board_name=AM335x
bootargs=console=ttyO0、115200n8 root=/dev/nfs nfsroot=10.72.25.34:/home/dsiegers/ti-sdk-am335x-evm-06.00.00.00/targetNFS、nolock RW IP=dhcp
bootargs_defaults=setenv bootargs console=${console}${opargs}
bootcmd=mmc dev ${mmcdev};if test -n $ucecho;then echo SD/MMC found on device ${mmcdev};if run loadboottenv;then echo loadbootenv;run importbootenv;fi;if test -n $ucecho;then echo run uenvcmd ...; run uenvcmd;fi;if run uenvcmd;if run uenvid; then run uenvid; f; f; then run
引导延迟=1
bootenv=uEnv.txt
BootFile=uImage-am335x-evm.bin
console=ttyO0,115200n8
CPU=armv7
DFU_alt_info_eMMC=rawemmc MMC 0 3751936
dfu_alt_info_mc=boot part 0 1;rootfs part 0 2;mlo fat 0 1;mlo.raw MMC 100 100;u-boot.img.raw mmc 300 3C0;u-boot.img fat 0 1;uEnv.txt fat 0 1
dfu_alt_info_nand=SPL 部分0 1;SPL.Backup1部分0 2;SPL.Backup2部分0 3;SPL.backup3部分0 4;u-boot 部分0 5;内核部分0 7;rootfs 部分0 8
ethact=cpsw
ethaddr=98:5d:ad:3b:b6:3e.
FDT_HIGH=0xffffffff
fdtaddr=0x80F80000
filesize=0x11f
findfdt=if test $board_name = A335BONE;then setenv fdtfile am335x-bone.dtb;fi;if test $board_name = A33515BB;then setenv fdtfile am335x-evm.dtb;fi;如果 test $board_name = A335x_sk;then setenv fdtv;then;then
importbootenv=echo 从 MMC 导入环境...;env import–t $loadaddr $filesize
ip_method=DHCP
kloadaddr=0x80007fc0
loadaddr=0x80200000
loadbootenv=fatload mmcdev ${mmcdv}${loadaddr}${bootenv}
loadramdisk=fatload MMC ${mmcdev}${rdaddr}ramdisk.gz
loaduimage=ext2load MMC ${mmcdev}:2 ${kloadaddr}/boot/${bootfile}
loaduimagefat=fatload MMC ${mmcdev}${kloadaddr}${bootfile}
mmcargs=run boottargets_defaults;setenv bootargs ${bootargs}root=${mmcroot}rootfsttype=${mmcrootfstype}ip=${IP_method}
mmcboot=echo 从 MMC 引导...;运行 mmcargs;bootm ${kloadaddr}
mmcdev=0
mmcroot=/dev/mmcblk0p2 ro
mmcrootfsttype=ext3 rootwait
mtdds=nand0=omap2-nand.0
mtdparts=mtdparts=omap2-nand.0:128k (SPL)、128k (SPL.Backup1)、128k (SPL.Backup2)、128k (SPL.Backup3)、1920k (u-boot)、128k (u-boot-env)、5m (内核)、-(rootfs)
nandargs=setenv bootargsconsole=${console}${opargs}root=${nandroot}rootfsttype=${nandrootfstype}
nandboot=echo 从 nand 引导...;运行 nandargs;并读取${loadaddr}${nandsrcaddr}${nanddimgsize};bootm ${loadaddr}
Nandimgsize=0x500000
nandroot=ubi0:rootfs rw ubi.mtd=7、2048
nandrootfsttype=ubifs rootwait=1
nandsrccaddr=0x280000
netargs=setenv bootargsconsole=${console}${optargets}root=/dev/nfs nfsroot=${serverip}:${rootpath}、${nfsspts}rw ip=dhcp
netboot=echo 从网络引导...;setenv 自动加载否;dhcp;tftp ${loadaddr}${bootfile};运行 netargs; Bootm ${loadaddr}
nfsspts=nolock
ramargs=setenv bootargs console=${console}${opargs}root=${ramroot}rootfsttype=${ramrootfstype}
ramboot=echo 从 ramdisk 引导...;运行 ramargs;bootm ${loadaddr}
ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr}、64M
ramrootfstype=ext2
rddr=0x81000000
rootpath=/home/dsiegers/ti-sdk-am335x-evm-06.00.00.00/targetNFS
serverip=10.72.25.34
SoC=am33xx
spiargs=setenv bootargs console=${console}${opargs}root=${spiroot}rootfstype=${spirootfstype}
spiboot=echo bootfrom SPI ...;运行 spiargs;sf probe ${spibusno}:0;sf read ${loadaddr}${spisrcaddr}${spiimgsize};bootm ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
spirootfstype=jffs2.
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:::off
stderr=串行
stdin =串行
stdout=串行
TFTP_NFS_BOOT=echo 从网络引导...;DHCP ${loadaddr}${bootfile};运行 netargs;bootm ${loadaddr}
uenvcmd=运行 tftp_nfs_boot
USBnet_devaddr=98:5d:ad:3b:b6:3E
供应商=ti
Ver=U-Boot 2013.01.01 (2014年9月4日- 11:40:47)

超时消息中是否有任何迹象表明 uImage 文件未被下载?

u-boot 文件是否存在串行输出流中不明显的网络转移导致的问题?

提前感谢您。

大卫·西格尔斯

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

    您好!

    出现超时消息是由于 tftp 服务器没有响应。 不幸的是、超时消息未提供有关导致问题的原因的太多信息。 我的建议是专注于镜像的网络交付、方法是确认 tftp 服务器已正确配置为提供映像供下载、并通过 tftp 从 u-boot 命令行读取内核。  

    另请注意、u-boot 和内核的使用期限超出了 SDK 版本2年的正常支持窗口。 TI 可能无法支持此 SDK 版本。  

    此致、

    Schuyler 先生