自己做的ARM的UDP通信实验 - 图文(2)
用函数OSTaskCreate()或函数OSTaskCreateExt()实现。最后函数main()调用函数 OSStart()将控制权交给μC/OS-II内核main()函数也就结束了。μC/OS-II应用程序主函数如下:
程序清单 1
int main (void) {
OSInit(); uC/OS-II
OSTaskCreate(TaskStart,(void *)0, &TaskStartStk[127], 3); //创建起动任务 OSStart(); }
//开始多任务
//
初
始
化
5
第3章 ZLG/IP软件包结构和配置
3.1 ZLG/IP软件包结构
为了使软件可移植性强、易维护,该软件包采用分层的方法编写。包括网络传输用到的协议、硬件驱动及μC/OS-II的结构进行分层。ZLG/IP包相关文件说明如表格 1
表格 1 软件包相关文件说明
文件名 ARP.C CRC.C Ethernet.C HARDWARE.C IP.C ICMP.C Socket.C TCP.C UDP.C 简要说明 地址解析协议 循环冗余码校验 以太网标准 硬件驱动 网络互联协议 因特网控制消息协议 本地端口协议 传输控制协议 用户数据包协议 传输层有两个协议传输数据:传输控制协议TCP和用户数据报协议UDP。TCP协议是面向连接的一个协议,可靠性高,费用也高;UDP协议是提供最少服务和费用的传输层协议。
UDP是最简单的传输层协议,它具有以下特点:
? 无连接:UDP不基于连接来传输数据。
? 不可靠:UDP的数据报发送时没有定序,所以UDP传送的数据是不可靠的,只有靠应用层协议中增加超时重发等功能才能提供可靠的服务。
? 提供应用层协议标识:UDP报头有定义应用层协议标识和目标应用层标识。
? 提供UDP报的校验和:UDP报头包含有整个UDP报(包括报头和有效负载)及伪报头的校验和,计算方法与计算IP数据报校验和的计算方法相同。
? 缓冲:UDP协议不提供任何数据接收或发送的缓
6
冲区。缓冲区应该由应用层协议提供。
? 分段:UDP协议不提供分段传输方式,所以应用层协议要尽量发送小的包。
SOCKET接口函数是TCP/IP的API。使用SOCKET API函数编写UDP通信的任务时,分为服务器方式两种。服务器方式是先接收到数据再进行处理,而客户机则是先发生数据后等待回应处理,它们用到的SOCKET API函数都是相同的。如图 2所示就是UDP通信时服务器端和客户机通信函数应用过程图。
服务器端客户机端socket创建套接字socket创建套接字Blind()本地IP和端口与套接字相连Blind()本地IP和端口与套接字相连Recvfrom()和sendto()直接完成数据收发Recvfrom()和sendto()直接完成数据收发Closesocket()删除套接字Closesocket()删除套接字结束结束
图 2 UDP通信是SOCKET API函数的应用
7
第4章 设计过程
4.1 设计步骤
由于使用DM9000的网络控制芯片的Magic2200的实验箱有点问题,后来我们改用使用RTL8019AS网络控制芯片的EasyARM2200教学实验平台。
1) 启动ADS1.2,使用ARM Executable Image for μCOS-II(lpc22xx)工程模板建立一个工程shiyan。
2) 把μCOS-II内核源码和移植文件,ZLG/IP软件包目录拷贝到已建工程目录下,如图 3所示,arm目录为移植文件目录,Source目录为μCOS-II内核源码,tcpip目录为ZLG/IP软件包目录。
图 3 项目目录结构
3) 修改tcpip\\include\\cfg_net.h文件,修改MAC地址为:0x00,0x14,0x97,0x0F,0x1F,0x9D、子网掩码为255.255.0.0、IP地址:172.30.172.77、本地网关地址为PC机IP:172.30.172.125。如程序清单 2
8
程序清单 2 MAC和IP设置
/************** first Net Port Config **************************/ #define My_Mac_1ID
{0x00,0x14,0x97,0x0F,0x1F,0x9D} //将RTL8019的物理地址存储在程序空间?
#define IP_MARK_1ID
//255.255.255.0,子网掩码
#define MY_IP_1ID {172,30,172,77} #define MY_GATEWAY_1ID {172,30,172,125} /**************End Net Port Config ***************/ 4) 修改shiyan\\src\\os_cfg.h文件,OS_MAX_EVENTS改为42,OS_LOWEST_PRIO改为62,OS_MAX_QS改为10。
5) 在ADS的项目窗口中添加TCPIP的文件组;然后把tcpip\\目录下的ARP\\Arp.c、ETHERNET\\Ethernet.c、HARDWARE\\Hardware.c、IP\\Ip.c、PING\\Icmp.c、
SOCKET\\zlg_socket.c和TCP\\Tcp.c、UDP\\Udp.c等文件添加到该文件组,最后把程序编好添加到ADS项目窗口的user文件组中,如
{255,255,0,0}
图 4 shiyan工程窗口
9
…… 此处隐藏:511字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍