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

基于uCLinux和S3C4510B的网络通信设计


;/*创建socket*/

bzero(&servaddr,sizeof(struct sockaddr_in));

servaddr.sin_family=AF_INET;

servaddr.sin_port=8888;//htons(8888); /*指定通信端口*/将命令行输入的字符串IP转换为connect函数可识别的整数uiip。本来在Linux上开发时可以使用C库函数inet_pton(),但在uCLinux的库中不支持该函数,因此只好自己实现该函数的功能。

aiptoi()如下所示:

aiptoi(argv[1],&uiip);

servaddr.sin_addr.s_addr=uiip; /*指定连接的对端IP*/

connect(sockfd,(struct sockaddr)&servaddr,sizeof(struct sockaddr));

/*连接对端接收代码*/

fp=fopen("kongzhi.htm","r"); /*打开控制页面*/

while(nsize==1024)

{bzero(szsendbuf,1024); /*每次从文件中读取巧024个字节发送出去,若读出少于1024字节结束*/

nsize=phead=fread(szsendbuf,1,1024,fp);/*从文件中读取并填入发送BUFFER中*/

write(sockfd,head,8);/*发送协议头*/

nsize=write(sockfd,szsendbuf,nsize);/*发送*/}

fclose(fp);

uCLinux中的Makefile需做的修改如下:

CC=gcc

COFF2FLAT=/uclinux/coff2flt-0.3/coff2flt

CFLAGS=-I/uclinux/uC-libc-pic/include

LDFLAGS=/uclinux/uC-libc-pic/libc.a

ethernet:Ethernet.o

$(CC)-o $@.coff ethernet.c $(CFLAGS)$(LDFLAGS)

$(COFF2FLAT)-o Ethernet ethernet.coff

cp Ethernet /Ethernet

clean:

rm -f Ethernet Ethernet.o

需要注意的是:①uCLinux中不带有pthread库,在编写网络程序要切记;②在uCLinux环境下,处理器(硬件)和内核黄素(软件)均不提供内存管理机制,所以程序的地址空间等同于内存的物理地址空间。在程序中可直接对I/O地址进行操作,而不需要申请和释放I/O空间,但需要用户自己来检查所操作的I/O地址的占用情况。

《基于uCLinux和S3C4510B的网络通信设计(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/151350.html

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