reworks培训-扩展功能

上传人:第*** 文档编号:49174601 上传时间:2018-07-25 格式:PPT 页数:38 大小:1.10MB
返回 下载 相关 举报
reworks培训-扩展功能_第1页
第1页 / 共38页
reworks培训-扩展功能_第2页
第2页 / 共38页
reworks培训-扩展功能_第3页
第3页 / 共38页
reworks培训-扩展功能_第4页
第4页 / 共38页
reworks培训-扩展功能_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《reworks培训-扩展功能》由会员分享,可在线阅读,更多相关《reworks培训-扩展功能(38页珍藏版)》请在金锄头文库上搜索。

1、中国电子科技集团公司第三十二研究所中国电子科技集团公司第三十二研究所 自主可控计算研究院自主可控计算研究院ReWorks嵌入式应用开发ReWorks扩展功能分析1.ReWorks1.ReWorks实时操作系统概述实时操作系统概述4.ReWorks BSP4.ReWorks BSP实例分析实例分析2培训大纲5.ReWorks5.ReWorks核心功能介绍核心功能介绍2.ReDe2.ReDe开发环境介绍开发环境介绍3.ReWorks BSP3.ReWorks BSP开发开发8.ReWorks8.ReWorks设备驱动开发设备驱动开发6.ReWorks6.ReWorks核心功能实例分析与实验核心功能

2、实例分析与实验7.ReWorks7.ReWorks扩展功能介绍扩展功能介绍9.ReWorks9.ReWorks实例分析与实验实例分析与实验3培训大纲I/O系统 阐述ReWorks的基本输入输出功能。文件系统 描述ReWorks文件系统。网络编程 讲述ReWorks网络编程接口。总结 通过几个上机分组实验对培训内容进行归纳 总结。123454培训大纲I/O系统 阐述ReWorks的基本输入输出功能。文件系统 描述ReWorks文件系统。网络编程 讲述ReWorks网络编程接口。总结 通过几个上机分组实验对培训内容进行归纳 总结。123455I/O系统1概述v操作系统中负责管理输入输出设备的部分称

3、为I/O 系统v主要功能包括: 管理设备驱动程序 实现设备命名 向用户提供统一的调用接口6I/O系统1概述7I/O系统1ReWorks设备分类v字符设备 以字符为单位进行数据访问的设备,如串口。 v块设备 在输入/输出时数据处理以块为处理单位的设备。块设备 可以容纳文件系统,支持数据的随机读写。如IDE硬盘、软 盘、FLASH、USB。 v网络设备 网络设备由网络协议栈和网卡驱动程序负责发送和接收 数据包,区别于其它I/O设备,网络设备无对应的设备文件 。如dm9000网卡。8I/O系统1ReWorks字符设备v字符设备号 主设备号:标识设备对应的驱动程序(标准串口主设备 号为4) 次设备号:

4、相同驱动程序控制的设备编号(标准串口1的 从设备号为64,标准 串口2为65)vReWorks典型字符设备/dev/serial0/ 标准串口1/dev/serial1/ 标准串口2/dev/tty0/ 控制台9I/O系统1ReWorks块设备v设备号 每类块设备具有唯一的设备号,如第一个硬盘设备号为3vReWorks典型块设备/dev/hda1/ 第一个硬盘的分区1 /dev/hda2/ 第二个硬盘的分区2 /dev/umass0/ 第一个USB设备v块设备安装 块设备调用mount()接口安装到ReWorks根文件系统10I/O系统1ReWorks网络设备vReWorks典型网络设备 lo

5、0/ 本地网络 dmxx0/ dm9000网络接口 eeE0/ Intel82559网络接口 rtl0/ RTL8139网络接口11I/O系统1基本I/O函数vcreat 创建文件 vopen 打开文件 vread 写文件 vwrite 读文件 vioctl I/O控制 vselect I/O多路复用 vclose 关闭文件描述符I/O设备都被当作文件来访问12I/O系统1文件描述符v标识一个file(文件或设备)的32位整数 通过open()和creat()函数分配 使用read() 、write()、ioctl()和close()修改文 件v系统保留前3个文件描述符 0,标准输入;1,标准

6、输出;2,标准错误 支持I/O重定向,可以将这3个描述符重新定向 到别的I/O设备上,比如串口、socket和文件 void global_std_set( int stdFd, int newFd )13I/O系统1selectv调用select()的任务等待一组文件中的某一个文件 描述符Readyvint select(int n, fd_set *inp, fd_set *outp, fd_set *exp, struct timeval *tvp) inp 监测是否有字符可以从某个描述符读入 outp 监测是否某个描述符准备好了能立即写入 exp 监测是否某个描述符有异常出现 tvp

7、超时处理的等待时间14I/O系统1串口通信示例v第一步:打开串口0 int fd, i, cnt; struct termios newterm, oldterm; char buf1024;fd = open(“/dev/serial0”, O_RDWR);/ 以读写方 式打开/串口0 v第二步:获取串口属性 tcgetattr(fd, newterm = oldterm;15I/O系统1串口通信示例v 第三步:设置串口属性newterm.c_lflag newterm.c_iflag newterm.c_cflag newterm.c_cflag |= CS8;/ 8位数据位 newter

8、m.c_oflag cfsetispeed(/ 波特率115200 newterm.c_ccVMIN = 1;/ 至少接收一个字符 newterm.c_ccVTIME = 0;tcsetattr(fd, TCSAFLUSH, / 设置新属性16I/O系统1串口通信示例v 第四步:发送、接收数据for( ; ; ) memset(buf, 0, 101); buf0 = 0x11; buf1 = 0x13; buf2 = 0x0a; buf3 = 0x60; buf4 = n; write(fd, buf, 5);/ 发送5个字符memset(buf, 0, 1024); cnt = read(

9、fd, buf, 1024);/ 接收信息for(i = 0; i cnt; i +) printf(“0x%02x ”, bufi);/ 打印信息 printf(“n“); 17培训大纲I/O系统 阐述ReWorks的基本输入输出功能。文件系统 描述ReWorks文件系统。网络编程 讲述ReWorks网络编程接口。总结 通过几个上机分组实验对培训内容进行归纳 总结。1234518文件系统2概述v文件系统是对文件存储器空间进行组织和分配, 负责文件的存储并对存入的文件进行保护和检索 的系统 。 v文件系统为用户提供一种简便的、统一的存取和 管理信息的方法 。 v文件系统负责为用户建立文件,存入

10、、读出、修 改、转储文件,控制文件的存取,当用户不再使 用时撤销文件等。 19文件系统2ReWorks文件系统v根文件系统 在ReWorks启动时创建顶层目录”/” 用于建立临时文件:提供缺省目录”/dev”,以建立设备 文件 用于为其它文件系统提供安装点vdosFs 与MS-DOS文件系统兼容 支持FAT16、FAT32格式20ram_config(16, “/dev/ramdisk“, “/c“);RAM Disk的大 小,以M为单位设备名称安装目录文件系统2基于dosFS的RamDiskv将内存当作硬盘使用v其大小不能超过“存储模块”中的系统内存大小21文件系统2IDE硬盘驱动配置22h

11、d_dev_create_disk(0,0,“/dev/hda“); mount(“dosfs“, “/dev/hda1“, “/c“);主控制器第一个硬盘 ReWorks硬盘设备文件系统类型第一个分区安装目录文件系统2IDE硬盘的挂接23v基本I/O函数creat, open, close, read, writev缓存I/O函数 - 符合ANSI C - 在基本I/O的基础上,增加了缓冲机制,应用程序实际上 访问的是缓冲区buffer - 可以提高系统效率,缓存 I/O不需要每次访问都调用基本 的I/O系统函数 - fopen,fclose,fread,fwrite,fseek等文件系统2

12、文件系统接口24v 文件和目录操作函数 n rm 删除文件 n ls 显示文件 n mv 移动文件 n truncate 截取文件长度 n rename 改变文件名 n opendir 打开目录 n readdir 读取目录 n closedir 关闭目录 n cd 改变工作目录 n mkdir 创建一个目录 n rmdir 删除一个目录 n getcwd 得到当前工作目录文件系统2文件系统接口25培训大纲I/O系统 阐述ReWorks的基本输入输出功能。文件系统 描述ReWorks文件系统。网络编程 讲述ReWorks网络编程接口。总结 通过几个上机分组实验对培训内容进行归纳 总结。1234

13、526vReWorks提供套接字(Socket)编程接口v支持两种套接字 数据报套接字:支持双向的数据流,但不保证数据传送 的可靠性、有序性和无重复 流套接字:提供双向的、有序的、无重复并且无记录边 界的数据服务概述网络编程327网络模块配置网络编程328网卡参数配置网络编程329v socket 建立一个通信端点 v bind 将一个名字绑定到socket上 v connect 建立一个连接 v listen 侦听socket连接 v accept 接受一个连接请求 v send 从一个socket发送消息(TCP) v recv 从一个socket接收消息(TCP) v sendto 从一

14、个socket发送消息(UDP) v recvfrom 从一个socket接收消息(UDP) v close 关闭socket网络编程接口网络编程330TCP网络通信流程网络编程331v TCP服务端第一步:建立、绑定、监听socket接口int s;s = socket(AF_INET, SOCK_STREAM, 0);/ 建立socket接口struct sockaddr_in srvr; srvr.sin_family = AF_INET; srvr.sin_port = htons(1412); srvr.sin_addr.s_addr = 0L;int ret = bind(s, (

15、struct sockaddr *) / 绑定接口ret = listen(s, backlog);/ 监听接口网络通信实例1网络编程332v TCP服务端第二步:接受连接请求,建立新的 newSocket接口int newSock; struct sockaddr_in addr; int addrLen;addrLen = sizeof (struct sockaddr);bzero (void *)/ 接受连接请求,建立新的socket端口 newSock = accept(s, (struct sockaddr *) 网络通信实例2网络编程333v TCP服务端第三步:通过newSocket接口接收、发送网 络信息char recvbuf1024 = 0; int buf_len = sizeof(recvbuf);ret = recv(newSock, recvbuf, buf_len, 0);/ 接收客户端信息char sendbuf = “This is a message from 10.0.5.67:1412“; buf_len = sizeof(recvbuf); ret = send(newSock, sendbuf, buf_len, 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号