杭电嵌入式系统原理期末复习题(含部分答案)

2019-01-07 17:35

《嵌入式系统原理》习题

一、

嵌入式硬件子系统

1. 名词解释

Embedded System 嵌入式系统 MCU 微控制器 SOC 系统芯片 DSP 数字信号处理

JTAG 联合测试工作组。一种国际标准测试协议,主要用于芯片内部测试。 ICE在线仿真器。支持片上断点与调试 RISC精简指令集计算机 CISC复杂指令集计算机 ARM RISC微处理器 Cortex-M3 32位处理器内核

WatchDog 看门狗。监测单片机程序运行状态的芯片。 2. 简单题

(1) 在进行嵌入式存储系统设计时,如何在SRAM、DRAM、FLASH、

EEPROM等存储方案中进行选择?

RAM分为:SRAM(静态存储器)和DRAM(动态存储器)。SRAM掉电不丢失数据, 速度比DRAM快,但价格特别昂贵,只有在苛刻的地方使用,比如CPU的缓冲。DRAM虽然速度相对慢,但比任何的ROM都要快,做内存比较合适。

Flash存储器,适用于速度要求高,容量要求大,掉电时要求数据不丢

失的场合。EEPROM适用于速度不高,容量不大,掉电时要求数据不丢失的场合。

在单片机中,RAM主要是做运行时数据存储器,FLASH主要是程序存储器,EEPROM主要是用以在程序运行保存一些需要掉电不丢失的数据. (2) 比较Nand Flash、Nor Flash之间的区别。

NOR闪存是随机存储介质,读取可以直接运行装载在NOR FLASH里面的代码,用于数据量较小的场合。NAND闪存是连续存储介质,它的读取是以一次读取一块的形式来进行的,用户不能直接运行NAND Flash上的代码。采用这种技术的Flash比较廉价,适合存放大的数据。

(3) 嵌入式系统硬件的时钟(Clock)的作用是?简要介绍下常见的时钟设计

方案。

作用主要是实现数据传输和接受的同步。 实时时钟设计如下:

脉冲计数器对时钟源输出的时钟进行计数,当达到一定值后和数字比较器比较,如果一致则触发硬件中断。程序在硬件中断中进行处理。 (4) STM32的CLOCK SOURCE可以配置成哪些?(新增)

在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 HSI是高速内部时钟。 HSE是高速外部时钟。 LSI是低速内部时钟。 SE是低速外部时钟。 PLL为锁相环倍频输出。

(5) MCU和外围器件连接时常用的总线有哪些?分别做简要介绍。

SPI总线、CAN总线、I2C总线、SSP总线

(6) 如何理解UART异步传输和IIC/SPI同步传输方式之间的差异。 (7) 以自己使用的手机/PC为例,了解下它的硬件构成部件及其主要指标。

二、

嵌入式软件子系统

1. 名词解释

ISR 中断服务程序。

中断 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序。

中断向量表 中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址。 RTOS 实时操作系统。

可重入函数/不可重入函数 可以被中断的函数。可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码。不可重入函数反之。

临界区 指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待。

硬实时/软实时 硬实时是指一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超出时间限制可能导致系统错误。软实时能够包容偶尔的超时。

porting(移植) 2. 简单题

context(上下文)

(1) 微控制器(MCU)的中断处理过程是怎样的? 准备部分:

其基本功能是保护现场。确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序。 处理部分:

即真正执行具体的为某个中断源服务的中断服务程序; 结束部分:

首先要关中断,以防止在恢复现场过程中被新的中断请求打断。接着恢复现场,然后开放中断,以便返回原来的程序后可响应其他的中断请求。

(2) 前后台系统中设备服务的最差响应时间是在什么情况下产生的? 最坏情况下的任务级响应时间取决于整个循环的执行时间。 (3) C语言关键字volatile有什么含意?并给出三个不同的例子。

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的三个例子: (一)并行设备的硬件寄存器(如:状态寄存器)。(二)一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)。(三)多线程应用中被几个任务共享的变量。

(4) 写一段C语言代码,将寄存器(地址为:0x2000FCB0)的Bit2清零、

Bit3置1,其它位保持原有值不变。

unsigned int a = 0x2000FCB0; a &= ~(1<<2); a |= (1<<3);

(5) 下面的ISR存在什么问题?

__interrupt double compute_area (double radius) { double area = PI * radius * radius; printf(\ return area; } ① ②

ISR 不能返回一个值(都应该为void类型)。

ISR 不能传递参数。3)ISR应该是短而有效率的,③在ISR中做浮点运算是不明智的。

(6) 列举常见的RTOS。(不少于5个)

QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX、VxWorks、eCos

(7) RTOS常用的任务调度策略有哪些?分别做简要介绍。

抢占式调度。每个任务都有不同的优先级,任务会一直运行直到被高优先级任务抢占。时间片调度,每个任务优先级相同,每个任务都会运行固定的时间片个数。

(8) 什么是RTOS任务调度的优先级翻转问题?如何解决?

先级翻转是当一个高优先级任务通过信号量机制访问共享资源时,该信号量已被一低优先级任务占有,因此造成高优先级任务被许多具有较低优先级任务阻塞,实时性难以得到保证。使用优先级继承。当发现高优先级的任务因为低优先级任务占用资源而阻塞时,就将低优先级任务的优先级提升到等待它所占有的资


杭电嵌入式系统原理期末复习题(含部分答案).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(目录)2018年版中国医药销售外包CSO行业市场前瞻与投资战略规

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: