【嵌入式Linux学习七步曲之第二篇 交叉开发环境】U-boot和Windows TFTP server交互,socket recv error 10060

本文主要是介绍【嵌入式Linux学习七步曲之第二篇 交叉开发环境】U-boot和Windows TFTP server交互,socket recv error 10060,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 U-boot和Windows TFTP server交互,socket recv error 10060
Sailor_forever  sailing_9806#163.com 转载请注明
http://blog.csdn.net/sailor_8318/archive/2009/11/14/4811785.aspx


TFTP服务器设置在Windows上,采用的是CISCO的TFTP服务器

开发板ping Windows主机,证明网络连接没有问题
=> ping 150.236.68.227
Trying FCC1 ETHERNET
Using FCC1 ETHERNET device
host 150.236.68.227 is alive

小文件传输,没有问题
=> tftp 0x800000 hrcw.bin
Trying FCC1 ETHERNET
Using FCC1 ETHERNET device
TFTP from server 150.236.68.227; our IP address is 150.236.68.211
Filename 'hrcw.bin'.
Load address: 0x800000
Loading: #
done
Bytes transferred = 256 (100 hex)


=> tftp 0x800000 ppcboot_ram.bin
Trying FCC1 ETHERNET
Using FCC1 ETHERNET device
TFTP from server 150.236.68.227; our IP address is 150.236.68.211
Filename 'ppcboot_ram.bin'.
Load address: 0x800000
Loading: T T T #T T T T #T T T #
Retry count exceeded; starting again
Trying FCC1 ETHERNET
Loading: ##T #T #T T #T T T fec: rx error 0c84
大的文件传输过程中偶尔出现错误,导致超时,次数达到Uboot的设置次数时,将对所有内容进行重传

主机端tftp显示socket recv error 10060
 

客户端显示如下图所示:
=> tftp 0x80000 pbist.0817.1.swd
Trying FCC1 ETHERNET
Using FCC1 ETHERNET device
TFTP from server 150.236.70.104; our IP address is 150.236.68.211; sending through gateway 150.236.68.129
Filename ' pbist.0817.1.swd
.
Load address: 0x80000
Loading: T T T T T T
Abort

捉包分析如下图所示:
 

可见数据包是一个畸形(malformed)的数据包
这是因为uboot采用的是Linux的socket机制,和Windows的实现有细微差异,导致传输过程在网络环境不好时易出现错误


按照http://blog.csdn.net/sailor_8318/archive/2009/11/14/4811277.aspx在Linux上设置服务器

=> tftp 0x80000 pbist.0817.1.swd
Trying FCC1 ETHERNET
Using FCC1 ETHERNET device
TFTP from server 150.236.70.104; our IP address is 150.236.68.211; sending through gateway 150.236.68.129
Filename 'pbist.0817.1.swd'.
Load address: 0x80000
Loading: ################
done
Bytes transferred = 221263 (3604f hex)

在Linux服务器上 很快就传输完成了

这篇关于【嵌入式Linux学习七步曲之第二篇 交叉开发环境】U-boot和Windows TFTP server交互,socket recv error 10060的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/284515

相关文章

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

如何在 Spring Boot 中实现 FreeMarker 模板

《如何在SpringBoot中实现FreeMarker模板》FreeMarker是一种功能强大、轻量级的模板引擎,用于在Java应用中生成动态文本输出(如HTML、XML、邮件内容等),本文... 目录什么是 FreeMarker 模板?在 Spring Boot 中实现 FreeMarker 模板1. 环

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制