收藏 分享(赏)

08-(嵌入式学院)嵌入式linux系统移植试题答案-1.doc

上传人:jinchen 文档编号:6328932 上传时间:2019-04-07 格式:DOC 页数:5 大小:72KB
下载 相关 举报
08-(嵌入式学院)嵌入式linux系统移植试题答案-1.doc_第1页
第1页 / 共5页
08-(嵌入式学院)嵌入式linux系统移植试题答案-1.doc_第2页
第2页 / 共5页
08-(嵌入式学院)嵌入式linux系统移植试题答案-1.doc_第3页
第3页 / 共5页
08-(嵌入式学院)嵌入式linux系统移植试题答案-1.doc_第4页
第4页 / 共5页
08-(嵌入式学院)嵌入式linux系统移植试题答案-1.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1嵌入式 Linux 系统移植试题(时间:个半小时)一、选择题(每题 2 分,共 50 分,包括单选和多选,多选、少选均不得分)1. 嵌入式 linux 系统移植包括( ABC )A bootloader B linux 内核 C 根文件系统 D 应用程序2. 一般情况下,在搭建嵌入式 linux 开发环境时主机需要安装的软件有( ABC )A 串口通信软件 B tftp 服务器 C nfs 服务器 D http 服务器3. 下列选项中符合 gcc 的编译流程的是( A )A 预处理 -编译 -汇编- 连接 B 预处理-汇编-编译-连接 C 编译-预处理-汇编-连接 D 预处理-连接-汇编-编

2、译4. gcc 使用下列哪个选项可以查看编译的详细过程( B )A -o B -v C -E D -g 5. 下列二进制工具哪个是丢弃目标文件的全部或者特定符号,减少文件体积的( D ) A size B as C nm D strip6. 下列二进制工具哪个是用来反汇编的( B )A nm B objdump C objcopy D string7. 下列二进制工具哪个是用来进行目标格式转换的( C )A nm B objdump C objcopy D string8. 下列二进制工具哪个是用来把程序地址转换为文件名和行号的( D )A nm B objdump C objcopy D a

3、ddr2line9. 下列二进制工具哪个是用来将目标文件生成静态库的( A )A ar B nm C objcopy D objdump10. FSC1000 开发平台上,linux 要求 bootloader 将内核参数存储在什么位置( B )A 0x20008000 B 0x20000100 C 0x20004000 D 0x27e000011. linux 要求 bootloader 将平台号保存在( B )A r0 B r1 C r2 D r3 12. linux 要求 bootloader 在运行内核前,让系统进入何种模式( B )2A user B svc C system 13.

4、 bootloader 向内核传参的方式有( AD )A param_struct B cmd_tbl_t C char * D tag14. u-boot 的命令中,设置环境变量的命令是( A )A setenv B printenv C tftp D bootm15. u-boot 中存放内核启动参数的环境变量是( C )A bootcmd B bootdelay C bootargs D ipaddr16. 在内核配置时,哪个关键词是来包含下一级 Kconfig ( B )A menu endmenu B source C choice endchoice D depends on17.

5、 内核启动过程中,如果终端出现”Error:a”错误,可能出现的原因是( B )A 内核不支持当前处理器 B 内核不支持当前开发平台 C 内核获取不到 bootloader 传递来的参数 D 内核初始化终端出现错误18. 内核启动过程中,如果终端出现”Error:p”错误,可能出现的原因是( A )A 内核不支持当前处理器 B 内核不支持当前开发平台 C 内核获取不到 bootloader 传递来的参数 D 内核初始化终端出现错误19. 下列函数适合在内核解压后,console 初始化以前使用的是( B )A puts B printascii C printk D printf20. 当 c

6、onsole 初始化以后,一般最为简单的内核调试方式为 ( A )A printk B puts C bdi2000 D kgdb21. 下列哪些文件系统可以运行在 nand flash 上,并具有可读写特性( AB )A yaffs2 B jffs2 C cramfs D tmpfs E ios966022. 下列哪些文件系统可以运行在 nand flash 上,并具只读特性( C )A yaffs2 B jffs2 C cramfs D tmpfs 23. 下列不占用任何磁盘空间的文件系统是( D )3A yaffs2 B jffs2 C cramfs D tmpfs 24. 在命令 mk

7、nod /dev/ttySAC0 c 4 64 中, c代表( A )A 字符设备 B 块设备 C 网络设备25. 在用 busybox 制作根文件系统时,对 inittab 文件中的 action,如果要求在程序执行前按enter 键进行确认的是( A )A askfirst B respawn C sysinit D wait二、简答题(前 5 题每题 8 分,最后一题 10 分,共 50 分)1. 简述嵌入式 linux 系统移植的主要内容有哪些? 1 搭建交叉开发环境2 移植 bootloader3 移植 linux 内核4 制作根文件系统2. 什么是 bootloader,其作用是什

8、么? 列举三种 ARM 平台常用的 bootloaderbootloader 是系统加电或复位时首先运行的一段代码,其作用是对系统的软硬件做相应的初始化,为操作系统的加载运行做好准备。u-boot redboot blob vivi3.描述 u-boot 启动流程u-boot 启动分为两个阶段:第一个阶段用汇编实现。设置中断向量表-设置 SVC 模式、中断和时钟 -关闭看门狗、mmu 和 cache-初始化内存控制器-自搬移-设置堆栈、清空 bss 段第二个阶段用 C 实现。调用一系列初始化函数 -初始化 Flash 设备和环境变量-初始化网络设备-进入循环4.分析以下代码段(逐行分析)。in

9、t disable_interrupts (void)unsigned long old,temp; 定义变量 old, temp_asm_ _volatile_( 声明内嵌汇编,通知编译器不用优化“mrs %0, cpsrn“ 读取cpsr寄存器的值到参数14“orr %1, %0, #0xc0n“ 参数1的值和0xc0按位或操作后保存到参数2“msr cpsr_c, %1“ 参数2的值写入cpsr_c: “=r“ (old), “=r“ (temp) 定义内嵌汇编的输出部分:old是参数1,temp是参数2,均通过寄存器参与运算: “memory“); 通知编译器内嵌汇编代码会修改内存re

10、turn (old 判断在原先的状态寄存器中是否开启了中断5.分析以下链接脚本内容,并大致画出内存分布图:OUTPUT_FORMAT(“elf32-littlearm“, “elf32-littlearm“, “elf32-littlearm“)指定输出的可执行文件是 elf 格式,32 位 ARM 指令, 小端OUTPUT_ARCH(arm) 指定输出的可执行文件的平台为 ARMENTRY(_start) 指定输出的可执行文件的入口为 _startSECTIONS. = 0x00000000; 从 0x0 位置开始. = ALIGN(4); 以 4 字节对齐.text : 定义代码段arch

11、/arm/cpu/armv7/start.o (.text) 代码段的第一部分*(.text) 其它代码部分. = ALIGN(4);.rodata : *(.rodata*) 定义只读数据段. = ALIGN(4);.data : *(.data) 定义数据段. = ALIGN(4);. = .;_u_boot_cmd_start = .; 把当前地址赋值给 _u_boot_cmd_start.u_boot_cmd : *(.u_boot_cmd) 定义 u_boot_cmd 段,把所有的 uboot 命令放在该段_u_boot_cmd_end = .; 把当前地址赋值给_u_boot_cm

12、d_end5. = ALIGN(4);.bss : _bss_start = .; 把当前地址赋值给_bss_start,即 bss 段的开始位置*(.bss) 定义 bss 段_bss_end_ = .;把当前地址赋值给 _bss_end_,即 bss 段的结束位置6. 回答以下内核相关问题:1 分别编译内核镜像和模块的命令是什么?make zImagemake modules2 以 SMDKC100 平台为例,第一次配置内核时,应使用的缺省内核配置文件是什么?arch/arm/configs/s5pc100_defconfig3 以 SMDKC100 平台为例,存放平台代码的文件是什么(完整路径) ?arch/arm/mach-s5pc100/mach-smdkc100.c4 内核解压后的入口在哪个文件?arch/arm/kernel/start.S5 printk 支持几种打印级别?8 种(07)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报