lwip开源协议栈移植之旅开始了,哈哈 很有挑战哦!!
lwip有无操作系统支持都可以使用,不依赖于操作系统。
带操作系统移植需要实现操作系统模拟层实现文件,LwIP 的作者为操作系统模拟层提供了较为详细描述在doc夹下文件名为 sys_arch.txt。我们的编写工作根据这个说明进行。
1、支持的操作系统需要添加的头文件说明:
文件 | 描述 |
---|---|
cc.h | 与硬件平台及编译器相关的环境变量及数据类型声明文件 |
perf.h | centered 定义了性能测量使用的宏,由 LwIP 调用,可以将其定义为一个空的宏。 |
sys_arch.h | sys_arch.c 的头文件,定义 Arch(即整个移植所依赖的操作系统平台,译注)需要的数据类型:sys_sem_t,sys_mbox_t,sys_thread_t,以及可选类型:sys_prot_t。 |
2、操作系统模拟层实现文件sys_arch.c:
sys_arch.c 必须实现sys_arch.txt列出的几个函数:
比如void sys_init(void);以及关于信号和邮箱、临界保护的几个重要函数,协议栈和操作系统数据交互和同步分别使用邮箱和信号量,这些函数在sys.h声明了未实现,如下图所示。
原创文章 93获赞 20访问量 3万+
关注
私信
展开阅读全文
作者:天使也有爱