您的位置 首页 动态

stm32的相关网络问题

最近在做一个工作,就是使用stm32将数据通过internet传输到远端连接的服务器上,考虑到的问题是,首先,是需要使用FTP传输数据的,其次,是…

最近在做一个作业,便是运用stm32将数据经过internet传输到远端衔接的服务器上,考虑到的问题是,首要,是需求运用FTP传输数据的,其次,是怎样找到网络服务器的一个特定的文件夹,然后将数据封装到这个文件夹下的一个文件中,这个应该怎么完结?就收集了一些相关的材料。

1、BSD TCP/IP协议栈

BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的。这是由于BSD栈在BSD答应协议下供给了这些专业栈的雏形,BSD许用证答应BSD栈以修正或未修正的方式结合这些专业栈的代码而无须向创建者付版税。一起,BSD也是许多TCP/IP协议中的立异(如广域网中饿拥塞操控和防止)的开端点。

2、uC/IP
uC/IP是由Guy Lancaster编写的一套依据uC/OS且开放源码的TCP/IP协议栈,亦可移植到其它操作体系,是一套彻底免费的、可供研讨的TCP/IP协议栈,uC/IP大部分源码是从公开源码BSD发布站点和KA9Q(一个依据DOS单任务环境运转的TCP/IP协议栈)移植过来。uC/IP具有如下一些特色:带身份验证和报头紧缩支撑的PPP协议,优化的单一恳求/回复交互进程,支撑IP/TCP/UDP协议,可完结的网络功用较为强壮,并可削减。UCIP协议栈被规划为一个带最小化用户接口及可运用串行链路网络模块。依据选用CPU、编译器和体系所需完结协议的多少,协议栈需求的代码容量空间在30-60KB之间。http://ucip.sourceforge.net
3、LwIP
LwIP是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的一套用于嵌入式体系的开放源代码TCP/IP协议栈。LwIP的意义是Light Weight(轻型)IP协议,相关于uip。LwIP能够移植到操作体系上,也能够在无操作体系的情况下独立运转。LwIP TCP/IP完结的重点是在坚持TCP协议主要功用的根底上削减对RAM的占用,一般它只需求几十K的RAM和40K左右的ROM就能够运转,这使LwIP协议栈适合在低端嵌入式体系中运用。LwIP的特性如下:支撑多网络接口下的IP转发,支撑ICMP协议 ,包含试验性扩展的的UDP(用户数据报协议),包含堵塞操控,RTT预算和快速康复和快速转发的TCP(传输操控协议),供给专门的内部回调接口(Raw API)用于进步运用程序功用,并供给了可挑选的Berkeley接口API。http://www.sics.se/~adam/lwip/或http://savannah.nongnu.org/projects/lwip/
4、uIP
uIP是专门为8位和16位操控器规划的一个十分小的TCP/IP栈。彻底用C编写,因而可移植到各种不同的结构和操作体系上,一个编译过的栈能够在几KB ROM或几百字节RAM中运转。uIP中还包含一个HTTP服务器作为服务内容。答应:BSD许用证http://www.sics.se/~adam/uip/
5、TinyTcp
TinyTcp 栈是TCP/IP的一个十分小和简略的完结,它包含一个FTP客户。TinyTcp是为了烧入ROM规划的而且现在开端对大端结构好像是有用的(初始方针是68000芯片)。TinyTcp也包含一个简略的以太网驱动器用于3COM多总线卡http://ftp.ecs.soton.ac.uk/pub/elks/utils/tiny-tcp.txt
挑选一个开源协议栈能够从四个方面来考虑:
一个是是否供给易用的底层硬件API,即与硬件渠道的无关性;一个是与操作体系的内核API。协议栈需求调用的体系函数接口是否简单结构,另一个关于运用支撑程度。最要害的是占用的体系资源是否在可接受范围内,有削减优化的空间否? 其间,BSD 栈可完好完结TCP/IP协议,但代码巨大,70KB-150KB之间,削减优化有难度,uIP和TinyTcp代码容量细巧,完结功用精简,约束了在一些较高要求场合下的运用,如可*性与大容量数据传输。LwIP和uC/IP是同量等级的两个开源协议栈,两者代码容量和完结功用类似,LwIP没有操作体系针对性,它将协议栈与渠道相关的代码笼统出来,用户假如要移植到自己的体系,需求完结该部分代码的封装,并为网络运用支撑供给了API接口的可选性。uC/IP协议开始是针对uC/OS规划,为便利用户移植完结,相同也笼统了协议栈与渠道相关代码,可是协议栈所需调用的体系函数大多参照uC/OS内核函数原型规划,并供给了协议栈的测验函数,便利用户参阅,其缺乏在于该协议栈对网络运用支撑缺乏。 依据以上剖析,从运用和开发的视点看,好像LWIP更得到了网上许多朋友运用的喜爱;uC/IP在文档支撑与软件晋级办理上有许多缺乏,可是它开始是针对UC/OS而规划,假如选用UC/OS作为软件根底的话,在体系函数结构方面有优势。当然你挑选其他操作体系的话,可参照OS_NULL文件夹下的文件修正。 以上的这些开源协议栈也并非免费,拿来就能够用,据我所知,UC/OS的母公司推出UC/OS-TCP/IP花了6人*2年的作业量,国内某公司运用LWIP作为移植的参照,花了4-5人*2年的作业量来测验与优化协议,运用商用TCP/IP栈的高费用就缺乏为奇了。 作为广阔的爱好者学习而言,假如仅仅跑跑原型,试验一下作用,以上的几种开源协议栈都供给了测验的比如,应该是不错的挑选。个人的观点:LWIP可优先考虑,至少网上有许多的人一块研讨,参阅的材料较多;UC/IP其次,假如你想深化学习TCP/IP的话,移植UC/IP是一种挑战性的作业,它需要完善。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/252316.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部