嵌入式课后答案_第1页
嵌入式课后答案_第2页
嵌入式课后答案_第3页
嵌入式课后答案_第4页
嵌入式课后答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

第一章第一章 1 1 什么是嵌入式系统 它由哪几部分组成 有何特点 什么是嵌入式系统 它由哪几部分组成 有何特点 以应用为中心 计算机技术为基础 软硬件可裁减 从而能够适应实际应用中对功能 可 靠性 成本 体积 功耗等严格要求的专用计算机系统 嵌入式系统通常由嵌入式处理器 外围设备 嵌入式操作系统 应用软件等几大部分组成 嵌入式处理器与通用处理器的最大不同点在其大多工作在为特定用户群设计的系统 外围设备 包括 存储器 接口 人机交互 嵌入式操作系统的特点 软硬件一体化 集计算机技术 微电子技术和行业技术为一体 需要操作系统支持 代码小 执行速度快 专用紧凑 用途固定 成本敏感 可靠性要求高 多样性 应用广泛 种类繁多 2 2 嵌入式处理器分为哪几类嵌入式处理器分为哪几类 低端的微控制器 MicroConctroller Unit MCU 中高端的嵌入式微处理器 Embedded MicroProcessor Unit EMPU 通信领域的 DSP 系统 Digital Signal Processor DSP 高度集成的片上系统 System on Chip SoC 3 3 ARMARM 英文原意是什么 它是个怎样的公司 其处理器有何特点 英文原意是什么 它是个怎样的公司 其处理器有何特点 ARM Advanced RISC Machines 公司是全球领先的 16 32 位 RISC 微处理器知识产权设计供 应商 ARM 公司通过将其高性能 低功耗 低成本的 RISC 微处理器 外围和系统芯片设计技术 转让给合作伙伴来生产各具特色的芯片 ARM 处理器的特点 小体积 低功耗 低成本而性能高 16 32 位指令集 全球至多的合作 伙伴 4 4 什么是实时系统 它由哪些特征 如何分类 什么是实时系统 它由哪些特征 如何分类 实时系统是具有实时性且能支持实时控制系统工作的操作系统 其首要任务是调动一切可 利用的资源来完成实时控制任务 其次才着眼于提高计算机系统的使用效率 其重要特点是能 满足对时间的限制和要求 实时性 实时系统所产生的结果在时间上有严格的要求 只有符合时间要求的结果才是正 确的 并行性 要求系统有并行处理能力 以便能同时相应来自不同端口的输入信号 多路性 对多个不同的现场进行采集 以及对多个对象和多个执行实行控制 独立性 每个用户向实时系统提出服务请求 相互间是独立的 在实时控制系统中对信号 的采集和对象控制也是独立的 可预测性 实时系统的实际行为必须处在一定的限度内 而这个限度由系统的定义获得 可靠性 一方面指系统的正确性 另一方面指系统的健壮性 即使系统出现错误 仍然处 于可预测状态 仍可以安全地带错运行和平缓降级它的性能 分类 强实时系统 保质 保量 在限定时间内完成任务 弱实时系统 没有限制完成时间 一般实时系统 强和弱的折中 5 5 RTOSRTOS 由几部分组成 它由哪些特点 与一般操作系统有何不同 由几部分组成 它由哪些特点 与一般操作系统有何不同 实时内核 主要实现任务管理 定时器管理 存储器管理 任务间通信与同步 中断管理等 网络组件 文件系统 图形用户界面 特点 支持异步事件的响应 中断和调度任务的优先级机制 支持抢占式调度 确定的任 务切换时间和中断延迟时间 支持同步 6 6 实时操作系统常用的任务调度算法有哪几种 实时操作系统常用的任务调度算法有哪几种 基于优先级的调度算法 非抢占式调度 抢占式调度 同一优先级的时间轮转调度算法 执行一段时间无论完成与否 处理器均转入下一个就绪的 同一优先级任务 单调速率调度算法 执行频率越高 其优先级越高 7 7 用什么方法解决优先级反转问题 用什么方法解决优先级反转问题 1 优先级继承 设 C 为正占用着某项共享资源的进程 P 以及所有正在等待占用此项资源 的进程集合 找出这个集合的优先级最高者 P h 其优先级为 p 把进程 P 的优先级 设置成 P 成 2 优先级封顶 设 C 为所有可能竞争使用某项共享资源的进程的集合 事先为这个集合 规定一个优先级上限 p 使得这个集合的所有优先级都小于 p 在创建保护该项资源 的信号量或互斥量时 将 P 将 作为一个参数 每当有进程通过这个信号量或互斥量 取得对共享资源的独占使用权时 就将此进程的优先级暂时提高到 P 一直到释放 该项资源时菜恢复对其原有的优先级 第二章第二章 1 1 嵌入式系统开发过程分为哪几个阶段 每个阶段的特点是什么 嵌入式系统开发过程分为哪几个阶段 每个阶段的特点是什么 1 需求分析阶段 对问题的识别和分析 制定规格说明文档 需求评审 特点 采用成熟 易于二次开发的系统易于节省时间 从而以最短时间面世 2 设计阶段 数据流分析 划分任务 定义任务间接口 特点 DARTS 的设计方法 是结构化设计的扩展 划分出任务 并提供定义任务间的接 口机制 适合设计多个并发执行的任务 3 生成代码阶段 代码编程 交叉编译和链接 交叉调试 测试 单元和集成测试 特点 一般采用的方法是现在通用 PC 机上编程 然后通过交叉编译 链接 将程序 做成目标平台上可以运行的二进制代码格式 最后将程序下载到目标平台上的特定位置 在目 标板上启动这段二进制代码 4 固化阶段 嵌入式应用软件完成以后 编译器要对源代码重新编译一次 以产生固化 到目标坏境的可执行代码 再烧到环境目标环境的 Flash 中 固化的可执行代码和用 于调试的可执行代码有些不同 固化用的代码在目标文件中把调式用的信息都屏蔽掉 了 固化后没有监控器执行硬件的启动和初始化 这部分工作必须由固化的程序自己 完成 所以启动模块必须包含在固化代码中 特点 程序需要写入到 Flash 中固化 保证每次运行后下一次运行无误 所以嵌入式 开发相比增加了软件的固化阶段 2 2 嵌入式系统有哪几种调试方式 现在流行的哪种 使用什么接口 嵌入式系统有哪几种调试方式 现在流行的哪种 使用什么接口 1 源程序模拟器方式 在 pc 机上 通过软件手段模拟执行为某种嵌入式处理器写的源程 序的测试工具 三级模拟功能 指令级 周期级 定时级 2 监控器方式 宿主机和目标机建立物理上的连接 通过串口 以太口串口 以太口等把两台机器相 连 使之正常工作 然后在宿主机上运行调试器 目标机运行监控程序和被调试程序 3 仿真器方式 使用处理器内嵌的调试模块接管中断及异常处理 用户通过设置 CPU 内 部的寄存器来指定哪些中断或异常发生后处理器直接进入调试状态 而不进入操作系 统的处理程序 JTAG IDE 在线仿真器 in circuit Emulator ICD in circuit Debugger 在线调试器 接口 通过 JTAG 既可以对目标系统进行测试 也可以对目标系 统的存储单元进行编程 3 3 什么是板级支持包 它一般应完成哪些工作 什么是板级支持包 它一般应完成哪些工作 板级支持包 Board Support Package 是操作系统与目标应用硬件环境的中间接口 它是软 件包中具有平台依赖性的那一部分 功能 在系统启动时 对硬件进行初始化 为驱动程序提供访问硬件的手段 工作 在系统启动时 对硬件进行初始化进行 1 将系统代码定位到 CPU 将要执行的内存入口处 比便硬件初始化完毕后 CPU 能够执 行系统代码 2 根据不同 CPU 在启动时的硬件规定 BSP 要负责将 CPU 设置为特定状态 3 对内存进行初始化 根据系统的内存配置将系统的内存划分为代码 数据 堆栈等 不同的区域 4 如果有特殊的启动代码 BSP 要将控制权移交给启动代码 5 如果应用软件中包含一个嵌入式操作系统 BSP 要负责将操作系统需要的模块加载 到内存中 6 如果应用软件中包含一个嵌入式操作系统 BSP 还要在操作系统初始化之前 将硬 件设置为静止状态 以免造成操作系统初始化失败 为驱动程序提供访问硬件的手段进行 1 将驱动程序提供的 ISR 中断服务程序 挂载到中断向量表上 2 创建驱动程序初始化所需要的设备对象 BSP 将硬件设备描述为一个数据结构 3 为驱动程序提供访问硬件设备寄存器的函数 4 为驱动程序提供可重用性措施 只要不同的硬件系统 BSP 提供的接口相同 驱动程序 就可在不同的硬件系统上运行 第三章第三章 1 1 从技术角度讲 从技术角度讲 LinuxLinux 是一个什么样的操作系统 你认为它由哪些不足 是一个什么样的操作系统 你认为它由哪些不足 Linux 是一个类类 UnixUnix 操作系统操作系统 它完全是一个自由自由的操作系统 它是一个单一内核单一内核的操作 系统 这是由于 Linus Torvalds 以代码执行效率为自己操作系统的第一要务 比起结构的清晰 他们更加注重功能的强大和高效率 他们花大量的经历在优化代码上 而这样以损失结构精炼 作为代价 导致 Linux 中的每个部件都不能被轻易拆出 否则破坏效率 虽然 Linux 是单一结 构但是他和 UNIX 操作系统不一样 Unix 操作系统所有代码是静态编译的 而在 Linux 中代码可 以动态装入和卸载内核动态装入和卸载内核中的部分代码 Linux 不支持用户态线程 不支持用户态线程 Linux 中通过另一种方法解释 并实现 LWP 的机制 Linux 高效而稳定 以独占的方式独占的方式执行最底层的任务 保证其他程序的正 常运行 缺陷 只有抢占式的操作系统才可以成为 实时 操作系统 要对 Linux 的中断处理 进 进程调度和进程抢占这 3 个方面进行改进 2 2 GPLGPL 协议的主要内容是什么 你了解自由软件的开发模式 愿意让大家共享你的软件么 协议的主要内容是什么 你了解自由软件的开发模式 愿意让大家共享你的软件么 为什么 为什么 GPL General public license 通用公共许可证 GPL 保证任何人有共享和修改自由软件的 自由 任何人有权取得 修改和重新发布自由软件的源代码 并且规定在不增加费用的条件下 得到源代码 基本的发布费除外 开发模式是 巴扎模式 一大批广泛分布于世界各地的软件爱好者 以互联网为纽带 通过 BBS 新闻组及电子邮件等现代通信方式 同时参与一个软件开发项目 以个初步工作的 软件雏形首先发布出来 然后大家同时开始工作 分别结合自己的实际经验和需要 寻找软件 中的漏洞 提出修改意见 发布在互联网上 然后其他人也发现了漏洞 接着提出改进方案 给出补丁 这个软件像滚雪球一样不断完善 3 3 进程和程序有什么区别 什么是进程间的互斥和同步 进程和程序有什么区别 什么是进程间的互斥和同步 可执行文件由指令和数据组成 进程就是在计算机上运行的可执行文件针对特定的输入数 据的一个实例 同一个可执行程序文件如果操作不同的输入数据就是两个不同的进程 互斥 是指某一资源同时只允许一个访问者对其进行访问 具有唯一性和排它性 但互斥 无法限制访问者对资源的访问顺序 即访问是无序的 同步 是指在互斥的基础上 大多数情况 通过其它机制实现访问者对资源的有序访问 在大多数情况下 同步已经实现了互斥 特别是所有写入资源的情况必定是互斥的 少数情况 是指可以允许多个访问者同时访问资源 4 4 进程调度的功能是什么 进程调度的功能是什么 LinuxLinux 的进程调度发生在什么情况下 的进程调度发生在什么情况下 LinuxLinux 系统的实时调度和系统的实时调度和 普通调度有什么区别 普通调度有什么区别 高级 中级和低级调度作业从提交开始直到完成 往往要经历下述三级调度 高级调度 High Level Scheduling 又称为作业调度 它决定把后备作业调入内存运行 低级调度 Low Level Scheduling 又称为进程调度 它决定把就绪队列的某进程获得 CPU 中级调度 Intermediate Level Scheduling 又称为在虚拟存储器中引入 在内 外存对换区 进行进程对换 调度发生的情况调度发生的情况 1 正在执行的进程执行完毕 这时如果不选择新的就绪进程执行 将浪费处理机资源 2 执行中进程自己调用阻塞原语将白己阻塞起来进入睡眠等状态 3 执行中进程调用了 P 原语操作 从而因资源不足而被阻塞 或调用了 v 原语操作激活了 等待资源的进程队列 4 执行中进程提出 I O 请求后被阻塞 5 在分时系统中时间片已经用完 6 在执行完系统调用等系统程序后返回用户进程时 这时可看作系统进程执行完毕 从而 可调度选择一新的用户进程执行 7 就绪队列中的某进程的优先级变得高于当前执行进程的优先级 从而也将引发进程调度 区别区别 Linux 根据政策从整体上区分实时进程和普通进程 因为实时进程和普通进程度调度是 不同的 它们两者之间 实时进程应该先于普通进程而运行 然后 对于同一类型的不同进程 采用不同的标准来选择进程 对于普通进程 Linux 采用动态优先调度 Linux 中某个进程的 调度策略 policy 优先级 priority 等可以作为参数由用户自己决定 具有相当的灵活性 对于实时进程 Linux 采用了两种调度策略 即 FIFO 先来先服务调度 和 RR 时间片轮转 调度 因为实时进程具有一定程度的紧迫性 所以衡量一个实时进程是否应该运行 Linux 采 用了一个比较固定的标准 有两个优先级 实时优先级就是用来衡量实时进程是否值得运行的 5 5 LinuxLinux 中从用户态进入核心态的唯一途径是什么 中从用户态进入核心态的唯一途径是什么 从用户态转换为核心态的唯一途径是中断 CPU 处于用户态时 所运行的程序只能执行非 特权指令 如果用户程序在用户态下执行特权指令 将发生中断 由操作系统获得控制 操作 系统在核心态下运行 从核心态到用户态可以通过修改程序状态字来实现 这将伴随这由操作 系统程序到用户程序的转换 6 6 在在 LinuxLinux 系统中 为什么可以像使用文件一样操作一个设备 系统中 为什么可以像使用文件一样操作一个设备 设备文件是 Linux 系统很重要的一个特色 Linux 系统把每一个 I O 设备都看成一个文件 与普通文件一样处理 这样可以使文件与设备的操作尽可能统一 从用户的角度来看 对 I O 设备的使用和一般文件的使用一样 不必了解 I O 设备的细节 设备文件可以细分为块设备文 件和字符设备文件 前者的存取是以一个个字符块为单位的 后者则是以单个字符为单位的 7 7 什么是设备驱动程序 什么是设备驱动程序 LinuxLinux 系统中 用户怎么使用设备驱动程序 系统中 用户怎么使用设备驱动程序 设备驱动程序在 Linux 内核中扮演着特殊的角色 他们是一个个独立的 黑盒子 是某个 特定的硬件相应一个定义良好的内部编程接口 这些接口完全隐藏了设备的工作细节 用户的 操作通过一组标准化的调用执行 而这些调用独立于特定的驱动程序 将这些调用映射到作用 于实际硬件的设备特有操作上 则是设备驱动程序的任务 这个编程接口能使得驱动程序独立 于内核的其他部分而建立 必要的情况下可在运行时 插入 内核 8 8 LinuxLinux 文件有哪些类型 文件有哪些类型 Linux 文件类型常见的有 普通文件 目录 字符设备文件 块设备文件 套接口文件 符号 链接文件 普通文件 我们用 ls lh 来查看某个文件的属性 可以看到有类似 rw r r 值得 注意的是第一个符号是 这样的文件在 Linux 中就是普通文件 这些文件一般是用一些相关 的应用程序创建 目录 看到有类似 drwxr xr x 这样的文件就是目录 目录在 Linux 是一个比较特殊的 文件 注意它的第一个字符是 d 创建目录的命令可以用 mkdir 命令 或 cp 命令 字符设备文件 文件的属性 注意前面第一个字符是 c 这表示字符设备文件 比如猫等 串口设备 块设备文件 文件的属性 注意前面的第一个字符是 b 这表示块设备 比如硬盘 光驱 等设备 套接口文件 注意这个文件的属性的第一个字符是 s 符号链接文件 我们查看文件属性时 注意第一个字符是 l 这类文件是链接文件 9 9 主流的主流的 LinuxLinux 操作系统有哪些 操作系统有哪些 国外封装的 Linux 以 Red Hat 又称为 红帽 Linux OpenLinux SuSE SuSE 是欧洲最 流行的 Linux 发行版 TurboLinux TurboLinux 是日本制作的 Linux 发行版 其最大特色便是 以日文版 中文简 繁体版 英文版三种形式发行 等最为成功 国内 Linux 发行版做的相对比 较成功是红旗和中软两个版本 第四章 1 1 ARM7ARM7 和和 ARM9ARM9 在流水线方面有何不同 在流水线方面有何不同 ARM7 处理器核使用了典型三级流水线的冯 诺伊曼结构 ARM9 系列则采用了基于五级流水 线的哈佛结构 通过增加流水线级数简化了流水线各级的逻辑 进一步提高了处理器的性能 ARM7 系列处理器中每条指令分取指 译码 执行三个阶段 分别在不同的功能部件上依次独立 完成 取指部件完成从存储器装载一条指令 通过译码部件产生下一周期数据路径需要的控制 信号 完成寄存器的解码 再送到执行单元完成寄存器的读取 ALU 运算及运算结果的写回 需要访问存储器的指令完成存储器的访问 ARM9 系列处理器的流水线分为取指 译码 执行 访存 回写 取指部件完成从指令存储器取指 译码部件读取寄存器操作数 与三级流水线中 不占有数据路径区别很大 执行部件产生 ALU 运算结果或产生存储器地址 对于存储器访问指令 来讲 访存部件访问数据存储器 回写部件完成执行结果写回寄存器 2 2 ARMARM 处理器支持的数据类型有哪些 处理器支持的数据类型有哪些 字节 在 ARM 体系结构中字节的长度均为 8 位 字 在 ARM 体系结构中字节的长度均为 32 位 半字 在 ARM 体系结构中字节的长度均为 16 位 3 3 写出写出 ARMARM 使用的各种工作模式和状态 使用的各种工作模式和状态 ARM 微处理器的工作状态一般有两种 并可在两种状态之间切换 第一种为 ARM 状态 此时处理器执行 32 位的字对齐的 ARM 指令 第二种为 Thumb 状态 此时处理器执行 16 位的 半字对齐的 Thumb 指令 在程序的执行过程中 微处理器可以随时在两种工作状态之间切换 并且 处理器工作状态的 转变并不影响处理器的工作模式和相应寄存器中的内容 但 ARM 微处理器在开始执行代码时 应该处于 ARM 状态 ARM 处理器模式 ARM 微处理器支持 7 种运行模式 分别为 用户模式 usr ARM 处理器正常的程序执行状态 快速中断模式 fiq 用于高速数据传输或通道处理 外部中断模式 irq 用于通用的中断处理 管理模式 svc 操作系统使用的保护模式 数据访问终止模式 abt 当数据或指令预取终止时进入该模式 可用于虚拟存储及存储保护 系统模式 sys 运行具有特权的操作系统任务 定义指令中止模式 und 当未定义的指令执行时进入该模式 可用于支持硬件协处理器的软件 仿真 ARM 微处理器的运行模式可以通过软件改变 也可以通过外部中断或异常处理改变 大多 数的应用程序运行在用户模式下 当处理器运行在用户模式下时 某些被保护的系统资源是不 能被访问的 除用户模式以外 其余的所有 6 种模式称之为非用户模式 或特权模式 其中除去用户模 式和系统模式以外的 5 种又称为异常模式 常用于处理中断或异常 以及需要访问受保护的系 统资源等情况 4 4 哪个寄存器用做哪个寄存器用做 PC PC 哪个用做哪个用做 LRLR 寄存器 R14 称为链接寄存器 LR 它用于保存子程序的返回地址 如果在子程序中保存了返 回地址 寄存器 R14 则可以用做其他用途 寄存器 R15 为程序计数器 PC 不能用做其他用途 5 5 CPSRCPSR 的哪位定义状态 的哪位定义状态 M0 M1 M2 M3 M4 是模式位 这些位决定了处理器的运行模式 具体含义如表 2 表 2 2 运行模式位 M 4 0 的具体含义 M 4 0 处理器模式 可访问的寄存器 0 x10

温馨提示

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

评论

0/150

提交评论