嵌入式简答.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式简答

1、简述优先级倒置产生的条件、现象以及解决方案。? 答:条件:基于优先级抢先式的任务调度、资源共享。(1分) 现象:低优先级任务L和高优先级任务H共享资源,在任务L占有共享资源之后,任务H就绪,但这时任务H必须等待任务L完成对共享资源的操作。在任务L完成对共享资源的操作之前,任务M也已就绪并将抢先任务L运行。在任务M运行时,系统中具有最高优先级的任务H仍然保持挂起状态。(3分)解决方案:优先级继承、优先级顶置。(1分) 2、请联系实验内容简述什么是Boot?Loader?,它在嵌入式系统中主要起什么作用??为什 么要在嵌入式平台移植Boot?Loader? 答:Boot?Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot?Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境.? 需要移植的原因是因为每种不同的CPU体系结构都有不同的Boot?Loader,且Boot?Loader还依赖于具体的嵌入式设备的配置,所以需要修改Boot?Loader进行移植。 3、什么是资源同步?怎么才能实现资源同步?什么是行为同步? 答:使得不同任务访问共享资源时能够确保共享资源信息可靠和完整性的措施称为“资源同步”。可以通过以下手段实现: 进入然后退出临界区; 禁止然后允许调度; 使用信号量与互斥信号量 一个任务的运行过程需要和其他任务的运行相配合,才能达到预定的效果,任务之间的这种动作配合和协调关系称为“行为同步”。、 4代码的临界区 代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。 5任务优先级 任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。 6 μC/OS-II的特点 UC/OS是一个非常小巧的实时操作系统;整个代码分为内核层以及移植层,这样使得它的植性很方便。 采用抢占式调度策略,保证任务的实时性。 能够管理多达64个任务。 提供了邮箱、消息队列、信号量、内存管理、时间管理等系统服务。 7vi编辑器模式 normal mode:命令模式,使用a、i、A、I、o、O等进入insert mode。 insert mode:编辑模式,使用ESC进入normal mode或者ctrl+o临时进入normal mode command-line mode visual mode select mode replace mode 8配置环境变量的三种方法: 编辑/etc/profile文件 编辑用户家目录下的.bash_profile文件 直接在终端使用export命令设置环境变量 9.MOV指令与LDR指令都是往目标寄存器中传送数据,但是它们有什么区别吗? MOV指令用于将数据从一个寄存器传送到另一个寄存器中,或者将一个常数传送到一个寄存器中,但是不能访问内存。LDR指令用于从内存中读取数据放入寄存器中。 BX和MSR 带状态切换的分支指令——BX指令除了具有跳转功能,还能在跳转的同时切换处理器状态。其跳转范围不受限制。 在ARM处理器中,只有MSR指令可以对状态寄存器CPSR和SPSR进行写操作。与MRS配合使用,可以实现对CPSR或SPSR寄存器的读-修改-写操作,可以切换处理器模式等操作。 片内Flash编程方法: 通过内置JTAG接口; 通过在系统编程(ISP),使用UART0通信; 通过在应用编程(IAP); 12:资源同步的实现方式? 1.使用关中断:通过调用禁止中断函数OS_ENTER_CRITICAL()和允许中断函数OS_EXIT_CRITICAL()实现的。 2.使用关调度:通过调用禁止任务调度函数OSSchedLock()和允许任务调度函数OSSchedUnlock()实现的,因为禁止调度违背了多任务的初衷,所以不建议用户使用。 3.使用信号量与互斥信号量:通过等待信号量和发送信号量实现共享资源的独享 13.使用BX指令和修改T位来实现状态切换的区别? BX指令是在程序跳转的同时进行状态切换,在程序发生跳转时流水线会被清空,所以使用BX指令进行状态切换后,流水线中按原来处理器状态进行取指和译码的指令会被清除,也就不会引起处理器的错误。 MSR:写状态寄存器指令,可以直接修改PSR寄存器,通过它来修改T位可以实现状态切换,但是不会清空流水线。 计算机有哪几种主要的架构?区别是什么 “冯.诺依曼”结构:把代码作为一种特殊的数据来操作,指令

文档评论(0)

wuailuo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档