您的位置】:知源论文网 > 理工类论文 > 通信论文 > 正文阅读资讯:嵌入式LWIP网络客户端设计

嵌入式LWIP网络客户端设计

[作者:胡晓玲等[来源:互联网]| 打印 | 关闭 ]


  修改os_cp u_c.c又件,注释掉以下定义和函数: 
  #define OS_CPU_CM3_NVIC_ST_CTRL (*((volatileINT32U*)OxEOOOE010))
  #define OS_CPU_CM3_NVIC_ST_RELOAD (*((volatile INT32U*)OxEOOOE014)) 
  #define OS_CPU_CM3_NVIC_ST_CURRENT(*((volatileINT32U*)OxEOOOE018)) 
  #define OS_CPU_CM3_NVIC_ST_CAL 
  (*((volatileINT32U*)OxEOOOE01C》 
  #define OS_CPU_CM3_NVIC_PRIO_ST (*((volatileINT8U*)OxEOOOED23)) 
  #define OS_CPU_CM3_NVIC_ST_CTRL_COUNTOx00010000
       #define OS_CPU_CM3_NVIC_ST_CTRL_CLK_SRCOx00000004 
  #define OS_CPU_CM3_NVIC_ST_CTRL_INTENOx00000002 
  #define OS_CPU_CM3_NVIC_ST_CTRL_ENABLEOx00000001 
  #define OS_CPU_CM3_NVIC_PRIO_MINOxFF 
  void OS_CPU_SysTickHandler(void)函数 
  void OS_CPU_SysTicklnit (void)函数 
  3 轻量级协议栈LWIP的移植 
  LWIP是轻量级的TCP/IP协议栈,协议栈中涉及的函数与数据结构和操作系统及硬件不相关,如果需要使用uC/OS-II操作系统的函数,必须通过操作系统模拟层进行调用。所以移植LWIP协议栈,实际上就是移植到uC/OS-II操作系统。操作系统模拟层为定时器、同步处理、消息传送机制等服务提供一组外留的接口函数,为LwIP提供两种进程间通信方式:信号量和邮箱。创建任务函数、临界保护函数以及信号量和邮箱操作函数均由uC/OS-II提供,进行针对LwIP的移植任务时,就是修改相关接口函数(包括信号量操作函数、邮箱操作函数、临界保护函数、sys_thread_new()函数、sys_arch_timeouts()函数),从而实现LwIP操作系统模拟层的函数利用[4-5] 
  LWIP的数据包包头是14个字节,基于LWIP的以太网接收的数据包格式以一个数据结构来描述:PACK_STRUCT_BEGIN 
  struct eth—hdr{ 
  PACK_STRUCT_FIELD(struct eth_addr dest);//目标的媒质接入控制层地址 
  PACK_STRUCT_FIELD(struct eth_addr src);//源的媒质接入控制层地址 
  PACK_STRUCT_FIELD(u16_t type);//类型 
  ) PACK_STRUCT_STRUCT; 
  PACK_STRUCT_END 
  其中几个PACK_STRUCT_xxx的宏定义与编译器字对齐相关,上面的目标dest、源src和类型type三个字段分别对应目标的媒质接入控制层地址、源的媒质接入控制层地址、数据类型。 
  4结论 
  测试前需要把计算机与嵌入式网口模块的IP地址配置在同一网段,IP地址分别为192.168.1.100,192.168.1.102。如果想查看IP地址配置情况,运行CMD命令行,执行ipco nfig/all命令。配置完以后,接着ping嵌入式网口的IP地址,结果如图2所示。 
  从图2可以看出:主机ping 32字节的数据,4个包所用的时间最长为5ms,最短为3ms;而4个包的TTL值均为255,这是由于最优路径选择算法定下来以后,经过一段时间稳定后,网络拓扑结构也稳定了,数据包的路由路径也会相应稳定在一个最优路径上。整个过程的数据收发正确,错误率为0%。 
  参考文献: 
  [1]张齐,劳炽元轻量级协议栈LWIP的分析与改进[J]计算机工程与设计,2010,31(10):2169—2256 
  [2]方琼琼,李正平基于Rth-read的嵌入式串口服务器的设计与实现[J]电脑知识与技术,2012.8(10):2425—2428 
  [3]陈希超,王健基于RT—Thread的嵌入式网络通信[J]电声技术,2012,36(12):49—56 
  [4]杨俊,吕建平,徐峰柳基于uC/0S—II和LwIP的嵌入式Web服务器实现[J]电气自动化,2011,33(3):62—64 
  [5]赵国锋,马文武基于LWIP的嵌入式网络系统设计与实现[J]微计算机信息,2008,24(8—2):59一61 
  [6]sonqhexin8STM32F107中国版用户手册[EB/OL][2012-12-06]http://wenku.baiu.com/link?url=EFDU6D5lPaOCl3mZJ2tuIZeBX2aVl kMKC41 nYDXF40W4F0toIf60txaWeJ94hHYa5fEVLOW067NMMS7bySVm COWhCltXFfKRICjfH—NZa 
  [7]高吉星,赵强,佟为明,基于ENC28J60的TMS320F281 2以太网通信接口设计[J].计算机测量与控制2013,21(3):709一711 
  [8]啊左不是蜗牛,UC,OS—II学习笔记一STM32移植[EB/OL][2012—12—29]hTTP://bbs.ednchina.com/BLOG__ARTlCLE 3010147 HTM:http://bbs.ednchina.com/BLOG ARTICLE 3010148.HTM

Tags: