《嵌入式LInux设计与开发》练习题
嵌入式系统设计与开发基础试卷

嵌入式系统设计与开发基础试卷(答案见尾页)一、选择题1. 嵌入式系统的核心是什么?A. 中央处理器(CPU)B. 内存(RAM)C. 输入输出设备D. 操作系统2. 嵌入式系统的开发过程通常不包括以下哪个阶段?A. 系统需求分析B. 硬件设计C. 软件开发D. 系统测试与调试3. 嵌入式系统通常用于控制哪些类型的设备?(多选)A. 家庭电器B. 汽车电子C. 医疗设备D. 个人电脑4. 在嵌入式系统开发中,硬件抽象层(HAL)的主要作用是什么?A. 提供设备驱动程序B. 实现操作系统与硬件之间的接口C. 进行系统级优化D. 管理系统资源5. 在嵌入式系统设计中,如何确保系统的可靠性和稳定性?A. 使用高质量的组件B. 提高系统时钟频率C. 增加冗余设计D. 缩短系统开发周期6. 在嵌入式系统开发过程中,为什么需要遵循良好的编程规范?A. 保证代码的可读性B. 提高代码的可维护性C. 减少开发时间D. 降低系统故障率7. 嵌入式系统的硬件通常包括哪些组件?A. CPU、内存、I/O设备B. 硬盘驱动器、键盘、显示器C. 显卡、声卡、网络接口卡D. 光驱、软驱、USB接口8. 以下哪个不是嵌入式系统的特点?A. 低功耗B. 实时性C. 可定制性D. 高性能9. 嵌入式系统的实时性是指什么?A. 系统能够在预定时间内响应外部事件B. 系统能够处理大量数据C. 系统具有高度的可扩展性D. 系统能够进行多任务处理10. 在嵌入式系统设计中,通常首先需要进行哪种类型的分析?A. 性能分析B. 功能分析C. 可靠性分析D. 体系结构分析11. 嵌入式系统的软件开发通常采用哪种方法?A. 面向过程B. 面向对象C. 事件驱动D. 瀑布模型12. 在嵌入式系统中,经常使用的编程语言有:A. CB. C++C. JavaD. Python13. 嵌入式系统中的通信协议通常用于哪些场景?A. 网络通信B. 人机交互C. 数据处理D. 图像处理14. 在嵌入式系统测试中,常用的测试方法有:A. 单元测试B. 集成测试C. 系统测试D. 性能测试15. 嵌入式系统的未来发展趋势可能包括:A. 更高的性能B. 更低的功耗C. 更强的可定制性D. 更多的联网功能16. 嵌入式系统的硬件通常包括哪几部分?A. CPU、内存、I/O设备B. CPU、内存、外部接口C. CPU、内存、操作系统D. CPU、内存、软件17. 在嵌入式系统中,通常使用哪种编程语言进行开发?A. CB. C++C. JavaD. Python18. 嵌入式系统设计中,常说的“实时性”是指什么?A. 系统能够在规定的时间内响应外部事件B. 系统能够处理大量数据C. 系统具有高度的可扩展性D. 系统具有低功耗19. 嵌入式系统中的通信方式通常有哪几种?A. 串行通信和并行通信B. 同步通信和异步通信C. 有线通信和无线通信D. 以上都是20. 在嵌入式系统的开发过程中,调试是一个重要的环节。
嵌入式Linux系统开发与应用考试

嵌入式Linux系统开发与应用考试(答案见尾页)一、选择题1. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译、调试程序D. 连接目标板2. 嵌入式Linux系统编程基础A. C语言基础B. 汇编语言基础C. 嵌入式系统编程规范D. 嵌入式系统函数库3. 嵌入式Linux应用程序开发A. 嵌入式Linux应用程序设计原则B. 嵌入式Linux应用程序开发流程C. 嵌入式Linux应用程序调试技巧D. 嵌入式Linux应用程序性能优化4. 嵌入式Linux系统内核设计与实现A. 内核硬件抽象层(HAL)B. 微内核架构C. 嵌入式系统驱动程序开发D. 嵌入式系统实时性研究5. 嵌入式Linux系统文件系统与存储管理A. 文件系统基本概念B. 嵌入式Linux文件系统实现C. 存储管理技术D. 嵌入式系统数据安全6. 嵌入式Linux网络通信技术A. 网络通信协议分析B. 嵌入式Linux网络驱动程序开发C. 嵌入式Linux套接字编程D. 网络安全研究7. 嵌入式Linux系统跨平台开发技术A. 嵌入式Linux系统与Windows平台的互操作性技术B. 嵌入式Linux系统与macOS平台的互操作性技术C. 嵌入式Linux系统与Linux其他发行版的互操作性技术D. 嵌入式Linux系统全球化与本地化技术8. 嵌入式Linux系统项目实战A. 嵌入式Linux系统产品策划与设计B. 嵌入式Linux系统软件开发与测试C. 嵌入式Linux系统项目实施与运维D. 嵌入式Linux系统项目总结与反思9. 嵌入式Linux系统开发与应用相关技术标准与规范A. 嵌入式Linux系统开发规范B. 嵌入式Linux系统测试标准C. 嵌入式Linux系统文档编写规范D. 嵌入式Linux系统知识产权保护规范10. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译和调试C/C++程序D. 使用集成开发环境(IDE)11. 嵌入式Linux系统编程基础A. 数据类型与运算符B. 控制结构与函数C. 指针与内存管理D. 文件操作与进程管理12. 嵌入式Linux应用程序开发A. 创建和控制线程B. 实现多任务处理C. 数据结构与算法D. 设计用户界面13. 嵌入式Linux系统启动与引导A. 启动过程B. 加载内核与根文件系统C. 系统初始化与配置D. 启动设备驱动程序14. 嵌入式Linux系统调试与诊断A. 使用调试工具B. 分析系统性能C. 调试程序错误D. 系统故障排除15. 嵌入式Linux网络编程A. 网络协议与数据结构B. 建立网络连接C. 数据传输与通信D. 网络安全与防火墙设置16. 嵌入式Linux系统资源管理A. 内存管理B. 文件系统C. 设备分配与管理D. 系统性能监控17. 嵌入式Linux项目实战A. 嵌入式Linux产品设计与实现B. 嵌入式Linux项目开发流程与方法C. 嵌入式Linux项目测试与评估D. 嵌入式Linux项目经验分享与交流18. 嵌入式Linux系统未来发展趋势A. 人工智能与物联网应用B. 5G与低功耗技术发展C. 自动驾驶与智能交通系统D. 绿色环保与可持续发展19. 嵌入式Linux系统开发环境搭建A. 安装Linux操作系统B. 配置开发环境C. 编写、编译、调试程序D. 连接目标板20. 嵌入式Linux系统编程基础A. C语言基础B. 汇编语言基础C. 嵌入式系统编程概念D. 嵌入式系统编程实例21. 嵌入式Linux系统驱动程序开发A. 驱动程序基本概念B. 驱动程序开发流程C. 驱动程序编写实例D. 驱动程序调试与测试22. 嵌入式Linux系统应用程序开发A. 嵌入式Linux应用程序设计原则B. 嵌入式Linux应用程序开发流程C. 嵌入式Linux应用程序实例D. 嵌入式Linux应用程序优化23. 嵌入式Linux系统文件系统与内存管理A. 嵌入式Linux文件系统基本概念B. 嵌入式Linux内存管理机制C. 嵌入式Linux文件系统实现D. 嵌入式Linux内存管理优化24. 嵌入式Linux系统网络编程A. 嵌入式Linux网络编程基础B. 嵌入式Linux套接字编程C. 嵌入式Linux网络应用开发D. 嵌入式Linux网络协议栈实现25. 嵌入式Linux系统设备驱动程序开发A. 设备驱动程序基本概念B. 嵌入式Linux设备驱动程序开发流程C. 嵌入式Linux设备驱动程序编写实例D. 嵌入式Linux设备驱动程序调试与测试26. 嵌入式Linux系统内核裁减与移植A. 嵌入式Linux内核裁减原理B. 嵌入式Linux内核移植方法C. 嵌入式Linux内核配置D. 嵌入式Linux内核集成27. 嵌入式Linux系统项目实战A. 嵌入式Linux系统开发项目需求分析B. 嵌入式Linux系统开发团队组建与分工C. 嵌入式Linux系统开发进度管理与质量控制D. 嵌入式Linux系统开发成果展示与评估28. 嵌入式Linux系统交叉平台开发环境建立A. 搭建交叉开发环境所需硬件设备B. 安装交叉开发工具软件C. 编写交叉平台软件开发框架D. 调试和优化交叉平台程序29. 嵌入式Linux系统应用程序开发技术A. 嵌入式Linux系统编程基础B. 嵌入式Linux系统进程与线程管理C. 嵌入式Linux系统内存管理D. 嵌入式Linux系统文件系统30. 嵌入式Linux系统网络编程A. 嵌入式Linux系统网络通信协议B. 嵌入式Linux系统套接字编程C. 嵌入式Linux系统网络驱动程序开发D. 嵌入式Linux系统网络安全31. 嵌入式Linux系统实时性技术A. 嵌入式Linux系统实时性概念及重要性B. 嵌入式Linux系统实时调度算法C. 嵌入式Linux系统实时任务设计D. 嵌入式Linux系统实时性能优化32. 嵌入式Linux系统低功耗技术A. 嵌入式Linux系统功耗概念及评估方法B. 嵌入式Linux系统低功耗硬件设计C. 嵌入式Linux系统低功耗软件优化D. 嵌入式Linux系统低功耗系统级设计33. 嵌入式Linux系统文件系统优化A. 嵌入式Linux系统文件系统概述B. 嵌入式Linux系统文件系统性能优化C. 嵌入式Linux系统文件系统安全性优化D. 嵌入式Linux系统文件系统可扩展性优化34. 嵌入式Linux系统内核定制与裁减A. 嵌入式Linux系统内核功能分析B. 嵌入式Linux系统内核配置与编译C. 嵌入式Linux系统内核裁减与移植D. 嵌入式Linux系统内核优化与升级35. 嵌入式Linux系统驱动程序开发A. 嵌入式Linux系统驱动程序基本概念B. 嵌入式Linux系统驱动程序开发流程C. 嵌入式Linux系统驱动程序编写规范D. 嵌入式Linux系统驱动程序测试与调试36. 嵌入式Linux系统项目实战案例分析A. 嵌入式Linux系统智能家居项目实战B. 嵌入式Linux系统物联网项目实战C. 嵌入式Linux系统汽车电子项目实战D. 嵌入式Linux系统航空航天项目实战37. 嵌入式Linux系统交叉开发技术A. 嵌入式Java技术B. 嵌入式Python技术C. 嵌入式C/C++技术D. 嵌入式汇编语言技术38. 嵌入式Linux系统驱动程序开发A. 驱动程序基本概念及分类B. 嵌入式Linux系统设备驱动程序开发流程C. 嵌入式Linux系统中断服务程序开发D. 嵌入式Linux系统硬件设备驱动程序调试与测试39. 嵌入式Linux系统文件系统开发A. 文件系统基本概念及分类B. 嵌入式Linux系统常用文件系统解析C. 嵌入式Linux系统文件系统优化与管理D. 嵌入式Linux系统用户认证与权限管理40. 嵌入式Linux系统进程与线程管理A. 进程与线程基本概念及区别B. 嵌入式Linux系统进程调度与进程通信C. 嵌入式Linux系统线程同步与互斥D. 嵌入式Linux系统实时性与并发性处理41. 嵌入式Linux系统网络编程A. 网络编程基础概念及协议分析B. 嵌入式Linux系统套接字编程C. 嵌入式Linux系统TCP/IP协议栈实现D. 嵌入式Linux系统网络设备驱动程序开发42. 嵌入式Linux系统图形用户界面(GUI)开发A. 嵌入式Linux系统GUI组件开发B. 嵌入式Linux系统事件处理与消息循环C. 嵌入式Linux系统多线程与同步D. 嵌入式Linux系统GUI性能优化43. 嵌入式Linux系统安全性设计A. 嵌入式Linux系统安全性概述B. 嵌入式Linux系统权限管理与访问控制C. 嵌入式Linux系统安全审计与监控D. 嵌入式Linux系统加密与解密技术44. 嵌入式Linux系统项目实战A. 嵌入式Linux系统智能家居控制系统设计B. 嵌入式Linux系统车载电子系统设计C. 嵌入式Linux系统工业自动化控制系统设计D. 嵌入式Linux系统医疗设备远程监控系统设计45. 嵌入式Linux系统未来发展趋势与挑战A. 嵌入式Linux系统与云计算、物联网融合B. 嵌入式Linux系统人工智能、机器学习应用C. 嵌入式Linux系统边缘计算技术发展D. 嵌入式Linux系统绿色环保与节能技术二、问答题1. 什么是嵌入式Linux系统?它的主要特点是什么?2. 嵌入式Linux系统开发流程通常包括哪些步骤?3. 嵌入式Linux系统中常用的开发工具有哪些?4. 嵌入式Linux系统中如何进行性能优化?5. 嵌入式Linux系统中如何进行故障排查与调试?6. 嵌入式Linux系统中如何保护知识产权?7. 嵌入式Linux系统中如何进行跨平台开发?8. 嵌入式Linux系统中如何进行可持续性与环保设计?参考答案选择题:1. ABCD2. ABCD3. ABCD4. ABCD5. ABCD6. ABCD7. ABCD8. ABCD9. ABCD10. ABCD11. ABCD 12. ABCD 13. ABCD 14. ABCD 15. ABCD 16. ABCD 17. ABCD 18. ABCD 19. ABCD 20. ABCD21. ABCD 22. ABCD 23. ABCD 24. ABCD 25. ABCD 26. ABCD 27. ABCD 28. ABCD 29. ABCD 30. ABCD31. ABCD 32. ABCD 33. ABCD 34. ABCD 35. ABCD 36. ABCD 37. ABCD 38. ABCD 39. ABCD 40. ABCD41. ABCD 42. ABCD 43. ABCD 44. ABCD 45. ABCD问答题:1. 什么是嵌入式Linux系统?它的主要特点是什么?嵌入式Linux系统是一种特殊的Linux操作系统,主要用于嵌入到各种硬件设备中。
(完整版)嵌入式Linux笔试题库和答案(新)

嵌入式Linux 笔试题库一.选择题1. Linux 的创始人是谁()A、TurbolinuxB、AT&T Bell LaboratryC、University of Helsinki D 、Linus Torvalds2. 在Linux 中,命令解释器是哪个()A、管道B、分级文件系统C、字符型处理器D、shell3. Linux 安装程序提供了两个引导装载程序()A、GROUP 和LLTOB、DIR 和COIDC、GRUB 和LILOD、以上都不是4. 如果当前目录是/home/sea/china,那么“ china”的父目录是哪个目录()A、/home/seaB、/home/C、/D、/sea5. 在Linux中,要删除abc目录及其全部内容的命令为:()A、rm abcB、rm -r abcC、rmdir abcD、rmdir -r abc6. 假定kernel支持vfat分区,下面哪一个操作是将/dev/hda1分区加载到/win目录?()A、mount -t windows /win /dev/hda1B 、mount -fs=msdos /dev/hda1 /winC、mount -s win /dev/hda1 /winD、mount - vfat /dev/hda1 /win7. 显示用户的主目录的命令是什么()A、echo $HOMEB、echo $USERDIRC、echo $ECHOD、echo $ENV8系统中有用户user1和user2,同属于users组。
在user1用户目录下有一文件file1,它拥有644的权限, 如果user2用户想修改user1用户目录下的file1文件,应拥有()权限。
A、744B、664C、646D、7469.如何查看一个RPM 软件包是否安装()A 、rpm-Vc postfixB 、rpm-q postfixC 、rpm--changelog postfixD 、rpm-q—changelogpostfix10*.在Linux 中,提供TCP/IP 包过滤功能的软件叫什么( C )A、rarpB、routeC、iptablesD、filter11.nfs 服务的配置文件是什么?()/etc/mtab B、/etc/fastboot C、/etc/fstab D、/etc/exports12. 用命令ls -al 显示出文件ff 的描述:-rwxr-xr-- 1 root root 599 Cec 10 17:12 ff 由此可知文件ff 的类型为:()A、普通文件B、硬连接C、目录D符号连接13.Linux 操作系统中的shell 是()A、命令解释器B、程序设计语言C、脚本编辑器D、编译器14.能实现文件系统远程挂载的是()。
嵌入式linux c开发常见笔试题目

嵌入式Linux C开发的常见笔试题目主要围绕C语言基础、Linux操作系统以及嵌入式系统开发等方面。
以下是一些可能的笔试题目:
1. 请解释C和C++的主要区别。
2. 描述一下静态变量和全局变量在内存中的分配情况。
3. 解释一下什么是预处理器以及它的主要作用。
4. 编写一个程序,实现两个整数的交换而不使用第三个变量。
5. 描述一下进程和线程的区别以及它们之间的关系。
6. 什么是死锁?请列举至少两种导致死锁的情况。
7. 请解释一下中断处理程序的工作原理。
8. 如何在Linux中创建一个新进程?
9. 描述一下Linux中的同步和异步机制。
10. 什么是RTOS?请列举至少两个RTOS的例子。
《嵌入式Linux应用程序设计》复习题

《嵌入式Linux应用程序设计》复习题.一、选择题1.下面哪个命令是用来定义shell的全局变量( D )A. exportfsB. aliasC. exportsD. export2. 将当前目录下的文件shell.sh移动到目录/home/linux下的命令为 B 。
A. cp shell.sh /home/linuxB. mv shell.sh /home/linuxC. lls shell.sh / home/linux/shell.shD. mv /root/shell.sh /home/linux/shell.sh3.如果要列出一个目录下的所有文件需要使用命令行( C )。
A. ls –lB. ls-tC. ls –aD. ls –d4.Linux 下Makefile文件中,表示第一个依赖目标的系统变量是(C )A.$@B.$*C.$<D.$#5.32位系统下,定义一个指向字符类型的变量short i,那么sizeof(i)的值是( b )A.1B.2C.3D.46.在用ls –l 查看文件属性时,字符设备文件类型的标志是( A )A.cB.bC.sD.l7. 在linux下进行shell编程时,注释符是 A 。
A. #B. //C. /* */D. 以上都不对8. 任何时候用户需要回到用户主目录时可以使用命令 A 。
A. cdB. pwdC. pathD. cd .9. 下列属于文件包含的命令是_____C____。
A. #define N 25B. #endifC. #include "stdio.h"D. #else10. 下列关于Linux安装的说法中,不正确的是 C 。
A.如果计算机的内存为128MB,则SWAP分区(交换分区)的大小通常设定为256M。
B.安装时Linux分区的文件系统类型一般为ext2或ext3。
C.安装时要进行磁盘分区,如果选择“自动分区”,系统会自动保留硬盘上原来的数据。
嵌入式系统开发测试题(含答案)

嵌入式系统开发测试题(含答案)一、单选题(共100题,每题1分,共100分)1、Make预置了一些内部宏,其中$@表示A、以上都不是B、没有扩展名的当前目标文件C、当前目标文件最近更新的文件名正确答案:A2、关于U-Boot,下列说法错误的是()A、支持的处理器有ARM、MNPSB、是遵循GPL条款的开放源码项目C、支持的操作系统有LINUX、QNX正确答案:A3、Makefile是()A、调试器B、编辑器C、项目管理器正确答案:C4、C语言文件预处理生成哪个后缀的文件A、iB、SC、o正确答案:A5、直接编译进内核,又称()。
A、下载文件B、静态连接C、动态连接正确答案:B6、实时在线仿真是一种用于替代目标上()的设备A、CPUB、GPUC、NOU正确答案:A7、GDB软件是()。
A、调试器B、编译器C、文本编辑器正确答案:A8、嵌入式系统设计的重要特点是()多样化A、技术B、应用C、操作正确答案:A9、ARM的工作模式有?A、非特权模式和特权模式B、特权模式C、非特权模式正确答案:A10、嵌入式操作系统的特点不包括()。
A、有一定的实时性B、强交互性C、可裁剪正确答案:B11、TCP/IP参考模型不包括()A、表示层B、应用层C、传输层正确答案:A12、Linux内核的功能不包含下面哪种()A、处理机管理B、内存管理C、进程管理正确答案:A13、下列CPSR寄存器标志位的作用说法错误的是A、V:借位B、C:进位C、Z:零正确答案:A14、()显示屏是利用有机电致发光二极管制成的显示屏。
A、OLEDB、ABCDC、EFGH正确答案:A15、动态链接是指程序运行时需要调用共享库文件,其后缀为()A、aB、cC、so正确答案:C16、MCU偏重于()A、信号处理B、控制正确答案:B17、()是指:在宿主机上进行软件编辑、编译、链接等,并生成能够在目标机上运行的可执行程序的过程。
A、交叉编辑B、交叉开发C、交叉编译正确答案:C18、Flash程序烧写时,需准备好的软件不包括()。
嵌入式linux-测试题(2套)

一:选择题1.下面不是对Linux操作系统特点描述的是( B )。
[A] 良好的可移植性[B] 单用户[C] 多用户[D] 多任务2.查看创建目录命令mkdir的帮助文档,可以使用命令( D)。
[A] mkdir –h [B] help mkdir [C] mkdir -p [D] man mkdir3.在C语言中,要求运算数必须是整型的运算符是( D )。
[A] / [B] ++ [C] != [D] %4.C语言程序的三种基本程序是( A )。
[A] 顺序结构,选择结构,循环结构[B] 递归结构,循环结构,转移结构[C] 嵌套结构,递归结构,顺序结构[D] 循环结构,转移结构,顺序结构5.数据结构包含的内容不包括(a)A.线性结构B.存储结构C.逻辑结构D.数据运算6.向一个单链表linklist中的节点t后面插入一个节点p,下列操作正确的是(a)A.p->next = t->next;t->next = p;B.t->next = p->next;t->next = p;C.t->next = p;p->next = t->next;D.t->next = p;t->next = p->next;7.下列哪种打开文件的方式不能修改文件已有的内容( B )[A] r+ [B] r [C] w+ [D] a+8.以下哪种不是进程的状态( B )[A] 运行态[B] 锁定态[C] 睡眠态[D] 停止态9.常用来进行多任务同步的机制是( B )[A]管道[B] 信号量[C] 信号[D] 共享内存10.下列对于有名管道描述错误的是( D )[A] 可以用于互不相关的进程间[B] 通过路径名来打开有名管道[C] 在文件系统中可见[D] 管道内容保存在磁盘上11.不能被用户进程屏蔽的信号是( B )[A] SIGINT [B] SIGSTOP [C] SIGQUIT [D] SIGILL12.fread()返回值的含义是( B )[A] 读取的字节数[B] 读取的对象数[C] 缓冲区的首地址[D] 013.以下不属于socket的类型的是 ( )。
嵌入式Linux系统开发教程很完整的习题答案

参考答案第一章一、填空题。
1、嵌入式系统主要融合了计算机软硬件技术、通信技术和微电子技术,它是将计算机直接嵌入到应用系统中,利用计算机的高速处理能力以实现某些特定的功能。
2、目前国内对嵌入式系统普遍认同的定义是:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、嵌入式系统一般由嵌入式计算机和执行部件组成,其中嵌入式计算机主要由四个部分组成,它们分别是:硬件层、中间层、系统软件层以及应用软件层。
4、嵌入式处理器目前主要有ARM、MIPS、Power PC、68K等,其中arm处理器有三大特点:体积小、低功耗、的成本和高性能,16/32位双指令集,全球合作伙伴众多。
5、常见的嵌入式操作系统有:Linux、Vxworks、WinCE、Palm、uc/OS-II和eCOS。
6、嵌入式系统开发的一般流程主要包括系统需求分析、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最后得到最终产品。
二、选择题1、嵌入式系统中硬件层主要包含了嵌入式系统重要的硬件设备:、存储器(SDRAM、ROM等)、设备I/O接口等。
(A)人、嵌入式处理器B、嵌入式控制器C、单片机D、集成芯片2、20世纪90年代以后,随着系统应用对实时性要求的提高,系统软件规模不断上升,实时核逐渐发展为—,并作为一种软件平台逐步成为目前国际嵌入式系统的主流。
(D)A、分时多任务操作系统B、多任务操作系统C、实时操作系统D、实时多任务操作系统3、由于其高可靠性,在美国的火星表面登陆的火星探测器上也使用的嵌入式操作系统是。
( B)A、PalmB、VxWorksC、LinuxD、WinCE[在此处键入]4、嵌入式系统设计过程中一般需要考虑的因素不包括:(D)A、性能B、功耗C、价格D、大小5、在嵌入式系统中比较流行的主流程序有:(A)A、AngelB、BlobC、Red BootD、U-Boot 三、叙述题1、举例说明身边常用的嵌入式系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习题(一)一、填空题1.嵌入式系统一般包括_____________、嵌入式操作系统和。
2.Arm7内核采用的是体系结构。
3.S3C2410X芯片包含通道PWM定时器和____________通道内部计时器。
4.gcc的编译流程分为预处理、编译、和______________。
5.C语言中的预处理语句是以符号开头的。
6.多任务系统中有3个功能单位:任务、和____________。
二、选择题1.下列操作系统中,具有Windows图形界面的是()A.VxWorks B.QNX C.Windows CE D.Linux2.使vi编辑器处于可编辑状态的命令是()A.r B.p C.i D.b3.下列选项中,能帮助用户生成makefile的工具是()A.gcc B.autotools C.gdb D.vi4.可以使用TFTP通过网络下载文件的命令是()A.run B.tftpboot C.sleep D.mv5.下列不属于Linux系统中线程的是()A.用户级现程 B.网络级线程 C.轻量级线程 D.内核级线程6.下列选项中,常用于网络中不同机器之间的进程间通信的是()A.套接字 B.管道 C.信号 D.信号量7.使用有关线程操作的函数时必须包含的头文件是()A. B. C. D.8.TCP/IP参考模型包含几层()A.4 B.5 C.6 D.79.在TCP中,用于发送数据的函数是()A.bind() B.send() C.accept() D.recv()10.下列选项中,不属于Linux系统的设备分类的是()A.字符设备 B.数据设备 C.块设备 D.网络设备三、判断对错1.Arm9采用的是5级指令流水线。
()2.Vi编辑器有4种模式:标准模式、插入模式、命令行模式和可视模式。
()3.NFS文件系统的目的是让不同的机器、不同的操作系统之间可以共享文件。
()4.一个线程可以包含多个进程。
()5.TCP和UDP都是面向可靠的传输服务。
()6.设备驱动程序可以使用模块的方式动态加载到内核去。
()7.标准I/O提供了3种类型的缓冲存储:全缓冲、行缓冲、不带缓冲。
()8.交叉编译操作需要在安装交叉编译器后才能进行。
()9.Linux环境下不能同时打开多个终端。
()10.进程具有动态性、交互性和异步性,但不具有并发性。
()四、问答题1.简述并行通信和串行通信的概念及各自的特点。
并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。
它的特点是传输速度快,适用于传输距离短且传输速度较高的通信。
串行通信是指利用一个传输线将数据以比特位为单位顺序传送。
特点是通信线路简单,利用简单的线缆就可以实现通信,成本低,适用于传输距离长且传输速度较慢的通信。
2.阐述什么是交叉编译,并解释为什么要进行交叉编译。
所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。
由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开放环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。
3.画出OSI参考模型与TCP/IP参考模型的对应关系。
五、程序填空题1.在书写makefile时,适当使用变量替换会使其进一步得到简化。
题中给出了一个makefile的原始写法,随后给出了经变量替换后的前三行语句,请在下划线上填写后续语句。
完整的makefile原始写法如下:david:gcc –o david:gcc –Wall –g –c –o:gcc –Wal l –g –c –o经过变量替换后的makefile如下:OBJS=CC=gccCFLAGS=-Wall –g(1)(2)(3)(4)(5)(6)2.已知和两个文件,按要求将所需命令写在下划线上。
预处理阶段的命令是:(1)编译阶段的命令是:(2)汇编阶段的命令是:(3)链接阶段的命令是:(4)运行可执行文件的命令是:(5)六、综合题(共34分)1.用QT编写一个显示“ welcome linux ”的窗口程序。
2.有如下二叉树,写出它的先序序列、中序序列和后序序列。
3.编程实现如下功能:使用fork()函数创建一个子进程,根据其返回值result 判断函数fork()的返回情况,并进行错误处理。
练习题(二)一、填空题1.嵌入式系统一般具备的三个基本要素是:“计算机系统”、__________和。
2.ARM(Advanced RISC Machines)有3种含义,它是一个_______的名称,也是一类_________的通称,还是一种技术的名称。
3.S3C2410X芯片提供通道的DMA,并具有_________请求引脚。
4.Vim有________种模式,在其他任何模式下按下________按键都可以回到命令模式。
5.一个makefile文件中通常包含三方面内容:_________、dependency_file和_____________。
二、单项选择题1.下列选项中,不属于嵌入式系统特点的是()A.面向特定应用 B.量体裁衣 C.对代码要求低 D.不具备二次开发功能2.使vi编辑器处于标准模式的命令是()A.Ctrl B.p C.Esc D.b3.嵌入式Linux开发中常用到的一种调试工具是()A.gcc B.gdb C.arm-linux-gcc D.kernal4.单向链表的最后一个节点的指针域为()A.next B.NULL C.First D.prev5.可以让不同的机器、不同的操作系统直接进行彼此共享文件的文件系统是()A.SMBA B.NFS C.TFTP D.根文件系统6.下列Linux内源码顶层目录的文件夹中,存放有关体系结构代码的是()A.Arch B.driver C.fs D.Net7.在对文件的操作中,既可以对文件施加建议性锁,又可以施加强制锁的函数是()A.fcntl( ) B.lockf( ) C.lseek( ) D.select( )8.下列选项中,不属于Unix进程间通信的方式是()A.变量 B.管道 C.FIFO D.信号9.下列选项中,不属于设备驱动程序特点的是()A.可装载 B.可移植 C.可设置 D.动态性10.下列选项中,用于在内核空间向控制台输出信息的函数是()A.printf() B.printk() C.print() D.putchar()三、判断对错1.在S3C2410芯片中,对内核的供电电压和对存储器的供电电压可以不同。
()2.gcc的编译流程可分为4个步骤:预处理、编译、汇编、链接。
()3.tftp服务中使用的tftp协议是基于UDP实现的。
()4.BootLoader是不依赖硬件平台的,所以在新电路板上无需移植U-boot程序。
()5.在Linux中,所有的设备文件一般都位于“/dev”下,其中串口一和串口对应的设备名是相同的,都是“/dev/ttyS”。
()6.设备驱动程序既可以用静态方式编译在内核中,也可以动态加载到内核中。
()7.TCP协议适于可靠传输,UDP协议适于不可靠传输。
()8.嵌入式Linux驱动的设备号是一个数字,由主设备号和次设备号组成。
()9.嵌入式Linux系统中控制一个LED小灯,直接对其操作即可,无需编写驱动。
()10.进程具有动态性、交互性和异步性,但不具有并发性。
()四、问答题1.简述vim编辑器的几种工作模式。
Vim编辑器的使用按不同的使用方式可以分为4种模式:标准模式、插入模式、命令行模式和可视模式。
标准模式:在此模式下任何键盘的输入都是作为命令来对待。
命令的输入通常是不回显的,只显示执行的结果。
在此模式下用户可以输入命令来控制屏幕光标的移动,字符、子或行的删除等操作,也可进入到其它3种模式下。
在其它任何模式下按下“Esc”键都可以回到此模式。
插入模式:用户只有在此模式下才可以进行文字输入和修改等编辑工作,因此也称此模式为编辑模式。
在标准模式下输入“i”即可进入此模式。
命令行模式:在此模式下,用户可以将文件保存或退出vim,也可设置编辑环境,比如查找字符、列出行号等。
在命令模式中输入“:”(一般命令)、“/”(正向搜索)或“”(反向搜索)进入该模式,在此模式下输入的命令会在底行显示,这些命令输入后要按“Enter”键才执行。
可视模式:在命令模式中输入“v”(按字符选择)、“V”(按行选择)、“ctrl”+“v”(按块选择)进入该模式。
在此模式下,通过移动光标来选择文本,选择的文本将反白显示。
2.简述嵌入式Linux中I/O处理的五种模型。
I/O处理的模型有以下五种。
(1)阻塞I/O模型:在此模型下,若调用的I/O函数没有完成相关的功能,则会使进程挂起,直到相关数据到达才会返回。
(2)非阻塞模型:在此模型下,当请求的I/O操作不能完成时,不让进程睡眠,而且立即返回。
非阻塞I/O使用户可以调用不会阻塞的I/O操作,如open()、write()、read ()。
如果该操作不能完成,则会立即返回出错或者返回0。
(3)I/O多路转接模型:此模型下,如果请求的I/O操作阻塞,且它不是真正阻塞I/O,而是让其中一个函数等待,期间,I/O还能进行其他操作。
(4)信号驱动I/O模型:此模型下,通过安装一个信号处理程序,系统可以自动捕获特定信号,从而启动I/O。
这是由内核通知用户何时启动一个I/O操作决定的。
(5)异步I/O模型:此模型下,当一个描述符已准备好,可以启动I/O时,进程会通知内核。
3.列举并简述嵌入式Linux中使用较多的进程间通信的几种工作方式。
现在在Linux中使用较多的进程间通信方式主要有以下几种。
(1)管道及有名管道:管道可用于具有亲缘关系进程间的通信,有名管道除具有管道所有的功能外,还允许无亲缘关系进程间的通信。
(2)信号:信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一样的。
(3)消息队列:消息队列是消息的链接表,包括POSIX消息队列,System V消息队列。
它克服了前两种通信方式中信息量有限的缺点,具有写权限的进程可以按照一定的规则向消息队列中添加新消息;对消息队列有读权限的进程则可以从消息队列中读取消息。
(4)共享内存:它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新,这种通信方式需要依靠某种同步机制,如互斥锁或信号量等。
(5)信号量:主要作为进程之间以及同一进程的不同线程之间的同步或互斥手段。
(6)套接字:用于网络中不同机器之间的进程通信。
4.画出设备驱动程序流程图。