基于uCOSII的网络通信设计与实现

基于uCOS—II的网络通信设计与实现刘晓重庆通信学院刘勇大连理工大学【摘要】木题目采用以S3C44B0X作为主处理器的EDUKIT—III硬件平台,系统的软件平台采用嵌入式uCOS—II操作系统。该操作系统己经被成功地移植到了ARM处理器上,并且在uCOS—II上移植了嵌入式TCP/IP协议栈LwIP,同时实现了开发平台上网卡cs8900a的驱动程序。【关键词】嵌入式系统uCOS-Hcs8900a协议栈【中图分类号】TP39【文献标识码】A【文章编号】1674-4810(2010)10—0018-02一uCOS—II实时操作系统uCOS—II是专门为嵌入式应用设计的实时操作系统内核,它具有以下几个优点:源代码公开,代码结构清晰,注释详尽,可移植性好,可方便裁减,最多可以开启60个任务。对uCOS—II的移植实际上是对与处理器有关的代码进行重写或修改。移植工作毡括以下几个内容:基木的配置和定义(OS_CPU.h)、移植OS_CPU_C.C标准C代码文件、移植OS_CPU_A.ASM汇编代码文件。二嵌入式协议栈LwIPLwIP是TCP/IP协议栈的一种实现。LwIP的主要目的是减少存储器利用量和代码尺、?,使LwIP适合应用于小的、资源有限的处理器如嵌入式系统。为了减少处理器和存储器要求,LwIP可以通过不需任何数据拷贝的API进行裁减。完成LwIP在uCOS—II上的移植就是要调用uCOS—II的函数实现系统的初始化、任务的同步、时间管理和内存管理几个部分的功能。(1)uCOS—II系统相关头文件的修改是为了与CPU相关的定义相匹配,修改例如字节的长度、字的高低位顺序的定义等;(2)利用uCOS—II操作系统的函数完成LwIP中信号量、消息队列、定时器和线程创建等功能的封装。三网络设备的驱动实现本设计中使用的网卡芯片是在ARM嵌入式开发与应用实验平台EDUKIT-III上集成的网卡芯片cs8900a。在LwIP中有多个网络接口,每个网络接U对应了一个网络结构structnetif。这个结构定义了网络接口的属性、收发函数等◊可以调用netif—>input()和netif—>output()进行以太网数据包的接收、发送操作。四Ping测试在本设计中PC机IP设置为“192.192.192.36”,网关设为“192.192.192.1”,将目标板的IP设置为“192.192.192.200”,网关设置为“192.192.192.1”,二者在同一个子网中,并且目标板的MAC为“00—06—98一01—7e—8f”。将目标板与PC机用网线相连,使用PowerICEForARM(仿真器)将编译好的程序下载到0标板的RAM中,运行源程序,在0标板上初始化uCOS-II、协议栈、网卡驱动。此时由于PC机与0标板没冇进行过网络通信,所以在PC机本地的ARP缓存中没有0标板的IP地址一MAC地址映射关系。在PC机上打开命令行界面,执行命令“arp—a”可以看见,PC机的本地ARP缓存中没有0标板的IP—MAC地址映射关系(192.192.192.200与00—06—98—01—7e—8f)。图1Ping之前PC机的ARP缓存此吋在PC机命令行界面中运行命令“ping192.192.192.200”之后,再键入命令“arp—a”观察此吋PC机的ARP缓存,可以发现0标板的IP地址一MAC地址映射关系(192.192.192.200与00—06—98—01—7e_8f)己经写入了PC机的ARP缓存。图2Ping之后PC机的ARP缓存Ping的过程中,由于PC机上ARP缓存中没有目标板的IP地址一MAC地址映射关系,所以PC机首先在网络上广播ARP消息,在发送的ARP包中含有0标板的IP地址和PC机的IP地址、MAC地址,当0标板接收到这个ARP包时,它会和自己的IP地址比较,发现一致后会发送给PC机一个ARP冋复,这个ARP冋复包将B标板的IP地址作为源IP地址,将PC机的IP地址作为B的地址,同吋含有0标板的MAC地址。这样当PC机收到这个冋复后,会将0标板的IP地址、MAC地址取出加入到本地的IP—MAC地址映射表中,这样有了这个地址映射表,就可以在PC机和S标板之间进行正常的网络通信。五结论在本设计中,对于协议栈中ICMP等其他网络通信协议并没冇进行相关的研究和设置,所以Ping结果是不通的,但是PC机上ARP缓存的成功建立说明PC机和0标板的基本网络通信己经成功,0标板接收、发送网络数据包的功能已经实现,底层的软硬件平台已经搭建,为通信功能的完善和进一步的网络应用奠定了基础。在本设计中,0标板对于ARP消息的接收和发送功能已经实现,可以在PC机上成功构建目标板的IP—MAC地址映射关系,实现了基本的网络通信功能,...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?