嵌入式linux开发技术基础习题答案_第1页
嵌入式linux开发技术基础习题答案_第2页
嵌入式linux开发技术基础习题答案_第3页
嵌入式linux开发技术基础习题答案_第4页
嵌入式linux开发技术基础习题答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题答案第一章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等。Windows文件系统使用的主要文件格式有FAT16、FAT32、NTFS等。Linux文件系统中严格区分大小写。区分文件类型不依赖于文件后缀。Windows文件系统中不区分大小写。使用文件后缀来标识文件类型。2.为什么在多用户、多任务的系统中不能以切断电源的方法关闭计算机?答:多用户、多任务的操作系统在其关闭时系统所要进行的处理操作与单用户、单任务的操作系统有很大的区别;非正常关机对Linux操作系统的损害是非常大的,非法关机轻则使下次启动时要花一定的时间检查文件系统,重则造成根文件系统崩溃,甚至无法进入Linux系统。因此、要养成良好的系统重启和关机习惯。Linux作为多任务的操作系统,尤其是在作为服务器使用时,可能会有许多的后台程序正在运行中,例如、后台打印、后台备份等等;非正常关机会使这些后台进程的数据丢失。3.Linux系统为用户提供了哪些接口?各有何用途?答:Linux系统提供三种接口:1、图形界面操作接口,Linux系统一般提供KDE、Gnome等图形界面接口,目的是方便普通用户操作计算机。2、控制台接口,即终端接口,Linux系统一般提供bashshell、cshell等等终端接口,目的是方便系统管理员操作计算机,事实上Linux功能的强大也主要体现在终端接口。3、API接口:即apllicationinterface,这是应用程序接口,从编程角度Linux系统就是一个大的程序调用库,它提供大量的API函数,目的是方便程序员开发应用程序。4.说出下列目录中存放的是哪些文件。/etc:该目录下保存着关系到系统运行方式的重要配置文件,如系统的运行级、系统启动的服务、用户账户信息、组账户信息等。以下列举了几个嵌入式开发经常用到的文件。/etc/rc.d/init.d/:系统启动或改变运行级时需要运行的脚本程序或脚本程序的目录/bin:该目录下存放的大多是二进制文件的可执行程序,也有一些较小的可执行程序是shell脚本程序。这些程序都是系统程序,实际上我们所使用的许多命令就是该目录中的程序。/sbin:该目录与/bin目录类似,也是存放二进制文件的可执行程序、shell脚本程序和一些符号链接文件,这些程序也是Linux系统的命令,不过这些命令是给超级用户或系统管理员进行系统维护使用的,普通用户没有使用它们的权限。/var/log:该目录存放各种程序产生的记录文件。/etc/samba:存放Samba的主配置文件smb.conf/mnt:该目录为超级用户或系统管理员安装临时文件系统时使用的目录(安装挂接点)第三章1.修改用户属性、删除用户账户有几种方法?答:修改用户属性的终端命令是usermod。修改配置文件的方法直接修改/etc/passwd和/etc/shadow文件中该用户的账户信息行也可以达到修改用户属性目的。2.某个文件的数字视图为621,则它所代表的含义是什么?答:文件拥有可写和可执行,创建的目录拥有写的权限;同组用户和其他用户只有可执行权限。3.硬链接与软链接有何异同点。答:硬链接指向文件的i节点。两个文件有相同的文件创建日期和时间;有相同的文件大小。软链接是与要链接文件或目录的路径链接,而不是与i节点链接;因此,软链接只是指向i节点号。可以用ln–s命令创建一个软链接。文件有不同的i节点或索引号;有不同的文件创建日期和时间;有不同的文件大小。与硬链接相比,软链接不直接访问文件系统,因此它可以位于不同的磁盘分区上;但是,移动它会影响原文件。4.复制一个目录下的所有子目录及其中的文件。答:cp-riA/B/*A1/B1/5.从网上下载.tar格式的软件包并解压缩安装。答:略6.在自己的计算机上手动设置网卡的IP地址并激活它。答:略第四章1.分别简述gcc工具包里都有哪些工具,各自的作用是什么?答:包括BINUTILS、GCC、GLIBC、GDB等。BINUTILS是二进制程序处理工具,包括链接器、汇编器等目标程序处理的工具。GCC(GNUCompilerCollection)是编译器。对于C/C++语言的完整支持,需要支持glibc库。GLIBC是应用程序编程的函数库软件包,可以编译生成静态库和共享库。完整的GCC需要支持glibc。GDB是调试工具,可以读取可执行程序中的符号表,对程序进行源码调试。2.编译C语言的基本流程是什么?答:1.预处理,生成预编译文件(.文件):Gcc–Ehello.c–ohello.i2.编译,生成汇编代码(.s文件):Gcc–Shello.i–ohello.s3.汇编,生成目标文件(.o文件):Gcc–chello.s–ohello.o4.链接,生成可执行文件:Gcchello.o–ohello3.编写makefile文件的作用是什么?答:一个工程中的源文件很多,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。写好makefile文件,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。4.简述gdb调试工具的好处。答:可以单步跟踪自己的代码,或者通过断点暂时中止程序的执行。此外,还能够随时察看变量和内存的当前状态,并监视关键的数据结构是如何影响代码运行的。5.使用vi编辑器,gcc编译器,gdb调试器编写用选择法对输入的10个整数从大到小排序。答:略6.在linux底下最常使用的文书编辑器为vi,请问如何进入编辑模式?答:vi被运行时,通常处在命令模式下,键入以下命令可以使vi退出命令模式,进入输入模式:I(i)、A(a)、O(o)。7.如何由编辑模式跳回一般模式?答:按ESC键,可以跳回到vi的命令方式8.若上下左右键无法使用时,请问如何在一般模式移动光标?答:h:向左移动一个字符,l:向右移动一个字符,j:向下移动一行,k:向上移动一行9.若[pagedown][pageup]在一般模式无法使用时,如何往前或往后翻一页?答:Ctrl+b:上滚一屏。Ctrl+f:下滚一屏。10.如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?答:H

:光标移至屏幕顶行

L

:光标移至屏幕最后行,0:(注意是数字零)光标移至当前行首

$:光标移至当前行尾。11.如何删除一行、n行;如何删除一个字符?答:do:删至行首

d$:删至行尾。ndd:删除当前行及其后n-1行。x或X:删除一个字符,x删除光标后的,而X删除光标前的。12.如何删除一行、n行;如何删除一个字符?13.如何搜寻string这个字符串?答:/string:从光标开始处向文件尾搜索string,?string:从光标开始处向文件首搜索string14.如何读取一个档案filename进来目前这个档案?答::rfilename15.如何另存新档成为newfilename?答::wnewfilename16.如何存档、离开、存档后离开、强制存档后离开?答::w;:q::wq;:wq!17.如何设定与取消行号?答::setnu:setnonu第五章1.交叉开发环境主要由哪些工具组成?答:宿主机与目标机间的串口连接和网络连接配置工具,文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等。2.简述采用交叉编译的主要原因?答:为了在一个平台上生成另一个平台上的可执行代码,目标平台上不允许或不能够安装我们所需要的编译器,有时是因为目标平台上的资源不够,例如内存,无法运行我们所需要编译器;有时因为目标平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。3.简述建立交叉编译工具链的方法。答:略4.简述boa服务的配置过程。答:略5.简述超级终端,minicom,nfs,tftp在嵌入式开发中的作用和优缺点。答:略6.简述环境变量的作用和几种配置方法。答:因为我们在执行某个命令时,系统无法在当前路径下找到对应的命令,那么就会去path包含的路径挨个找,一旦找到第一个对应的命令就运行命令,其他的路径下就不找了。如果找不到你就会看到“**:未找到命令”的提示。配置方法略。第六章1.解释类申明和类定义之间的差异,何时使用类申明,何时使用类定义?答:类声明是不完全类型,只能以有限方式使用,不能定义该类型的对象,只能用于定义指向该类型的指针及引用,或者声明使用该类型作为形参类型或返回类型的函数。

类定义,一旦类被定义,我们就可以知道所有类的成员,以及存储该类的对象所需的存储空间。

在创建类的对象之前或者使用引用或指针访问类的成员之前必须定义类。2.使用构造函数初始化列表编写类的默认构造函数,该类包含如下成员:一个conststring一个int一个float*。初始化string来保存类的名字。答:略3.判断正误并说明为什么类必须提供至少一个构造函数默认构造函数的形参列表中没有形参如果一个类没有有意义的默认值,则该类不应该提供默认构造函数如果一个类没有定义默认构造函数,则编译器会自动生成一个,同时将每个数据成员初始化为相关类型的默认值答:1)、错,因为构造函数可以不用显式声明,如果不声明则自动使用默认构造函数,即无参构造函数2)、错,因为默认构造函数有:不带任何参数的构造函数;带有参数,但是所有的参数都有默认值。3)、错,如果一个类没有默认的构造函数,而只有自己写的构造函数,在编译器需要隐式使用默认构造函数时,这个类就不能使用,编译不通过,所以如果一个类定义了其他的构造函数,通常也应该提供一个默认的构造函数。4)、错,当一个类中自己定义了构造函数时,编译器就不会自动合成一个默认构造函数了,编译器不是将每个数据成员初始化为相关类型的默认值,而是使用与变量初始化相同的规则来初始化成员:类类型的成员执行各自的默认构造函数进行初始化,内置和复合类型的成员,只对定义在全局作用域中的对象才初始化。4.简述CGI程序和web服务程序的关系。答:Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求,Web服务器可以响应一个静态页面或图片,进行页面跳转,或者把动态响应的产生委托给一些其它的程序例如CGI脚本,无论它们的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。第七章1、简述开发QT应用程序的流程及编译步骤。答:略2、槽函数一般添加在哪个文件中,有哪几种添加槽函数的方法。答:第一种方法:在头文件mainwindow.h的类MainWindow的定义中声明槽函数。在mainwindow.cpp文件中,定义槽函数建立映射,在类MainWindow的构造函数中添加,以便将信号和槽函数进行连接第二种方法:右击“OK”按钮,选择“Gotoslot...”,选择clicked(),单击OK,即完成信号和槽函数的链接。clicked是信号函数,槽函数是on_pushButton_clicked();第三种方法:右击界面选择“changesignals/slot”(改变信号/槽)选项,单击“+”,添加新的槽函数在窗体编辑区的下方有信号和槽的映射窗口,单击左上角的加号,出现一行新的映射,在这里编辑映射函数。在头文件mainwindow.h的类MainWindow的定义中声明槽函数。在mainwindow.cpp文件中,定义槽函数3、用QTcreator设计的程序产生的文件.pro,.cpp,.h,.ui各自的作用是什么。答:ui通常是用Qt设计师设计出来的界面文件的后缀。通常情况下ui是一个指向这个界面类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论