保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

TM1300嵌入式多媒体网络通信系统的设计与实现


网络芯片及缓冲区初始化,记录网络接口号...*/

Lan_chip_Init();InitBuffer();

number=p->niinit.if_num;

ni_init(); …

case NI_GETPKB:… /*NI_GETPKB调用处理*/

case NI_RETPKB:… /*NI_RETPKB调用处理*/

case NI_SEND:… /*NI_SEND调用处理*/

case NI_BROADCASE:… /*NI_BROADCAST调用处理*/

case NI_POLL: /*NI_POLL调用处理*/

case NI_IOCTL:… /*NI_IOCTL调用处理*/

default:… /*返回错误代码*/

}

return rc;

}

可以看出,pNA+在调用网络接口功能时,只需传递参数指针,其具体动作都是由NIMain函数完成,NIMain起到了隔离网络底怪和pNA+的作用。

(3)pSOS系统中加入网络接口的方法

在pSOS系统添加网络接口增添其它的设备驱动程序类似,采用InstallNi函数完成。其函数定义格式如下面程序片段所示:

struct ni_init *pna_Init; /*用于传入pNA+配置表的nc_nni字段*/

void InstallNi (int (*entry)(),int ipadd,int mtu,int hwalen,

int flags,int subnetaddr,int dstipaddr)

{

pna_Init ->entry=(int (*)())entry;/*NI接口函数入口*/

pna_Init ->ipadd=htonl((ULONG)ipadd); /*IP地址*/

pna_Init ->mtu=ntu; /*大传输量,以太网为1518字节*/

pna_Init ->hwalen=hwalen; /*硬件地址长度,以太网为6*/

pna_Init ->flags=flags; /*接口标志*/

/*子网掩码、目的IP、缺省变量*/

ni_ptr->subnetaddr=htonl((ULONG)subnetaddr);

ni_ptr->dstipaddr=htonl((ULONG)dstipaddr);

ni_ptr->reserved[0]=0;

}

3.3 pNA+部件的配置及初始化

pSOS系统中,各个部件的配置都定义成一个结构体,并存放在结点配置表中(Node Configuration Table),结点配置表可以驻留在系统存储区的任意地址处。

PNA+部件配置表结构为pNAConfigTable。它用于定义pNA+所需的硬件和特定应用信息。如pNA+代码入口、网络接口初始化

《TM1300嵌入式多媒体网络通信系统的设计与实现(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/162689.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。