嵌入式Linux系统开发教程答案

合集下载

文泉刚嵌入式Linux课后题答案(第一章前几题没写)

文泉刚嵌入式Linux课后题答案(第一章前几题没写)
可区分为 三种基本设备:字符设备、块设备、网络设备。
13.简述Linux设备驱动的加载方式。
静态加载就是把驱动程序直接编译到内核里,在执行make menuconfig命令进行内核配置裁剪时,在窗口中可以选择是否编译入内核,还是放入相应内核版本目录中,还是不选。驱动编译进内核后,系统启动后可以直接调用。
(2)单引号:由单引号括起来的字符都作为普通字符出现。
(3)倒引号:倒引号括起来的字符串被shell解释为命令行,在执行时,Shell会执行该命令行,并以它的标准输出结果取代整个倒引号部分。
8.简述Linux启动过程分为哪几个阶段?p79
BIOS引导阶段、BootLoader引导阶段、Kernel加载阶段、init初始化阶段。
2.简述基于Linux的嵌入式软件组成,各部分有何作用?
(1)BootLoader:初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
(2)内核:嵌入式系统通常有许多设备用于与用户交互,内核通过所有这些设备各自的设备驱动程序来控制他们。
环境变量:
8.在Eclipse环境下开发C语言程序的流程:
创建目、编译运行、断点调试、
9.WhatisCVS,其基本工作思路是什么?
建立连接、项目提交、提交修改和版本比对
10.基本I/O操作函数有哪些,分别实现什么功能?
Open函数:成功则返回文件描述符,出错返回-1.
Read和write函数:如果发生错误,返回值为-1,同时设置errno变量为错误代码。
由于上述原因,再加上Linux本身是使用C语言开发的,在Linux上用C语言开发效率很高,因此C语言尤其适合在嵌入式领域开发。

嵌入式Linux应用程序开发标准教程(第2版)课后习题个人答案

嵌入式Linux应用程序开发标准教程(第2版)课后习题个人答案

嵌⼊式Linux应⽤程序开发标准教程(第2版)课后习题个⼈答案嵌⼊式Linux应⽤程序开发标准教程(第2版)课后习题个⼈答案第1章5.Linux中的⽂件有哪些类,这样分类有什么好处?答:Linux中主要的⽂件类型分为4种:普通⽂件、⽬录⽂件、链接⽂件和设备⽂件。

Linux对⽬录和设备都当作⽂件来处理,这样就简化了对各种不同类型设备的处理,提⾼了效率。

6.若有⼀个⽂件,其属性为"-rwxr—rw-",说出这代表什么?知识点:⽂件的访问属性有 3 种不同的访问权限:可读(r)、可写(w)和可执⾏(x)。

⽂件⼜有 3 个不同的⽤户级别:⽂件拥有者(u)、所属的⽤户组(g)和系统⾥的其他⽤户(o)。

第⼀位字符显⽰⽂件类型“-”表⽰普通⽂件。

第⼀个字符后有三个三位字符组。

以本题为例:第⼀个三位字符组(rwx)表⽰⽂件拥有者(u)拥有对该⽂件的rwx(可读、可写、可执⾏)权限;第⼆个三位字符组(r—)表⽰⽂件⽤户组(g)拥有对该⽂件的 r(可读)权限;第三个三位字符组(rw-)表⽰系统其他⽤户(o)拥有对该⽂件的 rw(可读、可写)权限。

若该⽤户组对此没有权限,⼀般显⽰“-”字符。

答:"-rwxr—rw-",代表:该⽂件为普通⽂件,⽂件拥有者(u)拥有对该⽂件的rwx(可读、可写、可执⾏)权限,⽂件⽤户组(g)拥有对该⽂件的 r(可读)权限, 系统其他⽤户(o)拥有对该⽂件的 rw(可读、可写)权限。

7.请说出下列⽬录中放置的是哪些⽂件?1. /etc 该⽬录下存放了系统管理时要⽤到的各种配置⽂件和⼦⽬录。

2. /etc/rc.d/init.d/ 该⽬录存放所有 Linux 服务默认的启动脚本3. /usr/bin 系统⽤户使⽤的应⽤程序4. /bin 就是⼆进制(binary)的英⽂缩写。

在这⾥存放 Linux 常⽤操作命令的执⾏⽂件,如 mv、ls、mkdir 等。

嵌入式linux开发技术基础习题答案

嵌入式linux开发技术基础习题答案

习题答案第一章1.在三极管驱动电路中上拉电阻和下拉电阻的作用是什么?答:上拉电阻:电阻一端接VCC,一端接逻辑电平接入引脚(如单片机引脚)下拉电阻:电阻一端接GND,一端接逻辑电平接入引脚(如单片机引脚)其主要作用是提高驱动能力:例如,用单片机输出高电平,但由于后续电路的影响,输出的高电平不高,就是达不到VCC,影响电路工作。

所以要接上拉电阻。

下拉电阻情况相反,让单片机引脚输出低电平,结果由于后续电路影响输出的低电平达不到GND,所以接个下拉电阻。

2.什么是灌电流和拉电流,为什么驱动LED有时要加一个三极管作为反相器?答:拉电流和灌电流是衡量电路输出驱动能力的参数,高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”;低电平输出时,一般是输出端要吸收负载的电流,其吸收电流的数值叫“灌(入)电流”。

普通LED,正常静态工作电流最大能达到70-80mA,一般单片机IO口不足以提供这么大的电流。

加三极管可扩展IO口的驱动能力。

另外,加三极管可以起到缓冲和隔离作用,使单片机工作更加稳定可靠。

3.阅读嵌入式开发板原理图,分析按键电路,蜂鸣器电路,用户LED灯电路等。

答:略4.简单分析几种典型嵌入式操作系统的主要特点。

答:略5.举出几个生活当中应用嵌入式产品的例子。

答:略6.简述嵌入式系统开发流程、开发要点。

答:在一个已经烧写好系统的开发平台上只需要(1)建立开发环境(2)配置开发主机(3)嵌入式系统软件开发(4)烧写应用程序,发布产品。

第二章1. Linux系统中的文件属性与Windows系统的文件属性有何区别?答:Linux文件系统就是一个树形的分层组织结构,根(/)作为整个文件系统的惟一起点,其他所有目录都从该点出发。

在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动设备等。

inux文件系统使用的主要文件格式有EXT2、EXT3、RerserFS、ISO9660、vfat等。

嵌入式Linux系统开发与应用考试

嵌入式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实时操作系统及应用编程代码与答案

嵌入式Linux实时操作系统及应用编程代码与答案嵌入式系统是一种特殊的计算机系统,它被用于控制、监测和管理各种设备和系统。

嵌入式Linux系统由Linux内核和一些特定的应用程序组成,其实时性能在许多嵌入式应用领域具有重要意义。

本文将介绍嵌入式Linux实时操作系统及应用编程的相关代码和答案。

一、嵌入式Linux实时操作系统1. 定义实时系统实时系统是指需要在特定时间范围内完成某个任务,并对任务执行时间的可控性要求较高的系统。

在嵌入式领域,实时性能尤为重要,特别是在要求高响应性和低延迟的应用中。

2. Linux内核的实时性能Linux内核是一种开源、免费的操作系统内核,它在实时性能方面存在一定的局限性。

然而,通过对Linux内核进行优化和定制,可以实现嵌入式Linux实时操作系统的要求。

3. 实时调度策略实时调度策略是指操作系统在多任务环境下,对任务进行调度和分配的策略。

Linux内核提供了多种实时调度策略,如先来先服务(FIFO)、循环调度(Round Robin)等。

4. 实时内核补丁为了提高Linux内核的实时性能,开发者们开发了一些实时内核补丁,如PREEMPT-RT等。

这些内核补丁可以改进Linux内核的调度算法,提高系统的实时性能。

二、嵌入式Linux应用编程代码与答案1. 嵌入式Linux应用编程语言在嵌入式Linux应用编程中,常用的编程语言有C和C++。

C语言是一种中级语言,它具有高效性和可移植性的特点,被广泛应用于嵌入式系统开发。

C++语言是基于C语言的扩展,它提供了更多的特性和面向对象的编程能力。

2. 嵌入式Linux应用程序的开发嵌入式Linux应用程序的开发包括编写代码、编译、链接和调试等过程。

在开发过程中,需要使用一些开发工具和库文件,如GCC编译器、Make工具、GDB调试器等。

3. 嵌入式Linux应用程序示例以下是一个简单的嵌入式Linux应用程序示例,用C语言编写:```c#include <stdio.h>int main() {printf("Hello, Embedded Linux!\n");return 0;}```这段代码实现了一个简单的打印功能,将"Hello, Embedded Linux!"输出到终端。

嵌入式linux(贺丹丹等编著)课后习题答案

嵌入式linux(贺丹丹等编著)课后习题答案

嵌入式linux(贺丹丹等编著)课后习题答案第八章一、填空题。

1、ARM-Linux内核的配置系统由三个部分组成,它们分别是Makefile、配置文件和配置工具。

2、配置工具一般包括配置命令解释器和配置用户界面,前者主要作用是对配置脚本中使用的配置命令进行解释;而后者则是提供基于字符界面、基于Ncurses图形界面以及基于X Window图形界面的用户配置界面。

3、Makefile文件主要包含注释、编译目标定义和适配段。

4、Linux内核常用的配置命令有make oldconfig、make config、make menuconfig和make xconfig。

其中以字符界面配置的命令是make config。

5、内核编译结束后,会在“/arch/arm/boot/”目录下面和根目录下面生成一个名为zImage的内核镜像文件。

二、选择题C AD D B三、叙述题1、Linux内核各个部分与内核源码的各个目录都是对应起来的,比如有关驱动的内容,内核中就都组织到“drive”这个目录中去,有关网络的代码都集中组织到“net”中。

当然,这里有的目录是包含多个部分的内容。

具体各个目录的内容组成如下:arch:arch目录包括了所有和体系结构相关的核心代码。

include:include 目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux 子目录下;init:init 目录包含核心的初始化代码(不是系统的引导代码),有main.c 和Version.c 两个文件;mm:mm 目录包含了所有的内存管理代码。

与具体硬件体系结构相关的内存管理代码位于arch/*/mm 目录下;drivers:drivers 目录中是系统中所有的设备驱动程序。

它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound;ipc:ipc 目录包含了核心进程间的通信代码;modules:modules 目录存放了已建好的、可动态加载的模块;fs:fs 目录存放Linux 支持的文件系统代码。

嵌入式系统开发基础—基于ARM微处理器和Linux操作系统的课后答案

嵌入式系统开发基础—基于ARM微处理器和Linux操作系统的课后答案

1-1 什么是嵌入式系统?嵌入式系统和普通计算机系统的区别是什么?举例说明。

答:问题一:嵌入式系统是以应用为中心,以计算机为基础,其软硬件可裁剪配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用计算机系统。

比较项目嵌入式系统普通计算机系统引导代码BootLoader引导,针对不同电路进行移植主板的BIOS引导OS WindowsCE、VxWorks、Linux等,需要移植Windows、Linux,不移植驱动程序每个设备都必须针对电路板进行开发OS中含有大多数,直接下载协议栈移植OS或者第三方供应商提供开发环境借助服务器进行交叉编译在本机可开发调试仿真器需要不需要1-2 简述嵌入式系统的构成硬件微处理器嵌入式系统的控制核心外围电路嵌入式系统的内存、I/O端口、复位电路、电源等外设USB、LCD、键盘等软件设备驱动接口负责嵌入式系统与外设的信息交互实时操作系统包括与硬件相关的底层软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等可编程应用接口为编制应用程序提供各种编程接口库应用软件1-3答:R13:也记作SP,在ARM指令集中虽然没有强制,但是通常用于堆栈指针SP;在Thumb指令集中强制其作为堆栈指针。

R14:也记作程序连接寄存器LR(Link Register),用于保存子程序调用或异常中断处理返回时程序的返回地址。

R15:也记作程序计数器PC,用于标示下一条将要执行的指令地址。

CPSR:程序状态寄存器,包含条件标识位、中断标识位、当前处理器模式等状态和控制位。

SPSR:备份的程序状态寄存器。

在异常中断处理过程中,用于保存被中断处理程序的执行现场和处理器状态。

答:(1)复位异常中断:当系统上电、复位、软件复位时产生该类型中断。

(2)未定义指令异常中断:当ARM处理器或系统中的协处理器认为当前指令未定义时,产生该中断。

通常利用该中断模拟浮点向量运算。

(3)软件中断:可用于用户模式下特权操作的调用,既可以是系统功能,也可以是用户自定义的功能。

中国大学MOOC嵌入式Liunx应用开发习题含答案-精品

中国大学MOOC嵌入式Liunx应用开发习题含答案-精品

中国大学MOOC嵌入式Liunx应用开发习题(含答案)1、下列关于嵌入式系统描述,错误的是()A、可以解决某类确定问题B、与通用计算机在技术本质上没有区别C、功能比通用计算机更强大D、对体积和功耗、可靠性、成本有严格要求答案:功能比通用计算机更强大2、下列哪一项,不属于嵌入式系统的固有组成部分()A、处理器B、外围电路C、嵌入式操作系统D、嵌入式应用软件答案:嵌入式操作系统()3、下列编程语言中,执行效率最高的是()A、汇编语言B、C语言C、C++语言D、JAVA语言答案:汇编语言4、采用嵌入式操作系统的好处是()A、系统速度更快B、执行效率更高C、应用软件运行更快D、程序员可专注于问题答案:程序员可专注于问题5、直接针对硬件编程,不可以()A、访问处理器的寄存器B、控制硬件工作模式和过程C、利用操作系统的调度机制D、读写内存答案:利用操作系统的调度机制6、关于模块描述,错误的是()A、模块划分应符合高内聚低耦合的原则B、C语言中,源文件和对应头文件构成一个模块C、几个模块共享的全局变量,可定义在这些文件共有的头文件中。

D、嵌入式系统中,每个硬件设备对应一个模块答案:几个模块共享的全局变量,可定义在这些文件共有的头文件中。

7、关于中断服务程序,错误的是()A、可向主程序返回计算结果B、应该尽可能短小,以增强系统实时性C、不应在其中包含复杂操作D、不能进行参数传递答案:可向主程序返回计算结果8、关于无操作系统嵌入式系统的中断模型,正确的是()A、中断程序中完成对应事务处理B、中断程序中仅作中断登记C、中断发生时,中断服务程序将中断类型登记到堆栈中D、主程序通过无限循环执行实际中断任务,不区分中断优先级答案:中断程序中仅作中断登记9、在采用C语言模拟面向对象特性时,正确的描述是A、结构与类的功能完全相同B、函数指针用于实现类的属性成员C、通过结构体包含实现继承D、结构可以包含成员函数答案:通过结构体包含实现继承10、关于采用C语言进行“向对象编程“,错误的描述A:可以实现更好的程序结构B:可以有效的组织汉字显示C:可以实现部分“类”的功能D:在菜单设计方面效率较低答案:在菜单设计方面效率较低11、关于ARMC的程序优化,说法错误的是()A、可分析程序运行时间B、可指导汇编程序设计C、可分析程序是否高效D、可指导C程序设计答案:可指导汇编程序设计12、关于数据类型的描述,正确的是()A、数据类型越短越节省存储空间B、传递参数时尽量采用字符型变量C、采用整型变量效率最高D、循环中尽量用短的数据类型,以加快执行速度答案:采用整型变量效率最高13、关于循环优化的描述,正确的是()A、采用加计数改变循环变量B、采用减计数改变循环变量C、次数不定循环应采用whileD、循环展开可提高程序质量答案:采用减计数改变循环变量14、关于指针别名,错误的描述是()A、尽量避免采用指针B、采用指针有可能会降低程序效率C、编译器不能识别指针别名D、采用位域时,要注意指针别名问题答案:尽量避免采用指针15、关于结构体的描述,错误的是()A、在结构体中,短的成员先定义,长的成员后定义B、结构体成员尽量边界对齐C、数组元素应放到结构体末尾D、—packet关键字可提高结构体访问速度答案:_packet关键字可提高结构体访问速度16、Linux的特点不包括()A、微内核B、符合POSIX标准C、可运行于服务器D、可运行于嵌入式设备答案:微内核17、以下哪一项,不属于shell的特点()A、是操作系统的低级接口B、可从控制台键入shell命令C、可编写shell脚本D、linux支持多种shell答案:是操作系统的低级接口18、以下哪一个shell环境变量标识了系统可执行文件路径()A、H OMEB、P ATHC、T ERMD、PWD答案:PATH19、以下哪个路径下存放了系统所有设备文件()A、binB、devC、libD、r oot答案:dev20、查看系统当前进程,采用如下哪个命令()A、rmB、t ouchC、m kdirD、ps答案:ps21、配置网卡ip地址,采用下列哪个命令()A、p ingB、t elnet答案:编译器运行在宿主机,编译结果运行在目标机 23、GNU 工具链不包括以下哪一项()A 、GCCB 、GDBC 、LDD 、IDE答案:IDE24、vi 的强制存盘退出命令是()A 、qB 、q!C 、wqD 、x答案::wq!C 、ifconfigD 、ftp答案:ifconfig22、交叉编译器的特点是 A 、编译器运行在宿主机, B 、编译器运行在目标机, C 、编译器运行在宿主机, D 、编译器运行在目标机, ()编译结果运行在宿主机 编译结果运行在目标机 编译结果运行在目标机 编译结果运行在宿主机25、采用gcc编译程序时,只进行到预处理阶段,采用下列哪个选项()A、-EB、-SC、-cD、-o答案:-E26、采用gcc编译程序时,打开所有警告采用下列哪个选项()A、-wB、-0C、-gD、-Wall答案:-Wall27、gdb的断点功能,采用如下哪一个缩写形式()A.nB.iC.bD.1答案:c28、make命令确定文件是否应编译的依据是()A、文件生成时间B、文件生成大小C、文件类型D、文件属性答案:文件生成时间29、以下哪一项不属于Makefile的目标类型()A、最终目标B、中间目标C、标签D、依赖文件答案:依赖文件30、以下关于make执行流程,错误的是()A、Makefile的第一个目标是最终目标B、各目标按照堆栈原则查找C、依赖文件不存在则直接退出D、标号会被最先关联到答案:标号会被最先关联到31、以下哪一个不属于Makefile的变量类型()A、环境变量B、自动化变量C、递归展开变量D、符号变量答案:符号变量32、以下哪一项描述是正确的()D、具有用户交互功能答案:其主要功能是复制操作系统内核到内存中36、对应嵌入式应用程序来说()A、必须交叉编译B、可以交叉编译C、必须本地编译D、可以本地编译答案:必须交叉编译37、以下哪种方式不用于下载和调试程序()A、TFTPB、FTPC、HTTPD、NFS答案:HTTP38、关于内核模块的描述,正确的是()A、模块是可独立执行的程序B、模块一旦链接到内核,就与内核中原有的代码完全等C、模块一旦加载到内核中,即不可卸载D、模块运行于用户空间答案:B39、下列哪个命令可将模块插入内核()A、insmodB、IsmodC、rinmodD、depmod答案:insmod40、关于模块的功能,错误的是()A、插入模块到内核时可带参数B、可通过模块扩展内核功能C、Linux内核模块必须遵守GPL许可证D、模块插入内核后,可导出符号供其他模块使用答案:Linux内核模块必须遵守GPL许可证41、关于Linux驱动程序的说明,错误的是()A、驱动程序必须采用模块动态加载方式插入系统B、驱动程序属于内核代码C、驱动程序就是一个函数和数据结构的集合D、驱动程序用于控制硬件设备答案:驱动程序必须采用模块动态加载方式插入系统42、Linux的设备,不包括如下哪一项()A、字符设备B、块设备C、网络设备D、输出设备答案:输出设备43、2.6及之后的Linux系统主设备号是多少位()A、8B、12C、24D、32答案:1244、2.6及之后的Linux系统次设备号是多少位()A、8B、16C、20D、24答案:2045、设计Linux设备驱动程序的主要工作是设计()A、函数指针B、函数C、与函数指针对应的函数D、与函数对应的函数指针答案:与函数指针对应的函数46、io_p2V()函数的功能是()A、物理地址转虚拟地址B、虚拟地址转物理地址C、物理地址登记D、寄存器登记答案:物理地址转虚拟地址47、copy_from_user()函数的功能是()A、将数据从内核空间复制到用户空间B、将数据从用户空间复制到内核空间C、在驱动程序之间复制数据D、在应用程序之间复制数据答案:将数据从用户空间复制到内核空间48、关于linux中断驱动程序的描述,错误的是()A、中断程序的上半部负责生成小任务B、中断服务程序的主体部分由操作系统调度执行C、中断服务应快速完成,以保证系统的快速响应性D、中断程序只能响应外部事件答案:中断程序只能响应外部事件49、在ARM11之后,新的Cortex核不包括下面哪个系列A、AB、RC、ND、M答案:N50、STM32F103属于哪个系列产品()A、C ortexM0B、C ortexM3C、C ortexM5D、C ortexM7答案:CortexM351、STM32F103的输入模式不包括下面哪一项()A、模拟输入模式B、浮空输入模式C、上拉/下拉输入模式D、通用开漏输入模式答案:通用开漏输入模式52、STM32F103的端口输入数据寄存器是()A、G PI0x_IDRB、G PI0x_CRHC、G PI0x_CRLD、G PI0x_0DR答案:GPI0x_IDR53、关于STM32处理器的库,说明错误的是()A、意法公司先后推出了STM32标准库和HAL库B、库是对处理器内部寄存器进行配置的接口C、库在系统中的位置是用户应用程序与寄存器之间D、目前最新的库是STM32标准库V3.5.0答案:目前最新的库是STM32标准库V3.5.0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、嵌入式系统主要融合了计算机软硬件技术、通信技术和微电子技术,它是将计算机直接嵌入到应用系统中,利用计算机的高速处理能力、目前国内对嵌入式系统普遍认同的定义是:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用、嵌入式系统一般由嵌入式计算机和执行部件组成,其中嵌入式计算机主要由四个部分组成,它们分别是:硬件层、中间层、系统软件层以及应用软件层。

4、嵌入式处理器目前主要有PC、68K等,其中arm处理器有三大特点:体积小、低功耗、的成本和高性能,16/32操作系统有:Linux、Vxworks、WinCE、Palm、uc/OS-II和eCOS。

6、嵌入式系统开发的一般流程主要包括系统需求分析、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最后得到最终产品。

1、嵌入式系统中硬件层主要包含了嵌入式系统重要的硬件设备:嵌入式处理器、存储器(SDRAM、ROM等)、设备I/O接口等。

2、20世纪90年代以后,随着系统应用对实时性要求的提高,系统软件规模不断上升,实时核逐渐发展为实时多任务操作系统,并作为一种软件平台逐步成为目前国际嵌入式系统的主流。

3、由于其高可靠性,在美国的火星表面登陆的火星探测器上也使用的嵌入式操作系统是VxWorks 。

4、嵌入式系统设计过程中一般需要考虑的因素不包括:(大小)5、在嵌入式系统中比较流行的主流程序有:(Angel、Blob、Red Boot )1、Linux具有UNIX的所有特性并且具有自己独特的魅力,主要表现在:开放性、多用户、多任务、友好的用户界面、设备独立性、丰富的网络功能、文件传输、远程访问、可靠的安全性、良好的可移植性、X Window系统、内存保护模式。

2、Linux作环境)、文件结构(File Structure)和实用工具。

3、目前几乎所有的Linux;查看当前路径应使用命令:pwd;的作用是:使linux.tar.gz文件Linux内核主要由:进程调度,内存管理,虚拟文件系统,网络接口,进程间(Red Flag)2、启动shell环境时,屏幕上显示“[arm@www home]$”,其中的arm命令时,如果想对文件名中的不可显示字符用八进制逃逸字符显示,则应该选用的参数是(-b)。

4、解Linux用的文件系统是(ntfs)。

1、ARM9系列微处理器在高性能和5级整数流水线,指令执行效率更高;提供1.1MIPS/MHz的哈佛总线结构;支持32位ARM指令集和16位Thumb指令集;支持32位的高速AMBA总线接口。

2、ARM芯片的内核一般包括以下几个单元:ARM9TDMI32RISC处理器、数据本质上是内存中一段连续的地址,对其最常见的操作为“压栈”(出)。

1、在arm/thumb汇编语言程序中,程序是以程序段的形式呈现的。

程序段是具有特有名称的相对独立的指令或数据序号。

程序段有两大类型代码段、数据段。

2、基于linux下GCC汇编语言,代码表号必须在一行的顶端,后面要加上:,注视的内容可以在前面加上@。

3、符号定义伪指令()、数据定义伪指令(Data Definition4、linux下的嵌入式程序开发,主要需要的代码编辑器,如vi和gedit,另外还需要编译器gcc、调试器Vi编辑器基本上有三种基本状态,分别是:命令模式(command mode)、插入模式(insert mode)和底行模式(gcc编译文件生成可执行文件要经历四个相互关联的步骤:预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。

1.假如使用伪指令定义一个局部的数据量,变量名为temp,然后给其赋值为8,汇编代码为(GBLA temp;temp SET A 0x08;)2、在vi处于命令行模式时,如果需要对文本进行修改,欲在光标所在位置的下一个位置开始输入文字,则(按下字母“a”进入插入模式)3、当前vi 处于插入模式,先放弃对文本的修改,即不保存退出vi,则(先按下“ESC”后,再使用“:q!”命令)。

4、经过汇编之后,生成的目标文件的后缀名为(.o)。

5、对代码文件code.c进行调试的命令为($gcc –g code.c –o code)。

1、SMDK2440平台的开发板采用的处理器是S3C2440,其主频一般为400M。

2、windows软件环境的设置一般包括以下几部分:超级终端的设置、DNW设置、GIVEIO驱动的设置和USB驱动3、在windows系统上建立基于linux嵌入式开发环境一般有三种方案可以选择分别是Windows系统下安装虚拟机Vmware、Windows+Linux双系统安装、基于Windows操作系统下的Cygwin4、UBUNTU的网络设置可以采用命令行方式、也可以采用图形界面操作方式来配置。

5、开发板硬件平台是基于三星S3C2440的SMDK2440平台的目标板,使用的刻录软件为SJF2440。

1、为了通过PC的串口和开发板进行交互,需要使用(超级终端)。

2、在嵌入式linux的开发中,能实现上传下载文件、刻录文件、运行映像等功能工具是(DNW)。

3、由普通用户账户转为管理员账户登录,使用的命令为($su root)。

4、安装FTP服务器时,在终端输入的命令为($sudo apt-get install vsftpd)。

5、安装Telnet服务时,在终端输入的命令为($sudo apt-get install telnetd)1、交叉开发工具链就是为了编译、链接、处理和调试跨平台体系结构的程序代码执行工具链软件,通过带有不同的参数,可以实现编译、链接、处理、调试等不同的功能。

2、linux经常使用的工具链软件有Binutils、Gcc、Glibc和Gdb。

3、分布构建交叉编译工具链的制作过程需要以下几步编译binutils、编译辅助gcc编译器、编译glibc库、重新编译完整的gcc。

4、使用crosstool构建交叉编译工具链的制作过程需要以下几步:准备工作、建立脚本文件、建立配置文件、执行脚本文件和编译gdb调试器。

5、使用crosstool构建交叉编译工具链的制作过程中需要的配置文件,其主要作用是定义配置文件、定义生成编译工具链的名称、定义编译选项等。

1.(binutils)十二进制程序处理工具,包括连接器,汇编器等目标程序处理的工具。

2.构建交叉编译器的第一个步骤是(下载工具)。

3、分析以下代码#export PRJROOT=/home/arm/armlinux #export TARGET=arm-linux #export PREFIX=$PRJROOT/$TARGET其中,变量PREFIX代表的路径为(/home/arm/armlinux)。

4. Binutils是gnu工具之一,他包括连接器、汇编器和其他用于目标文件和档案的工具,特使二进制代码的处理维护工具。

其中包括(ld)命令,他是把一些目标和归档文件结合在一起,重定位数据,并连接符号引用。

5.分布构建交叉编译链的过程有两次变异gcc,其中第二次进行编译的作用是(获得glibc库的支持)。

1、Bootloader,亦称引导加载程序,是系统加电后运行的第一段软件代码。

2、一般Bootloader包含两种不同的操作模式:启动加载模式的主要功能是引导操作系统启动,它的启动方式有网络启动、磁盘启动和Flash运行的第一阶段主要完成以下工作:屏蔽所有中断、设置CPU的速度和时钟频率、RAM初始化、初始化LED和关闭cache。

1、在Bootloader的启动方式中,Flash启动方式通常有两种,一种是可以直接从Flash启动,另一种时可以将压缩的内存映像文件从Flash中复制、解压到RAM ,再从中启动。

2、在各种Bootloader中,U-boot 是以PPCBoot和ARMBoot为基础的通用加载程序,并且在ARM、PowerPC以及MIPS等多种平台上运行。

3、在编译Vivi之前将Vivi里所有的“*.o”和“*.o.flag”文件删除,以确保文件编译时没有错误或者警告发生,使用的命令格式为(make distclean)。

4、编译Vivi时,如果编译成功,在/vivi里面会生成三个vivi文件,其中不包括文件(vivi.exe)。

5、把二进制文件载入Flash或RAM使用的命令是(load)。

1、ARM-Linux内核的配置系统由三个部分组成,它们分别是Makefile、配置文件和配置工具。

2、配置工具一般包括配置命令解释器和配置用户界面,前者主要作用是对配置脚本中使用的配置命令进行解释;而后者则是提供基于字符界面、基于Ncurses图形界面以及基于X Window图形界面的用户配置界面。

3、Makefile文件主要包含注释、编译目标定义和适配段。

4、Linux内核常用的配置命令有make oldconfig、make config、make menuconfig 和make xconfig。

其中以字符界面配置的命令是make config。

5、内核编译结束后,会在“/arch/arm/boot/”目录下面和根目录下面生成一个名为zImage的内核镜像文件。

1.linux内核中的makefile以及与makefile直接相关的文件不包括(后缀名为.in)。

2.用户通过make config 配置后,产生了后缀名为(in.config)。

3.rules.make文件定义了许多变量,最重要的是那些编译、连接列表变量,但不包括(O-OBJS)。

4.在内核配置过程中,如果需要设置networking support这个选项,进入的菜单项是(General setup)。

5.在linux系统中,我们既需要标记变量的符号,有需要变量的物理地址,两者同时需要的时候可以采用符号表的方式,其对应的文件为(System.map)。

1、Linux下的文件系统主要分为三个层次:上层用户的应用程序对文件系统的系统调用、虚拟文件系统和挂载到VFS中的各种实际文件系统。

2、三种常用的块驱动程序分别是Blkmem驱动层、RAMdisk驱动层、MTD驱动层JFFS2、Yaffs、Romfs和Cramfs。

4、基于RAM的文件系统常见的有Ramdisk和Ramfs/Tmp fs。

5、System V init、Busybox init1、(MTD驱动层)也支持在一块Flash上建立多个Flash分区,没一个分区作为一个MTD block设备,可以把系统软件数据等分配到不同的分区上,同时也可以在不同的分区采用不同的文件系统格式。

2、在Linux系统中,因为Flash可以以分区为单位拆开或者合并后使用,所以文件系统是针对于(存储器分区)而言的。

相关文档
最新文档