网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式驱动复习资料嵌入式驱动复习资料.doc

嵌入式驱动复习资料嵌入式驱动复习资料.doc

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

嵌入式驱动 复习资料 1、请指出USB总线的四种传输类型,并指出每一种传输类型的基本特点。 答:四种传输类型:控制传输、批量传输、中断传输和等时传输 控制传输:双向,纠错,查询、配置设备信息; 批量传输:单向,纠错,大块无结构数据,延迟不定; 中断传输:单向,纠错,小块无结构数据,延迟确定; 等时传输:单向,无纠错,大块无结构数据,延迟确定。 2、简述uClinux内核的配置剪裁和编译命令。 答:(1)Linux移植准备,下载UCLinux2.X.0内核及其关于ARM平台的补丁。 准备交叉编译环境。交叉编译环境工具链一般包括binutils(含AS汇编器,LD链接器等),arm-gcc,glibc等。 (3)修改uClinux内核源码。uClinux的移植主要包含启动代码的修改,内核的链接及装入,参数传递,内核引导几个部分。 (4)uCLinux内核裁减。利用“make config”/“make menuconfig”/“make xconfig”对内核配置。 (5)内核的编译。执行以下几条命令就行: a.make clean c.make zImage b.make dep d.make install 3、简述uClinux源程序的目录结构及其含义。 答:(1)kernel目录下文件实现了大多数Linux系统的核心函数,其中最重要、最主要的文件当属sched.c。 mm/nommu目录,Linux中独立于CPU体系结构特征的内存管理文件几乎都集中在此目录下。如页式存储管理、内存的分配和释放等等。在nommu目录下是没有mmu的内存管理。 (3)fs目录源程序涵盖各种类型的文件系统和文件操作。 (4)arch目录包括与CPU类型相关的子目录和文件。 (5)include目录容纳Linux源程序的所有头文件(header file)。 (6)net目录存放的是和Linux网络相关的C文件。 (7)drivers目录存放各种设备的驱动程序 4、简述linux和uClinux在进程管理方面的区别。 答:uClinux 和Linux之间最大的区别在于平面存储器模型。LINUX提供fork、vfork系统调用;而UCLINUX系统提供系统调用vfork。在vfork调用完成后父子进程事实上共享同一块存储器(在子进程调用exec或是exit之前),因此子进程可以更改父进程的数据及堆栈信息,因此vfork系统调用完成后,父进程进入睡眠,直到子进程执行exec或exit。当子进程正确开始执行后,将唤醒父进程,使得父进程继续往后执行。所以,在uClinux中,想让父子进程同时运行同一个程序是不可以的。 5、简述编写uClinux驱动程序的步骤。 答:首先,要根据设备功能的需要,编写file_operations结构中的操作函数。 其次,要向系统注册该设备,包括字符设备的注册,devfs节点的注册与中断响应函数的注册。 然后,设备驱动程序编译和安装。如果没有应用设备文件系统,则需要手工为设备添加文件节点。 最后,就可以利用对应的文件进行设备操控。 画出Bootloader启动的详细流程图。 答: 7、写出为uclinux添加字符设备驱动为下列代码添加注释…… IMPORT |Image$$RO$$Limit| ;①RW代码段的结束地址 IMPORT |Image$$RW$$Base| ;②RAM中需要初始化数据的首地址 IMPORT Main ;③主程序入口 …… B ResetHandler ;④复位异常 …… VECTOR_BRANCH …… ResetHandler LDR r0,=WTCON LDR r1,=0 ;⑤禁用看门狗定时器 STR r1,[r0] LDR r0,=INTMSK LDR r1,=0x07ffffff ;⑥关闭所有中断 STR r1,[r0] LDR r0,=PLLCON LDR r1,=((M_DIV12)+(P_DIV4)+S_DIV) ;⑦设定CPU时钟频率 STR r1,[r0] LDR r0,=CLKCON LDR r1,=0x00007ff8 ;⑧允许所有单元模块的时钟 STR r1,[r0]

文档评论(0)

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

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

1亿VIP精品文档

相关文档