ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:121KB ,
资源ID:1372268      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1372268.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第三部分习题答案.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

第三部分习题答案.doc

1、第 10 章 建立嵌入式系统开发环境10.2.5 习题1 使用 vi 查看安装程序 install.sh,对比 install.sh 中的语句与安装过程。答:首先建立合适的安装目录,然后安装交叉编译工具软件,然后安装 Linux 内核,建立根文件系统,之后安装调试工具 gdb 和 gdbserv,最后安装试验源代码及相关文档。2 若使用上位机的 com2 口与下位机进行连接,应在 minicom 中如何设置?答:若使用上位机的 com2 口与下位机进行连接,应在 minicom 中选择“Serial port setup”进入串口配置界面。输入“A ”,将“Serial device”的值修改

2、为“/dev/ttyS1” ,表示连接的是上位机的 com2 口。3若下位机的 IP 地址为 192.168.0.121,上位机的 IP 地址为 202.201.33.15,请写出将上位机和下位机的 IP 地址配置在同一个网段的过程。答:在上位机的终端命令窗口中键入下面的命令,可以将上位机和下位机的 IP 地址配置在同一个网段 192.168.0.:ifconfig eth0 192.168.0.252 netmask 255.255.255.010.3.5 习题1在“vivi”提示符状态下,使用 help 查看 vivi 命令的用法,比较与 Linux 命令的不同。答:vivi 命令用来配置

3、开发板的硬件资源,使用时后面需给出必要的关键字参数,如:vivi load helpUsage: load | 而 Linux 命令的参数通常以“- ”开始,如:cat -AbeEnstTuv -help -version fileName。2写出下位机软件系统的四个组成部分的功能。答:下位机的软件系统由 Bootloader 系统内核、根文件系统和应用程序四部分组成。Bootloader 相当于 PC 机上的 BIOS,在下位机加电时自动运行,执行硬件初始化和调用系统内核的功能。Bootloader 分为 U-boot、Vivi、Blob 、ARMBoot 、RedBoot 等多种,本实验使

4、用实验箱自带光盘中的 vivi。系统内核就是运行在下位机上的操作系统内核,本实验使用实验箱自带光盘中的zImage,是 ARM-Linux 的内核,版本号为 2.6。根文件系统是 Linux 系统必不可少的一部分,用来管理下位机中的文件。本实验使用实验箱自带光盘中的 root.cramfs。Cramfs 是专门针对 Flash 设计的只读压缩的文件系统,其容量上限为 256M,采用 zlib 压缩,文件系统类型可以是 EXT2 或 EXT3,经常作为下位机的根文件系统。应用程序是需要烧写到下位机,在下位机中运行的程序,在上位机中以压缩文件包的形式保存,本实验使用实验箱自带光盘中的 yaffs.

5、tar.bz2。应用程序所使用的文件系统为Yaffs( Yet Another Flash File System) ,Yaffs 是一种专门为 Flash 设计的嵌入式文件系统,运行速度快、占用内存小,提供写均衡、垃圾收集等底层功能。3查阅相关资料,了解下位机软件系统的四个组成部分的生成过程。省略11.1.5 习题1Makefile 是如何工作的?其中的宏定义分别是什么意思?答:makefile 文件中语句的语法是 Shell 语句语法的子集,以“#”开头的语句为注释语句,内容一般分为两部分,前面部分由 include 和变量定义语句构成,include 语句能够将另外一个文件的内容包含进来

6、,变量定义语句定义后面部分要使用的变量。前面部分的内容可以为空。makefile 的后面部分内容是文件的主要内容,由一些规则描述的语句块组成,make 执行时将根据这些语句块的描述执行相应的命令或者程序。其中常用的宏有:CC:指明采用的编译器;EXEC :表示编译后生成的可执行文件名;OBJS:给出目标文件列表;CFLAGS:给出编译参数;LDFLAGS:给出连接参数;all:给出编译主入口;clean: 表示清除编译结果2嵌入式开发的基本过程有哪几步?答:嵌入式开发的基本过程为:采用相应的编辑工具编写应用程序,然后在上位机编译调试应用程序,然后使用 NFS 将上位机上编译好的文件下载到下位机

7、上运行。11.2.6 习题1在生产者-消费中实例中,加入一个新的线程用于处理键盘的输入,并在按键为ESC 时终止所有线程。答:参考程序见“/labs/ Lab_2”文件夹中的“pth1.c ”。2使用信号量控制方式编写多线程程序,设 4 个线程,其中两个线程负责从文件中读取数据到公共的缓冲区,另两个线程从缓冲区读取数据做不同的处理(加和乘运算) 。答:参考程序见 “/labs/ Lab_2”文件夹中的“sem_example.c” 。3线程的优先级的控制。答:程序控制线程的优先级,一般是用 pthread_attr_getschedpolicy 来获取系统使用的调度策略,如果是 SCHED_O

8、THER 的话,表明当前策略不支持线程优先级的使用,否则可以。当然所设定的优先级范围必须在最大和最小值之间,可以通过sched_get_priority_max 和 sched_get_priority_min 来获取。在系统允许使用线程优先级别的时候,使用下面两个函数 pthread_attr_setschedparam、thread_attr_getschedparam 来设置线程的优先级。11.3.6 习题1修改程序,编写一个简单的文件收、发程序,完成串口文件下载。答:参考本次试验提供的用户程序,在 receive 函数中新建一个简单文件,读取串口字符写入文件即可,须注意发送和接收线程的

9、互锁机制。2RS-232 串行通信的数据格式是什么?答:开始前,线路处于空闲状态,送出连续“1” 。传送开始时首先发一个“0”作为起始位,然后传输字符的二进制编码。每个字符的数据位长度可以约定为 5-8 位,一般采用ASCII 编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个,也可不要奇偶校验。最后是停止位的“1”信号,停止位可以约定持续 1 位、1.5 位或 2 位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。3串行通信最少需要几根线?分别如何连接?答:当通信距离较近时,通信双

10、方可以直接连接。最简单的情况,在通信中根本不需要 RS-232C 的控制联络信号,只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信。图1 最简单的串行通信连接方式图 1 中的 2 号线与 3 号线交叉连接是因为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。在这种方式下,通信双方的任何一方,只要请求发送 RTS有效和数据终端准备好 DTR 有效就能开始发送和接收。4ARM 的串口有几个?相应的寄存器是什么?答:S3C2410 提供了三个通用异步串行通信接口,每个串口都有一个波特率发生器、接收寄存器、发送寄存器和一个控制单元,另外,还有两个 16 字节的 FIF

11、O 寄存器作为发送和接收的缓冲装置。在 S3C2410 中,对串口的控制是通过设置相应的控制寄存器来实现的,其常用的寄存器主要有以下几个:(1)ULCONn 寄存器:主要用来设置串口工作模式,包括数据位长度、停止位个数,以及数据校验方式等。S3C2410 支持四种校验方式,分别是奇校验、偶校验、MARK 校验和 SPACE 校验。(2)UCONn 寄存器:该寄存器涉及到中断模式控制、DMA 模式控制,以及时钟的选择等。(3)UTRSTATn 寄存器:串口的状态寄存器,用于指示串口是否接收或发送完毕。(4)UTXHn 和 URXHn 寄存器:发送和接收寄存器。(5)UBRDIVn 寄存器:波特率

12、设置寄存器,用于对时钟分频,产生需要的波特率。5终端如何处理特殊字符?答:在串口的参数配置结构 struct termios 中,通过设置 c_cc 数组成员来定义支持的特殊控制字符以及一些 timeout 参数。c_cc 支持的常量名称有:VINTR 中断控制,对应键为 CTRL+C;VQUIT 退出操作,对应键为 CRTL+Z;VERASE 删除操作,对应键为Backspace(BS) ;VKILL 删除行,对应键为 CTRL+U; VEOF 位于文件结尾,对应键为CTRL+D;VEOL 位于行尾,对应键为 Carriage return(CR) ;VEOL2 位于第二行尾,对应键为 Li

13、ne feed(LF) ;VMIN 指定了最少读取的字符数;VTIME 指定了读取每个字符的等待时间。11.4.6 习题1修改用户程序,将三个电位器的多次转换的结果写入一个文件中。答:参考程序见“/labs/ Lab_4”文件夹中的“main1.c” 。2逐次逼近型的 A/D 转换器原理是什么?答:逐次逼近型 A/D 转换器其工作原理是:将被测电压和由 D/A 转换生成的电压进行比较,用对分搜索的方法来逐次逼近被测电压。它的实质是逐次把设定的 SAR 寄存器中的数字量经 D/A 转换后得到电压 Vc 与待转换模拟电压 V。进行比较。比较时,先从SAR 的最高位开始,逐次确定各位的数码应是“1”

14、还是“0” ,其工作过程如下:转换前,先将 SAR 寄存器各位清零。转换开始时,控制逻辑电路先设定 SAR 寄存器的最高位为“1”,其余位为“0” ,此试探值经 D/A 转换成电压 Vc,然后将 Vc 与模拟输入电压 Vx 比较。如果 VxVc,说明 SAR 最高位的“1”应予保留;如果 VxVc,说明 SAR 该位应予清零。然后再对 SAR 寄存器的次高位置“1” ,依上述方法进行 D/A 转换和比较。如此重复上述过程,直至确定 SAR 寄存器的最低位为止。过程结束后,状态线改变状态,表明已完成一次转换。最后,逐次逼近寄存器 SAR 中的内容就是与输入模拟量 V 相对应的二进制数字量。3A/

15、D 转换的重要指标包括哪些?答:A/D 转换的重要指标有;分辨率 、精度、转换时间、电源灵敏度、量程、输出逻辑电平和工作温度范围等。4ARM 的 A/D 功能的相关寄存器有哪几个,对应的地址是什么?答:与A/D相关的寄存器主要有 A/D转换控制寄存器(ADCCON)和A/D转换数据寄存器ADCDAT0。ADCCON的地址为0x58000000,ADCDAT0 的地址为0x5800000C。5如何启动 ARM 开始转换 A/D,有几种方式?转换开始时 ARM 是如何知道转换哪路通道的?如何判断转换结束?答:A/D 转换的数据可以通过中断或查询的方式来访问,如果使用中断方式,全部的转换时间(从 A

16、/D 转换的开始到数据读出)要更长。如果是查询方式,则要检测ADCCON15(转换结束标志位)来确定从 ADCDAT 寄存器读取的数据是否是最新的转换数据。A/D 转换开始的另一种方式是将 ADCCON1置为 1,这时只要有读转换数据的信号,A/D转换才会同步开始。转换开始时 ARM 中的 ADCCON 寄存器的第 5-3 位表示模拟输入通道选择,可判断其值就可知哪路通道转换。通过测试 ADCCON 寄存器的第 15 位是否为 1,就可判断转换是否结束。11.5.6 习题1修改用户程序,产生余弦波形信号,并使用示波器观察输出波形。答:参考用户程序 “da_sin.c”,将其正弦函数修改为余弦函

17、数即可。2修改用户程序,产生方波信号,并使用示波器观察输出波形。答:参考代码为“da_fang.c” 。 3D/A 转换器的分类。答:D/A 转换器的内部电路构成无太大差异,一般按输出是电流还是电压、能否作乘法运算等进行分类,主要有:电压输出型(如 TLC5620) 、电流输出型(如 THS5661A)、乘算型(如 AD7533) 、一位 D/A 转换器等。4D/A 转换器的主要技术指标。答:D/A 转换器的主要技术指标有:(1)分辩率(Resolution)分辨率用输入二进制数的有效位数表示。在分辨率为 n 位的 D/A 转换器中,输出电压能区分 2n 个不同的输入二进制代码状态,能给出 2

18、n 个不同等级的输出模拟电压。分辨率也可以用 D/A 转换器的最小模拟输出量(对应数字量仅最低位为“1” )与最大量(对应数字量所有有效位为“1” )之比来表示。(2)建立时间(Setting Time)这是 D/A 的一个重要性能参数,通常定义为:在数字输入端发生满量程码的变化以后,D/A 的模拟输出稳定到最终值 1/2LSB 时,所需要的时间。其他指标还有线性度(Linearity),转换精度,温度系数/漂移。5MAX504 的特点及使用方法。答:MAX504 10 位 D/A 转换器的特点有:由单个 5V 电源供电;电压输出缓冲;内部 2.048V 参考电压; ;电压不随温度变化;可变的

19、输出范围:)MAX(LSB21IN0VVDD,VSSVDD;上电复位;串行输出。MAX504 在开发板上的连接连接如图 2 所示。L 8 0 1F BM A X 5 0 4U 8 0 1V C CC L RS C L KC SD I ND O U TV O U TR F BR E F I NR E F O U TE X I O 0E X I O 1S I O C L KS I O T X DS I O R X D123542611 21 491 0+ C 8 0 14 7 u FD / A O U TVDDVSSAGNDDGND131187图2 MAX504在开发板中的连接图2中,RFB 连接

20、VOUT、BIPOFF连接AGND,使得输出电压范围为 02VREFIN,即04.069V。时钟和输入、输出信号分别与同步串口的时钟、发送和接收端相连。MAX504可接收12 位的数据,但低两位不起作用。所以发送数据时应先将数据左移两位,然后先发送高八位,再发送低八位数据。11.6.6 习题1CAN 总线通讯最少需要几根线?如果多个节点应该如何连接?答:CAN 总线通讯最少需要 2 根线。一个由 CAN 总线构成的单一网络中,理论上可以挂接无数个节点,但是,实际应用中节点数目受网络硬件的电气特性所限制,需要使用CAN 收发器实现各节点之间的通讯。2为什么 CAN 总线的可靠性高,传输数率却可以

21、速度比串口快(可达到 1Mbps)?答:CAN 属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。与 RS-485 等相比,CAN 总线中,CAN 控制器工作于多主方式,网络中的各节点都可根据总线访问优先权采用无损结构的逐位仲裁的方式竞争向总线发送数据,且 CAN 协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得 CAN 总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用 RS-485 只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较

22、差。3如果要在现有的系统上构建复杂的 CAN 总线通信协议需要进行怎样的扩展?省略11.7.6 习题1修改用户程序,将上位机上的若干个字符串传递给下位机。答:参考程序见“labs/lab_7”文件夹中的“test485.c” 。2RS-485 通信特点。答:RS-485是一个电气接口规范,它只规定了平衡驱动器和接收器的电特性,而没有规定接插件、传输电缆和通信协议。RS-485标准定义了一个基于单对平衡线的多点、双向(半双工)通信链路,是一种极为经济、并具有相当高噪声抑制、传输速率、传输距离和宽共模范围的通信平台。RS-485接口的主要特点如下: 平衡传输 多点通信 驱动器输出电压(带载):|1

23、.5V| 接收器输入门限:200MV 7V至+12V总线共模范围 最大输入电流:1.0MA/-0.8MA(12VIN/7VIN) 最大总线负载:32个单位负载 (UL) 最大传输速率:10MBPS 最大电缆长度:4000英尺 网络配置3建立自己的高层通信协议,完成设备间的多机通信。省略11.8.6 习题1修改测试程序,控制直流电机以恒定速度或变速转动。答:参考代码为本次实验目录下的“dcm_c_v.c”。2简述PWM的基本原理,思考其基本参数的变化对电机转动的影响。答:PWM(Pulse-Width Modulation)是脉宽调制技术的简称,可用于控制高性能的直流电机调速系统。其原理为:晶体

24、管的导通时间也被称为导通角 ,通过控制晶体管的开通与断开时间来改变导通角 的大小,就可以调节加在负载上的平均电压的大小,以实现对电动机的变速控制,这就是 PWM 变速控制技术的基本原理,如图 3 所示。在 PWM 变速控制中,系统采用直流电源,放大器的频率是固定,变速控制通过调节脉宽来实现。图3 PWM调速原理由上图可知,电动机两端得到的电压平均值 可用下式表示为:vUpwmpavTt式中: 为开关每次接通的时间, 为开关断开的时间周期, 为占空比,由公式可t见,改变脉冲的占空比,电动机两端的电压平均值 也随之改变,从而控制电机的变速。v3尝试使用实验箱上的电位器旋钮控制直流电机的转向和转速。

25、省略11.9.6 习题1修改用户程序,控制点阵式 LED 显示其它字符、图形或汉字。答:给出要显示字符的点阵数据,调用 write 方法即可。2编写测试程序,控制 8 字数码管循环显示数字 90。答:给出数字 90 的段码表,调用 ioctl 方法控制 8 字数码管显示。3编写测试程序,控制 8 字数码管循环显示字符 AF 。答:给出字符 AF 的段码表,调用 ioctl 方法控制 8 字数码管显示。4如何控制 LED 显示内容。答:为使 7 段 LED 显示内容,必须点亮相应的段,每个段分别由数据线进行控制,通常数据线 D0D 7 顺序控制 ah 段,所需的控制信号称为段码。由于数字与段码之

26、间没有规律性,因此必须进行数字与段码之间的转换才能驱动要显示的段,以便显示数字的字形。常用的转换方法是将要显示字形的段码列成一个表,称为段码表。显示时,根据字符查段码表,取出其对应的段码送到数据线上来控制显示。5LED 是如何正常工作的?答:点阵式 LED 显示器的显示控制采用扫描方式,在数据存储器中开辟若干个存储单元作为显示缓冲区,缓冲区中存有所需显示图形的控制信息。显示时依次通过列信号驱动器输出一行所需所有列的信号,然后再驱动对应的行信号,控制该行显示。只要扫描速度适当,显示的图形就不会出现闪烁。674HC273 的特点及使用方法。答:LED 的驱动需用 TTL 电路驱动,当然需要加限流电

27、阻,74HC273 带锁存,这样D 输入的信号可以锁住保持在输出端,保持 LED 的驱动是固定的电平状态。脉冲输出信号也可以驱动 LED,只是亮度与脉冲的脉宽有关,此外,74HC273 的输入端接在数据总线上,可以起到隔离的作用。驱动 LED 一般需要 57mA 的电流,负载比较大,如果接到其他门电路的输出上,会影响这个输出驱动其他门电路输入的能力。开发板上设置了 2 个数码管,由 74HC273 控制。74HC273 是同步串行转并行的锁存器,在此通过 SPI 总线和 CPU 连接,锁存数据后驱动数码管发光。第 12 章 扩展实验12.1.6 习题1修改用户程序,完成简单的键盘计算、LED

28、显示结果。省略2重新定义小键盘健值,完成对应功能键的处理。 省略12.2.6 习题1阅读源程序,扩展其功能,用于在浏览器上监控开发板各部件工作。省略2自定义一些功能,使用网络 TCP 协议实现。省略12.3.5 习题1在第 30 行处增加 1 个断点,然后调试执行程序。答:使用命令 break 30 设置断点。 2将程序 gdb_led.c 中控制 LED 显示的循环语句放入用户自定义函数“void show()”中,使 main 函数调用 show 函数来控制 LED 的显示。在 main 函数中调用 show 函数处设置断点,然后调试运行程序,比较 GDB 中的“step ”和“ next

29、”命令的不同。答:next 命令是不进入的单步执行;而 step 命令是进入的单步执行,如果已经进入了某函数,而想退出该函数返回到它的调用函数中,可使用命令 finish。3调试运行过程中,使用 GDB 命令“set variable s=63”,修改变量“s”的值为 63,观察点阵式 LED 的显示。省略4将第 32 行语句中的“s *= 2”修改“s += s*2” ,观察点阵式 LED 的显示,并解释。省略12.4.6 习题1添加一些自己的功能,修改源代码并编译调试。省略2增加一个中断驱动函数,比如 PC 机并口,试验中断驱动的实现。省略12.5.6 习题1另外找一个 Linux 的设备

30、驱动程序(在 Linux 源码的 drivers 目录下) ,剖析它的结构及工作原理。省略2把 UP-TECH S2410/P270 DVP 开发平台上的触摸屏驱动从内核中卸载,自己动手写一个类似的驱动程序,以新驱动代替旧驱动并编译进内核看看运行情况。省略12.6.6 习题1修改测试程序,画出奥运五环,并在 LCD 上移动显示。答:参考程序见本次试验目录下的“test_lcd01.c” 。2修改测试程序,显示 ASCII 字符或汉字字符。答:给出 ASCII 字符或汉字字符的点阵信息,按像素输出即可。3修改测试程序,显示彩色位图。 答:研究各种图形文件格式,采用像素输出函数实现显示功能。12.7.6 习题1修改“waverec.c”,编写一个程序,同时实现录、放 WAV 格式音乐文件的功能。答:参考程序 waverec.c 中的录制代码段和 waveplay.c 的播放代码段即可实现。12.8.6 习题1思考如果在 SD 总线上接入两个 SD 设备,电路、驱动程序要进行怎样的修改?省略

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。