• 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,这样问题迎刃而解。 

  • 相关阅读:
    IT人士必去的10个网站
    c++怎样让函数返回数组
    vs中“Stack around the variable was corrupted”的解决方案
    c++ eof()函数
    bat开发小工具以及使用
    Python接口自动化(一)---json数据类型取值
    MAVEN编译错误解决:maven only whitespace content allowed before start
    shell常用命令总结总结
    shell打包和解压
    java总结笔记
  • 原文地址:https://www.cnblogs.com/just4fun/p/2008728.html
Copyright © 2020-2023  润新知