uImage烧写中出现“Loading: T T T T T T T T T T T T T T T T T T T T”时解决方法

uImage烧写中出现“Loading: T T T T T T T T T T T T T T T T T T T T”时解决方法

Abstract:本文介绍自己解决基于ARM平台下linux开发中,通过tftp下载镜像文件时出现“Loading: T T T T T T T T T T T T T T T T T T T T”的解决办法
Introduction

使用的TI DM365的评估板,使用CCS3.3烧写ubl、u-boot
首先,使用仿真器将ubl和u-boot烧写到NAND Flash中,在Linux主机上配置好TFTP服务器,在Windows下面设置并打开串口终端,下面是和众达给出的烧写操作。

uImage烧写和更新的操作
硬件连接完成后,即可通过TFTP服务下载内核,电源上电,此时Windows PC机超级终端显示启动信息,如下图:
  

超级终端显示Hit any key to stop autoboot:4 时按下回车键,中断系统,此时显示提示符SEED_DVS365v1.0 :> ;
下面配置U-Boot环境变量用于TFTP下载内核启动;
配置TFTP服务器IP地址:
Target# setenv serverip xxx.xxx.xxx.xxx
此处的xxx.xxx.xxx.xxx为TFTP服务器的IP地址,根据实际网络设置决定;
配置SEED-DVS365平台的IP地址:
Target# setenv ipaddr xxx.xxx.xxx.xxx
此处的xxx.xxx.xxx.xxx为SEED-DVS365的IP地址,根据实际网络设置决定;
配置网卡地址
Target# setenv ethaddr 00:0C:29:94:D7:D6
保存以上设置,并将SEED-DVS365重新上电
Target# saveenv
Note:重新上电的作用是使刚刚设置的MAC地址生效
关闭自动启动并烧写内核
Target# setenv autostart no
Target# saveenv
Target# nand erase 0x400000 0x200000
Target# tftp 0x80800000 uImage
Target# nand write 0x80800000 0x400000 0x200000
配置设置启动方式
Target# setenv bootcmd 'nand read 0x80800000 0x400000 0x200000; bootm 0x80800000'
配置自动启动并保存
Target# setenv autostart yes
Target# saveenv
至此,ubl、u-boot、uImage已经全部烧写完成。但此时系统不能启动Linux命令提示行,需要烧写root文件系统。

Problem: 在如上操作中

 在这一步时     Target# tftp 0x80800000 uImage    在tftp下载时出现如下情况:

SEED_DVS365v0.1 :>DM36x initialization passed!
TI UBL Version: 1.50
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
   DONE
Jumping to entry point at 0x81080000.


U-Boot 1.3.4 (Jul  9 2010 - 13:55:01)

I2C:   ready
DRAM:  128 MB
NAND:  NAND device: Manufacturer ID: 0x20, Chip ID: 0x76 (ST Micro NAND 64MiB 3,
3V 8-bit)
Bad block table found at page 131040, version 0x00
Bad block table found at page 131008, version 0x00
64 MiB
In:    serial
Out:   serial
Err:   serial
Ethernet PHY: RTL8201 @ 0x1f
Hit any key to stop autoboot:  0
SEED_DVS365v0.1 :>setenv autostart no
SEED_DVS365v0.1 :>saveenv
Saving Environment to NAND...
Erasing Nand...
Erasing at 0x3fc000 -- 100% complete.
Writing to Nand... done
SEED_DVS365v0.1 :>nand erase 0x400000 0x200000

NAND erase: device 0 offset 0x400000, size 0x200000
Erasing at 0x5fc000 -- 100% complete.
OK
SEED_DVS365v0.1 :>tftp 0x80800000 uImage
TFTP from server 192.168.1.254; our IP address is 192.168.1.101
Filename 'uImage'.
Load address: 0x80800000

TFTP from server 192.168.1.16; our IP address is 192.168.1.101
Filename 'uImage'.
Load address: 0x80800000
Loading: T T T T T T T T T T T T T T T T T T T T
Retry count exceeded; starting again

应该是tftp没有连上,查找如下设置,都没有找到问题所在 

1. linux下防火墙设置已关;
2. linux下tftp服务器设置也没问题;
3. linux下IP地址如下:
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:57:56:D2 
          inet addr:192.168.1.254  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2001:da8:100e:4154:20c:29ff:fe57:56d2/64 Scope:Global
          inet6 addr: fe80::20c:29ff:fe57:56d2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:671 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:72645 (70.9 KiB)  TX bytes:12011 (11.7 KiB)
          Interrupt:67 Base address:0x2024

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2313 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2313 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4063909 (3.8 MiB)  TX bytes:4063909 (3.8 MiB)

4. Windows XP的防火墙已关,XP的IP:192.168.1.96,XP下和虚拟机可以相互ping通

[root@localhost ~]# ping 192.168.1.96
PING 192.168.1.96 (192.168.1.96) 56(84) bytes of data.
64 bytes from 192.168.1.96: icmp_seq=1 ttl=64 time=1.63 ms
64 bytes from 192.168.1.96: icmp_seq=2 ttl=64 time=0.191 ms

但是通过评估板的u-boot ping 不通Window和Linux主机,如下:

SEED_DVS365v0.1 :>ping 192.168.1.254
ping failed; host 192.168.1.254 is not alive

Solution:经分析肯定是网路方面存在问题,考虑很久发现自己Windows下网络设置导致此问题,Windows在此环境中通过路由拨号上网,是自动获取IP地址,不需设置IP和网关等,开始时手动的设置IP和网关,但此时其实Windows  已通过DHCP给Windows分配了IP和网关,手动设置导致网络出现了问题,不需要手动的改动IP,这样问题迎刃而解。 

posted @ 2011-04-07 21:40  风尘孤客  阅读(5950)  评论(1编辑  收藏  举报