最近在看CS8900datasheet和FS2410 TFTP源码,把源码全部注释了一遍,本来也就CS8900芯片的资料我能用得上,但是学习一下网络协议的简单实现也是一件高兴的事情。整理一下思路:
一、源码结构:
从底层到高层的顺序是:
CS8900.h :定义了CS8900芯片内部寄存器地址,各寄存器的主要的位的掩码。
CS8900.c :定义了CS8900的基本操作:访问寄存器宏定义,检测(Probe),复位reset,初始化init,接收一帧RcvPkt,发送一帧TransmitPkt,作为查询方式的操作是否收到帧CS8900DBG_IsReceivedPacket。
mac.h :声
明了mac层的操作,这些操作在CS8900.c中实现。board_eth_init芯片初始化,board_eth_send发送一
帧,board_eth_rcv接收一帧,这些函数是芯片基本函数的简单调用而已,board_eth_get_addr设置本地MAC地址。
skbuff.c/h : 定义和实现了关于缓冲区的操作。所有的协议的封装与拆解都是在sk_buff中实现的。这个数据结构在协议栈的实现中起了关键作用。
skbuf结构对应操作:skb_put,skb_push,skb_pull,alloc_skb,skb_reserve,主要用来申请缓冲,调整*data位置和len长度。
2410 TFTP源码 学习笔记
最新推荐文章于 2024-07-31 16:07:05 发布