LDD题库(答辩).doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LDD题库(答辩)

嵌入式系统驱动开发题库(35题) 硬件(8题): 1、请阐述下图Fig1中蜂鸣器电路的工作原理;如果将Q1变成PNP型三极管如何设计,有什么缺点? Fig1.Beep Driver Circuit GPB0输出高电平时NPN型三极管导通,蜂鸣器接电发声。 2)变成PNP型三极管: 改为PNP设计的话上电即响。 2、请根据Fig2阐述课程中键盘驱动的原理。 Fig2.键盘扫描电路 答:矩阵键盘由行信号和列信号组成矩阵。每个按键连接到行信号和列信号的交叉点。通过矩阵键盘控制器行信号线顺序逐行输出扫描脉冲,列信号线作为输入信号线。 3、请说出Fig3电路的原理,R38---R41电阻值的计算方法。 Fig3.LED发光二极管驱动电路 答:凭经验知发光二极管压降(2V)又知通电电流(20mA)所以电阻。 注:本题中 4、如何配置4412的GPIO—X3_2到X3_5口作为输入口? 先声明变量GPX3CON 声明变量GPX3CON=iomap(地址) Writel((readl(x)(~((152*4)|(153*4)|(154*4)),GPX3CON); *5、如何配置4412的GPIO—X3_2到X3_5口作为中断触发口? 6、如何配置4412的GPIO—X3_2到X3_5口作为输出口? 7、如何使4412的GPIO—X3_2到X3_3口输出低电平,GPIO—X3_4到X3_5口输出高电平。 8、4412端口有GPXCON、GPXDAT、GPXUP、GPXPUD三个寄存器,分别代表什么? 答:GPXCON为控制寄存器,GPXDAT为数据寄存器,GPXUP为上拉电阻寄存器,GPXPUD为下拉电阻寄存器。 Drivers:(27) 1、在驱动程序代码中module_init(func1),module_exit(func2)两个宏的作用是什么? 答:module_init加载Linux驱动和module_exit卸载Linux驱动。 2、请叙述下面的makefile中各个字段的含义 obj-m(-m指module) :=hello.o(目标) 注:设定编译目标为hello.o CROSS_COMPILE = arm-linux-(宏) CC = $(替换)(CROSS_COMPILE)gcc(宏) KDIR :=/work/kernel/linux-2.6.24(kernel路径编译的代码树) PWD :=$(shell pwd)(Makefile当前相对路径) default:()(默认参数) $(MAKE) -C $(KDIR) SUBDIRS(伪目标)=$(PWD) modules(用modules模式编译) ?注:编译、链接,子目录为PWD clean:(clean命令) rm -rf *.o* *~ core .depend .*.cmd *.ko *.mod.c rm -rf .tmp_versions/ install:(install命令) cp *.ko /work/rootfile/rootfs/lib/modules/2.6.24/ 驱动代码中都会涉及到两个结构体,分别是struct file和struct inode,他们分别代表什么含义,而且在什么时候被创建? 答: 1)struct file表示一个打开的文件(文件的描述符)主要供与文件系统对应的设备文件驱动程序使用。 2)struct inode表示文件结点,因为对于单个文件而言可能会有许多个表示打开的文件的描述符,因而就可能会有多个个file对应一个inode。 3)由内核在open()时创建,并(将该文件描述符)传递给该文件上进行操作的所有函数,直到最后的close函数,在文件的所有实例都被关闭后,内核会释放这个数据结构。 4、class_create(); device_create();起什么作用? 答:class_create();为自动创建设备文件,device_create();为自动创建设备节点。 5、file_operations结构体一般都有那几个成员,作用都是什么? 答: 1.open:打开设备,如果这个项是 NULL, 设备打开一直成功, 但是你的驱动不会得到通知。 2.ioctl:控制命令,系统调用提供了发出设备特定命令的方法 。 3.write:写,发送数据给设备。 4.read:读,用来从设备中获取数据。 5.release:释放设备,可以为 NULL。 6、驱动程序中主次设备号分别代表什么?如果事先已经分配主次设备号,那么用什么宏取得dev_t类型的设备编号?反过来又如何取得主次设备号? 答:主设备号被系统用来确定驱动程序,次设备号被驱动程序用来确定具体的设备。 用MK

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档