首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

RL-TCPNet的移植与使用简介

RL-TCPNet的移植与使用简介

本文阅读前提:
        1.  OSI七层模型和TCP/IP协议结构
        2.  一些ARM开发经验,特别是MDK的
        3. MII/RMII/SLIP相关概念

         在互联网/物联网时代,嵌入式产品接入网络已经不是什么新鲜概念或高端技术了。 通过网络对产品进行远程管理是一种流行而又高效的方法,常见的方法有Telnet(TCP)、SNMP(UDP)和HTTP,这些要求产品拥有网卡(硬件)和支持TCP/IP协议(软件)。
         基于嵌入式Linux的产品先天就拥有了TCP/IP的协议栈支持,而一些传统的不带OS或基于小型RTX操作系统(uCos-ii)也借助于LWIP,uIP等开源TCP/IP协议栈实现了网络应用。
         Keil公司的MDK是最流行ARM开发工具,作为MDK的RL库一部分的RL-TCPnet自然值得关注,虽然在MDK早期版本就已经布RL-TCPnet,但据江湖传言有协议支持不全和bug多等问题。但经过多次改进和升级,目前(MDK v4.7)已经相当稳定和好用了,MDK v5.0更是对其进行了大幅度升级(名字都变了)。在MDK下使用RL-RTX+RL-TCPNet构建应用有着得天独厚的优势。RL-TCPnet唯一的不好,可能就是不开源吧。
        
        根据笔者经验,移植TCP/IP做网络应用,难点不在传输层/网络层或是应用层而是在物理层(网卡/PHY芯片提供)和MAC层(ARM芯片提供)。理由如下:
        1.很多TCP/IP库应用层都提供了大家熟悉的BSD Socket接口,可以像Linux上那样方便开发网络应用。
        2.传输层和网络层都是封装在TCP/IP库内部,如果不是要去研究tcp/ip协议过程不需要太关心其内部细节。
        3.MAC层和物理层都是由硬件提供的,各个案例使用的芯片各不相同,需要针对不同的芯片实现其驱动以及供TCP/IP库调用的接口。
继承事业,薪火相传
返回列表