物联网嵌入式系统练习题1
一、单项选择题 1. PXA270 处理器是多少位的嵌入式处理器()。 A.8 位B.16 位C.32 位D.64 位 2. ARM 处理器属于下列哪种嵌入式处理器()。 A.MCUB.EMPUC.DSPD.SOPC 3. 下列几种 ARM 工作模式中属于正常模式的是()。 A.系统模式B.数据中止模式 C.未定义模式D.快速终端模式模式 4. 下列几种 ARM 异常中优先级最高的是()。 A.外部中断(IRQ)B.数据中止 C.预取指令中止D.未定义指令 5. ARM 汇编语句“STMIA R0,{R3-R10}”的作用是()。 A.R0 开始的连续 8 个字数据分别加载到 R3-R10 B.R0 地址指向的 1 个字数据分别重复加载到 R3-R10 C.R0 开始的连续 8 个字节数据分别加载到 R3-R10 D.R3-R10 中的 8 个字数据存储到 R0 开始的连续存储单元 6. 寄存器 R14 除了可以做通用寄存器外,还可以做()。 A.程序计数器B.链接寄存器 C.栈指针寄存器D.基址寄存器 7. 下列不是 ARM 伪指令可定义的变量的是()。 A.数值型变量B.逻辑型变量 C.布尔型变量D.字符型变量 8. 嵌入式系统 Bootloader 的 stage1 引导启动时在哪个存储器件中运行 () 。 A.硬盘B.RAMC.ROMD.存储卡 9. 下列进行内核配置的命令中使用已有配置文件.config 进行配置的是()。 A.make configB.make menuconfig C.make oldconfigD.make xconfig 10. 下列嵌入式文件系统中仅适用于 NAND 型 Flash 的是()。 A.jffs2B.yaffsC.cramfsD.NFS 11. Linux 内核提供了内核与用户空间传递数据的专用函数,其中用于实现用 户系统调用 write 的是()。 A.copy_to_uservoid *from,void *to,int n B.copy_to_uservoid *to,void *from,int n C.copy_from_uservoid *from,void *to,int n D.copy_from_uservoid *to,void *from,int n 12. 以下关于设备号的说法不正确的是()。 A.设备号有主设备号和从设备号 第 1 页 共 12 页 B.主设备号说明设备的属性,比如字符设备或块设备,从设备号说明设 备类型。 C.可用 MINOR 从设备号中分理处从设备号。 D.设备号的申请可以静态申请,也可以动态申请,静态申请是申请指定 的设备号。 13. ARM 处理器的 Thumb 工作状态是()。 A.16 位字对齐B.32 位字对齐 C.16 位半字对齐D.16 位字节对齐 14. 若 R12000H,2000H0 x86,2008H0 x39,则执行 LDR R0,[R1], #8 后 R0 的值为()。 A.0 x2000B.0 x86C.0 x2008 D.0 x39 15. 寄存器 R15 除了可以做通用寄存器外,还可以做()。 A.程序计数器B.链接寄存器 C.栈指针寄存器D.基址寄存器 16. ARM 汇编语句“ADDR0,R2,R3,LSL1”的作用是()。 A.R0 R2 R3 private_data; /*获得设备结构体指针*/ „„/*判断写位置是否有效*/ if copy_from_userdev-data p, buf, count /*从用户空间写入数据*/ ret - EFAULT; else{„„}} static loff_t mem_llseekstruct file *filp, loff_t offset, int whence /* seek 文件定位函数 */ {loff_t newpos; switchwhence { case 0 newpos offset; /* SEEK_SET */ break; case 1 newpos (8); /* SEEK_CUR */ break; case 2 newpos (9); /* SEEK_END */ break; default /* cant happen */ return -EINVAL; } filp-f_pos newpos; return newpos;} static const struct file_operations mem_fops /*文件操作结构体*/ {.owner THIS_MODULE, .llseek (5), .read (6), .write mem_write, .open mem_open, .release mem_release,}; static int memdev_initvoid /*设备驱动模块加载函数*/ {int result; int i; dev_t devno MKDEVmem_major, 0; if mem_major result (1);/* 静态申请设备号*/ else {result (2); /* 动态分配设备号 */ mem_major MAJORdevno; } if result led1_val; buffbuff| seg_7-led2_val led3_val; buff(1) (2) „„//第三个数码管地址的写入 return; break; default printkKERN_EMERG“ioctl parameter error,please number 0-6“; break; } Updateled seg_7 ; return 0; } static int Emdoor_8Seg_openstruct inode *inode, struct file *filp {struct seg *seg_7; seg_7kmallocsizeofstruct seg, GFP_KERNEL; seg_7-negativeLED_MODULE; filp-private_data(4); MOD_INC_USE_COUNT; return 0; } static int Emdoor_8Seg_releasestruct inode *inode, struct file *filp {(5) MOD_DEC_USE_COUNT; return 0; } static struct file_operations Emdoor_fops { openEmdoor_8Seg_open, writeEmdoor_8Seg_write, release Emdoor_8Seg_release, ioctl(6) owner THIS_MODULE, }; static int __init Emdoor_