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,这样问题迎刃而解。
uImage烧写中出现“Loading: T T T T T T T T T T T T T T T T T T T T”时解决方法相关推荐
- opencv中 当你直接把别人的程序拖进去无法运行时 解决方法
当你下载别人的程序时,,在别人的项目中可以运行,但是当你把别人的程序拖到你自己建立的项目中时, 你无法使用的解决方法: 1.笨的方法,你再你新建的项目中添加新的.cpp 和头文件,,然后把别人的程序内 ...
- 将一个数组中的值按逆序重新排放。_六十五、下一个更大的数系列,单调栈解决方法...
「@Author:Runsen」 ❝ 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化. 「---- Runsen」 ❞ 据说,放张小姐姐觉得照片可以提高阅读量,图是来源学校 ...
- vc20++中使用scanf等函数8出现报错时解决方法
在使用vc++2010编写C语言代码的过程中,scanf.strcpy.strlen.strcat等C语言提供的被认定为不安全的函数在代码运行的过程中会出现报错,为了保有代码的跨平台性和可移植性,不支 ...
- 已配置好环境,在CMD中输入adb命令,还是提示“‘adb‘ 不是内部或外部命令,也不是可运行程序或批处理文件”的解决方法
前提:win10环境,已在系统变量中配置好ANDROID_HOME,且确认无误,cmd输入adb命令,还是提示"'adb' 不是内部或外部命令,也不是可运行程序或批处理文件" 百度 ...
- Latex中文字超过文本宽度时解决方法
一般多发于英文单词,直接在合适位置加"-"重新运行即可.如果是但或符号后接中文的情况,系统可能会默认将符号后一个中文字加在前一行末尾导致超过宽度,此时加//即可.不要在英语单词中加 ...
- keil将c语言转换成hex文件格式,如何用keil烧写hex文件格式
描述 如何将现成的hex文件用keil烧写 开发单片机的第一步就是用Keil软件编写汇编程序,并形成最终的"*.hex"目标文件,然后用编程器将该文件烧写到单片机中就行了,最后将烧 ...
- jlink 烧写norflash方法
前言: 许多入门者有时候不小心会把norflash中的bootload给弄没了(或者移植uboot 到nor flash中),导致norfash和nandflash都没有启动代码,这时候很郁闷,因为你 ...
- [Arduino]烧写Arduino BootLoader的几种方法
[Arduino]烧写Arduino BootLoader的几种方法 身为Arduino 电子工程师,很多时候都会涉及到自制各种功能的Arduino 电路板(亦或者说是功能扩展板),但是从网上或者其他 ...
- micropython8266ota_[Micropython]TPYBoardV102 Dfu固件烧写教程
TPYBoardv10x固件烧写一直是大家比较关心的问题,上次教大家用SWD接口烧写TPYBoard的固件,这次教大家用另一种方式烧写我们TPYBoardv10x的固件,直接用dfu模式烧写固件. 用 ...
最新文章
- buffers和cache的区别
- 使用jmeter对ActiveMQ集群性能方案进行评估--转载
- JDBC-连接数据库代码
- GDCM:gdcm::DataElement的测试程序
- org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory
- [剑指offer]面试题第[67]题[Leetcode][JAVA][第8题] 字符串转换整数 (atoi)[字符串]
- oracle10g 操作系统,各版本操作系统ORACLE 10g 下载(包括windows和linux)
- python filter过滤器的使用_Python filter过滤器原理及实例应用
- sql server 入门_SQL Server查询调整入门
- Java_脚本引擎_01_用法入门
- c 语言编程文档下载,C语言编程规范
- linux读用户密码,linux用户/用户密码和用户组管理
- lammps教程:薄膜渗透过滤模拟(1)
- 【vue+elementui】时间选择器:时间格式、设置时间最大日期或最小日期、设置时间选择范围
- 怎么配置内网IP SSL证书?
- 史玉柱自述:我是如何做游戏策划
- 计算机机房通风,机房为什么要装通风系统?
- 有些钱,即便不脏,但也有毒。
- 怦然心栋-冲刺日志(第10天)
- 基础算法(三):双指针/位运算/离散化/区间合并