嵌入式Linux ARM基础复习题(每天三道,持续更新)

2019-07-13 05:16发布

嵌入式ARM基础复习题(每天三道,持续更新)
2018.4.26题一:
I2C协议中有几根线(BA.1    B.2    C.3    D.4
题二:
I2C协议中设备地址模式有(ACA.7位地址模式    B.8位地址模式    C.10位地址模式    D.4地址模式
题三:
在嵌入式系统设计中可以通过(B)来测量电池电压,可以用(C)来驱动喇叭发声A.DAC    B.ADC    C.PWM    D.Timer    E.RTC

2018.4.29题一:
MMU的作用有(AB)?A.内存保护    B.地址转换    C.加快存取速度    D.安全保密    E.内存分配
题二:
以下属于DMA的特点的有(BCA.占用CPU    B.占用总线    C.不占用CPU    D.不占用总线
题三.FIQ的什么特点使得它处理的速度比IRQ快?1)FIQ优先级比IRQ高,不会被中断2)FIQ有自己的专属寄存器:r8~r12,不用对通用寄存器入栈保护,可以加快3)FIQ位于异常向量表的末尾0x1c,故无需跳转,可以在这里直接放置异常处理函数

2018.5.3题一:Linux设备中字符设备与块设备有什么主要的区别?字符设备:字符设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少实现open,close,read,write系统调用。字符终端、串口、鼠标、键盘、摄像头、声卡和显卡等就是典型的字符设备。
块设备:和字符设备类似,块设备也是通过/dev目录下的文件系统节点来访问。块设备上能够容纳文件系统,如:u盘,SD卡,磁盘等。
字符设备和块设备的区别仅仅在于内核内部管理数据的方式,也就是内核及驱动程序之间的软件接口,而这些不同对用户来讲是透明的。在内核中,和字符驱动程序相比,块驱动程序具有完全不同的接口。
题二:查看驱动模块中打印信息应该使用什么命令?如何查看内核中已用的字符设备的信息?如何查看正在使用的有哪些中断号?1)查看驱动模块中打印信息的命令:dmesg2)查看字符设备信息可以用lsmod和modprobe,lsmod可以查看模块的依赖关系,modprobe在加载模块时会加载其他依赖的模块。3)显示当前使用的中断号cat /proc/interrupt
题三:Linux中引入模块机制有什么好处?首先,模块时预先注册自己以便服务于将来的某个请求,然后他的初始化就立即结束。换句话来说,模块初始化函数的任务就是为以后调用函数预先作准备。
好处:
1)应用程序在退出时,可以不管资源的释放或者其他的清除工作,但是模块的退出函数却必须仔细此撤销初始化函数所做的一切。2)该机制有助于缩短模块的开发周期。即:注册和卸载都很灵活方便。

…… ……