实战uC-TCPIP

本文记录了在ARM7平台移植和测试uC-TCPIP协议栈的过程,包括搜集资料、代码移植和测试调试三大部分。在移植过程中,遇到了如uCOS-II版本升级、配置错误、BSP和NIC驱动等问题,最终成功实现了UDP和TCP的收发。总结了移植经验教训,强调了理解目录结构、正确配置头文件、注意大小端问题等要点。

    经过十几天的努力,终于在板子上把uC-TCPIP跑起来了。趁着还记得,赶紧把过程记录下来,分享心得体会。当中也走了不少弯路,以后吸取经验教训。

 

    这十几天的工作大概可以分为三个部分:搜集资料、代码移植、测试调试。

 

    由于项目需要,我们要在现有的ARM7平台上加网口跑TCP应用,然而我们现有的工程并没有实现TCP/IP协议栈。在初步调研之后,开始在网上搜集了关于一些uC-TCPIP的资料,主要有“官方Micrium”uC-TCPIP的源码,再加两三个不同硬件平台上的使用示例(感谢csdn、google svn和分享者等)。此外还搜索到几篇uC-TCPIP使用经验的帖子或者博文。

    官方源代码里面分了好几个目录,其中uC-TCPIP目录下的Source是最核心的源码。简单地说,Source是直接拿过来用的,其他部分例如NIC、OS、CPU等目录是根据具体开发环境具体分析修改的。此外uC-Lib是个通用的函数库,处理内存分配和字符串转换等,也可以直接拿来用。

 

    我们的项目一直是使用uCOS-II的,然而仔细看了uC-TCPIP的配置说明,uCOS-II的最低版本要求是v2.8x,而我们当前用的是uCOS-II v2.52,所以第一步必须先升级uCOS-II。

    经过一两天的努力,我把原来DSP和ARM平台上面项目的uCOS-II都升级成v2.86,中间因为配置错了idle task堆栈大小导致溢出,花了点时间去调试。

    移植uC-TCPIP就比较花功夫了。首先我是在ARM7的平台上做尝试。先把uC-TCPIP/source加进工程,设置好搜索目录路径,这时编译通过但链接失败,原因是还有很多函数引用没有实现。解决方法是搜索uC-TCPIP/IF、uC-TCPIP/OS、uC-Lib等模块,选择适合的实现文件并加入到工程。因为

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值