分享
分销 收藏 举报 申诉 / 7
播放页_导航下方通栏广告

类型Linux平台驱动试卷-(答案).doc

  • 上传人:人****来
  • 文档编号:4684296
  • 上传时间:2024-10-09
  • 格式:DOC
  • 页数:7
  • 大小:78.51KB
  • 下载积分:6 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Linux 平台 驱动 试卷 答案
    资源描述:
    湖南科技学院二○ 一四 年 下 学期期末考试 电信、电科 专业 2011 年级 Linux平台驱动 试题 题 号 一 二 三 四 总分 统分人 得 分 阅卷人 复查人 考试类型:闭卷 试卷类型: A卷 考试时量: 120 分钟 一、选择题(每题3分,共30分) 1) 嵌入式系统,是以(B)为中心,以计算机为基础,并且软硬件可定制,适用于各种应用场合,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统 A.Linux B.应用 C.数据处理 D.产品 2) 嵌入式系统的四大组成部分,分别是:嵌入式微处理器、外围硬件设备、( D)、用户应用程序 A.嵌入式底层驱动 B.嵌入式系统调用 C.嵌入式根文件系统 D.嵌入式操作系统 3) 目前人们所指的嵌入式微处理器一般是指( D)位 A.4bit B.8bit C.16bit D.32bit 4) Linux系统中,内核以(D)区分设备。 A.设备节点名 B:设备设备节点号 C.设备名称 D。设备号 5) 对交叉编译描述正确的是(B ) A. 在同一平台完成编译和运行 B. 在一种平台上能编译出不同平台上运行的程序 C. 使用同一交叉编译器编译出来的可执行文件是跨平台运行的 D. 动态库是跨平台的,不需要交叉编译 6) s5pv210上电首先执行的代码来自于那里 ( A) A.iROM B.iRAM C.NAND flash D.SD卡 7) 将C源程序编译成目标文件(*.o),而不进行链接的编译选项是(D ) A.-o B.-E -o C.-S -o D.-c -o 8) 通常情况下,kmalloc函数能分配的最大内存是(C) A.4K B.64K C.128K D.4M 9) Linux系统启动后,一般将设备文件放在以下那个目录 ( B) A . /etc B . /dev C. /sys D. /var 10) 对于嵌入式C程序描述正确的是? (C ) A. 必须以_start作为程序入口 B. 必须以main函数作为程序入口 C. 必须设置堆栈 D. 裸机可执行程序是ELF格式的 二、填空题(本题共5小题,每空1分 共10分) 1)Linux系统驱动设备分为字符设备、块设备和网络设备三大类。 2)嵌入式BootLoader的开发建立,依赖CPU体系结构、微处理器芯片、开发板外设和内核镜像格式 3)u-boot传递给内核的参数“root=/dev/mtdblock4 rootfstype=yaffs2 init=/linuxrc console=ttySAC0”的意义是root指的是文件系统在内核中的位置、rootfstype指的是根文件系统的类型、init指的是内核启动后的第一个用户程序、console指定打印信息采用那一个串口作为控制台 三:问答题(本题共4小题,每题8分共32分) 1、 简述把一个驱动模块编译到Linux内核中基本步骤。 1)将该驱动源文件拷贝到driver的某个合适的目录下 2)修改Makefile文件 3)修改当前目录下的Kconfig文件以加入配置菜单 4)最后配置编译内核 2、导致内核并发的原因有哪些?有哪些机制能避免? 1)原因:中断,进程的抢占和多处理器。 2) 原子变量:共享资源恰巧是一个简单的整数值时使用 信号量:大部分情况都能使用,通过pv操作控制信号量。 互斥体:是对信号量的简化。 自旋锁:多用在单或多处理器抢占式内核,对于非抢占式内核退化为空操作 3、简述中断处理的两个部分,内核中实现中断底半部的机制有哪些? 1)中断顶半部:处理紧急的硬件操作(大家熟知的中断服务函数)。 中断底半部:处理不紧急的耗时操作,执行过程中中断是使能的,可被打断。 2)软中断、微线程和工作队列 4、简述bootloader的启动过程。 第一阶段完成任务: 1、禁用看门狗、初始化系统时钟 2、设置异常向量表(用到中断的情况下设置) 3、动态内存控制器初始化配置 4、初始化调试指示灯(可选) 5、初始化UART,用于开发调试(可选) 6、从NAND、NOR或SD卡中复制代码到SDRAM 7、跳转到start_armboot,进入Bootloader第二阶段 第二阶段完成任务: 1、初始化GPIO 2、初始化flash等存储设备 3、MMU初始化 4、堆初始化 5、MTD设备初始化 6、各类通信设备相关驱动初始化 7、环境变量和参数的加载及初始化 8、倒计时监听串口(进入命令模式或启动内核) 9、启动内核(拷贝内核镜像并跳转到内核入口) 四:编程题(共二小题,第一题12分,二题16分 共28分) 1、Linux系统中以模块方式组织设备驱动程序,请列举在一个模块程序中必不可少的组成部部分。 #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> MODULE_LICENSE(“GPL”); static int __init demo_init(void) { printk(“module init!\n”); return 0; } static void __init demo_exit(void) { printk(“module exit\n”); } module_inti(demo_init); module_exit(demo_exit); 2、 实现s5pv210的1*5键盘驱动中的file_operations.read和io口初始化。(已给出硬件连接图,部分接口信息) file_operations成员(部分) int (*open) (struct inode *, struct file *); int (*release) (struct inode *, struct file *); ssize_t (*read)(struct file *, char __user *, size_t, loff_t *); ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *); 字符设备注册 int register_chrdev( unsigned int major, const char *name, const struct file_operations *fops); 字符设备注销 void unregister_chrdev(unsigned int major,const char *name) 从内核空间拷贝n字节数据到用户空间 copy_to_user(user_buffer, kernel_buffer, n) 从用户空间拷贝n字节数据到内核空间 copy_from_user(kernel_buffer, user_buffer, n) static ssize_t demo_read (struct file *filp, char __user *buf, size_t count, loff_t *offp) { int key = -1; unsigned long reg_val; unsigned long len = min(count, sizeof(key)); //min是个宏,用来获取两个数中较小的值 int retval; /*读取dat寄存器的值,反应了按键情况*/ reg_val = readl(S5PV210_GPH2_BASE); //将dat寄存器中的值转换为逻辑键值 key = key_convert(reg_val & 0xf8); if(copy_to_user(buf, &key, len) != 0){ retval = -EFAULT; goto cp_err; } return len; cp_err: return retval; } /*@定义file_operations结构体变量*/ static struct file_operations fops = { .owner = THIS_MODULE, .read = demo_read, }; /*设置按键的触发方式,通过配置行列引脚*/ static void key_ioport_setting(void __iomem *gph_base, int trigger) { unsigned long reg_val; /*@配置gph3 的0、1端口为输出,且输出trigger对应高低电平 * * 配置con寄存器,4位对应一个io端口: B0000为输入、 * B0001为输出、B0010~B1110为保留、B1111为外部中断 * * 配置dat寄存器,1位对应一个io端口: B1 表示输入/ * 输出高电平、B0表示输入/输出低电平 */ reg_val = readl(S5PV210_GPH3_BASE); reg_val &= ~((0x0f<<4*0) | (0x0f<<4*1)); //清空GPH3_0,GPH3_1的控制寄存器(同时保存不需要修改的寄存器值)。 reg_val |= ((0x01<<0) | (0x01<<4) ); //讲GPH3_0,GPH3_1设置为输出 writel(reg_val, S5PV210_GPH3_BASE); reg_val = readl(S5PV210_GPH3_BASE+0x04); if(trigger == 0) //如果是低电平表示按键触发,行输出低电平 reg_val &= ~((0x01<<0) | (0x01<<1)); else //否则行输出高电平 reg_val |= (0x01<<0) | (0x01<<1); writel(reg_val, S5PV210_GPH3_BASE+0x04); /*@配置gph2的3 4 5 6 7端口为输入,且上拉或下拉使能(根据trigger),旨在 *外界没有输入时输入口获取到的电平为高电平 * * 配置con寄存器,4位对应一个io端口: B0000为输入、 * B0001为输出、B0010~B1110为保留、B1111为外部中断 * * 配置up寄存器,2位对应一个io端口: B00 表示禁止 * 上下拉、B01表示下拉使能、B10表示上拉使能、B11保留 */ reg_val = readl(S5PV210_GPH2_BASE); reg_val &= ~((0x0f<<4*3) | (0x0f<<4*4) | (0x0f<<4*5) | (0x0f<<4*6) |(0x0f<<4*7)); writel(reg_val,S5PV210_GPH2_BASE); reg_val = readl(S5PV210_GPH2_BASE+0x08); reg_val &= ~((0x03<<2*3) | (0x03<<2*4) | (0x03<<2*5) | (0x03<<2*6) |(0x03<<2*7)); if(trigger == 0) reg_val |= ((0x02<<6) | (0x02<<8) | (0x02<<10) | (0x02<<12) |(0x02<<14)); else reg_val |= ((0x01<<6) | (0x01<<8) | (0x01<<10) | (0x01<<12) |(0x01<<14)); writel(reg_val, S5PV210_GPH2_BASE+0x08); } 6
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:Linux平台驱动试卷-(答案).doc
    链接地址:https://www.zixin.com.cn/doc/4684296.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork