一、选择题 | |
1-4: D C D B 评分标准:每题5分,共20分 | |
二、填空题 | |
1. module_init( foo_init ); module_exit( foo_exit ); | 2. make –C /usr/local/linux-2.6.x M= /home/drivers modules |
3..read = foo_read , }; cdev_init(&dev->cdev, &globalmem_fops ); 4.Input输入子系统主要由(核心)层、 ( 驱动 )层和( 事件处理 )层三部分组成。 | 5. Linux将4GB的内存空间分为两部分0~3GB为( 用户 )空间,3~4GB为(内核)空间。 6. 在PXA270驱动开发过程中,通过minicom配置串口时,打开命令选项的快捷键为(CTRL+AZ)。 |
评分标准:每题5分,共30分 | |
三、简答题 | |
1. 简述驱动程序的概念及其在工程中的应用(说明4点) 答:驱动的概念:驱动硬件的软件(意思对就可以) 工程中的应用:1. 嵌入式开发中的按键驱动、鼠标驱动、USB驱动等 2.多线程应用通信中,通过内核模块实现共享内存功能 3.基于网络的应用中,需要对网络数据包进行加解密操作,需要利用底层驱动捕捉网络数据。 4.利用驱动实现虚拟设备,如虚拟网卡,虚拟磁盘等 评分标准:每点2.5分,共10分,意思对即可 | 2. 试描述pxa270编译helloworld驱动源程序hello.c的操作过程(从配置环境,编译,下载,运行几个流程说明,注意需要指出每一步运用到的核心命令,但不需要参数)。 答:(1)配置环境:1)获得内核源代码树,并编译内核,make bzImage; (2)编译驱动源代码:1)编写Makefile 2)编译驱动源文件得到hello.ko (3)下载:1)利用mount命令挂载nfs; (4)运行:1)通过嵌入式多线程编程Insmod命令加载模块; 2)通过rmmod命令卸载模块。 评分标准:每点2.5分,共10分,意思对即可 |
四、综合应用题 | |
1.假设某一开发板有一个LED灯,现已经实现了相应的驱动程序led.c,并编译生成了led.ko文件。现有要求如下: (1)假设给定led设备驱动的主设备号为 128,次设备号为0,请为led设备在/dev目录下面安装设备节点。 答: mknod /dev/led c 128 0 (2)假设已经加载了led.ko文件到内核,请通过命令查询该led驱动申请设备号是否成功。 答:通过lsmod命令查看内核模块是否加载成功; (3)led驱动实现了如下led_write函数: 请编写应用程序,点亮led灯 答: #include<stdio.h> void main() { FILE *fp; If((fp = fopen(“/dev/led”,”r+”)) == NULL) //5分 { return ; } fputc(‘o’,fp); //5分 fclose(fp); //5分 } 评分标准:(1)5分 (2)5分 (3)20分,程序结构正确5分,其余各点按代码中注释给定。 | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论