杭电嵌入式系统原理期末复习题(含部分答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
杭电嵌入式系统原理期末复习题(含部分答案)《嵌入式系统原理》习题
一、
嵌入式硬件子系统
1.名词解释
embeddedsystem嵌入式系统mcu微控制器soc系统芯片dsp数字信号处理
jtag联合测试工作组。
一种国际标准测试协议,主要用于芯片内部测试。
ice在线仿真器。
支持片上断点与调试risc精简指令集计算机cisc复杂指令集计算机armrisc微处理器cortex-m332位处理器内核
watchdog看门狗。
监测单片机程序运行状态的芯片。
2.直观题
(1)在进行嵌入式存储系统设计时,如何在sram、dram、flash、
eeprom等存储方案中展开挑选?
ram分为:sram(静态存储器)和dram(动态存储器)。
sram掉电不丢失数据,速度比dram快,但价格特别昂贵,只有在苛刻的地方使用,比如cpu的缓冲。
dram虽然速度相对慢,但比任何的rom都要快,做内存比较合适。
flash存储器,适用于于速度建议低,容量建议小,高速缓存时建议数据不偷
失的场合。
eeprom适用于速度不高,容量不大,掉电时要求数据不丢失的场合。
在单片机中,ram主要就是搞运转时数据存储器,flash主要就是程序存储器,eeprom 主要就是用来在程序运行留存一些须要高速缓存不遗失的数据.(2)比较nandflash、norflash之间的区别。
nor闪存是随机存储介质,读取可以直接运行装载在norflash里面的代码,用于数据量较小的场合。
nand闪存是连续存储介质,它的读取是以一次读取一块的形式来进行的,用户不能直接运行nandflash上的代码。
采用这种技术的flash比较廉价,适合存放大的数据。
(3)嵌入式系统硬件的时钟(clock)的促进作用就是?详细了解下常用的时钟设计
方案。
促进作用主要就是同时实现数据传输和拒绝接受的同步。
实时时钟设计如下:
脉冲计数器对时钟源输出的时钟进行计数,当达到一定值后和数字比较器比较,如果
一致则触发硬件中断。
程序在硬件中断中进行处理。
(4)stm32的clocksource可以配置成哪些?(新增)
在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-automaticvariables)。
(三)多线
程应用领域中被几个任务共享资源的变量。
(4)写一段c语言代码,将寄存器(地址为:0x2000fcb0)的bit2清零、
bit3复置1,其它位维持旧有值维持不变。
unsignedinta=0x2000fcb0;a&=~(1<<2);a|=(1<<3);
(5)下面的isr存有什么问题?
isr不能返回一个值(都应该为void类型)。
isr无法传达参数。
3)isr必须就是长而有效率的,③在isr中搞浮点运算就是不明
智的。
(6)列举常见的rtos。
(不少于5个)
qnx、rtlinux、uc/os-ii、nucleusplus、vrtx、vxworks、ecos
(7)rtos常用的任务调度策略有哪些?分别做简要介绍。
抢占市场式调度。
每个任务都存有相同的优先级,任务可以一直运转直至被低优先级
任务抢占市场。
时间片调度,每个任务优先级相同,每个任务都会运转紧固的时间片个数。
(8)什么是rtos任务调度的优先级翻转问题?如何解决?
先级滑动就是当一个低优先级任务通过信号量机制访问共享资源时,该信号量已被一
低优先级任务占据,因此导致低优先级任务被许多具备较低优先级任务堵塞,实时性难以
获得确保。
采用优先级承继。
当辨认出低优先级的任务因为低优先级任务挤占资源而堵塞时,就将低优先级任务的优先级提高至等候它所占据的资。