




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、根据嵌入式系统的实时性强弱, 嵌入式系统是如何分类的?结合具体的应用 场合,对它们的特点分别加以描述。根据嵌入式系统的实时性要求分为:非实时系统(如 PDA);软实时系统(如消费类产品) ; 硬实时系统(工业实时控制系统) 实时系统是一个能够在指定时间内完成系统功能并对外部或内部事件做出响应 的系统; 实时逻辑的正确性不仅依赖于计算结果的正确性还取决于输出结果的时间。 强实时系统 , 其系统响应时间在毫秒或微秒级。一般实时系统 , 其系统响应时间在几秒的数量级上 , 其实时性的要求比强实时系 统要差一些。弱实时系统 , 其系统响应时间约为数十秒或更长。 这种系统的响应时间可能随系 统负载的
2、轻重而变化。2、结合嵌入式系统的组成结构, 详细描述嵌入式系统开发的具体工作有哪些? 在嵌入式硬件和嵌入式软件之间有一个接口层次,这个接口层为什么层?其 具体的开发特点是什么?嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统(RTO$和嵌入 式系统应用。嵌入式系统硬件平台是以嵌入式处理器为核心,由存储器、 I/O 单元电路、通信 模块、外部设备等必要的辅助接口组成的。驱动层 BSP/HAL 硬件抽象层 / 板极支持包。操作系统提供商为了屏蔽这些硬件平台的差异,紧紧用标准C语言把操作系统不依赖于具体硬件的共性部分实现了, 而把依赖于硬件的部分 (如存储器种类、 外 部设备的配置、 地址分
3、配等) 留给用户编写, 而操作系统仅仅规定了一个标准的 规范。用户编写的这部分代码为用户的具体硬件和标准化的操作系统之间提供了一个 接口和支持平台,这部分代码称为板级支持包( Board Support Package , BSP) 或硬件抽象层( Hardware Abstraction Layer , HAL)。3、嵌入式处理器的种类有哪些?如能给出具体的代表性芯片请给出芯片的型 号及生产厂家。嵌入式处理器是嵌入式系统的硬件核心。 嵌入式处理器根据它的结构和应用特点 可以分成四类:嵌入式微控制器(MicroControllerUnit,MCU),目前主要的嵌入式微处理器有:ARM、 MIP
4、S、 Aml86/88、 386EX、 PowerPC、 68000系列。嵌入式微处理器 (Embedded MicroProcessor Unit,EMPU ), 8051 便是最著名的 MCU。DSP处理器(Digital Signal ProcessorQSP),TI 公司 TMS320C2000/5000/6000 系列DSP是该类产品中最著名的。高度集成的片上系统(System on Chip,SoC),片上系统(SoQ就是结合了许多 功能模块,将整个嵌入式系统做在了一个芯片上的系统。ARM/MIPS/DSP或其他微处理器核加上通信接口单元 (如:通用串行接口 UART、 USB、
5、TCP/IP、 IEEE1394、蓝牙模块接口等)构成 SoC4、嵌入式交叉开发环境的组成是怎样的?嵌入式系统开发为什么需要这样的 交叉开发环境而通用计算机的开发不需要 ?(1) 嵌入式交叉开发环境的组成 :嵌入式交叉开发环境一般将由个人电脑,PC端嵌入式开 发软件(如支持ARM的mdk,ads,rvds等等),支持硬件调试的硬件调试器及其配套的驱动软件(如j-link ),当然,最重要的还要有嵌入式硬件系统即通俗所谓的开发板。(2)按嵌入式系统的定义,嵌入式系统的软硬件将是可剪裁的以适用于各种不同的要求。这样的话,由于硬件平台千差万别, 开发其编译器将变得不可能, 即便开发出来,可能也需 要
6、及其繁琐的配置,大大降低了软件的可用性。另外就是使用也不方便,大多数嵌入式系统 不会配备像PC机一样适于输入的键盘和较大的屏幕。5、ARMt哪些工作状态?如何进行状态切换?ARM犬态:32位,这种状态下执行字对准的 ARM旨令;Thumb状态:16位,这种状态下执行半字对准的 Thumb指令。ARMi理器在两种工作状态之间可以利用 BX指令方便地进行切换。(1)进入Thumb状态。当操作数寄存器的状态位(位0)为1时,执行BX指 令进入Thumb状态。如果处理器在Thumb状态进入异常,则当异常处理(IRQ、FIQ、Un def、Abort和SWI)返回时,自动转换到 Thumb状态。(2)进
7、入ARM犬态。当操作数寄存器的状态位(位0)为0时,执行BX指令 进入ARM状态。处理器进行异常处理(IRQ、FIQ、Reset、Un def、Abort和SWI)。& ARMt哪7种工作模式?各自的用途是什么?其中哪些是特权模式?哪些是 异常模式?系统开机时应该为这些工作模式做哪些准备?ARM处理器共有7种不同的处理器模式:1、用户模式(User):正常程序的执行模式。2、快速中断模式(FIQ ):用于高速数据传输和通道处理。3、外部中断模式(IRQ ):用于通常的外部中断处理。4、特权模式(SVE ):又叫管理模式,供操作系统使用的一种保护模式。5、数据访问中止模式(ABT ):用于虚拟存
8、储和存储保护。6、未定义指令中止模式(UND ):用于支持通过软件方针硬件的协处理器。7、系统模式(SYS ):用于运行特权级的操作系统任务。除了用户模式以外的其他 6种处理器模式称为特权模式。在这些模式下,程序可以访问所的系统资源,也可以任意地进行处理器的模式切换。其中,除了系统模式以外,其他5种特权式又称为异常模式。处理器启动时的模式转换图管理模式s/c (Supervisor)多种特权模式变化复位后 缺省模式主要完成各 模式的堆栈 设置,注意 不要进入用 户模式 ;?7、一个程序执行时间的计算公式:Ninst CPIT二prog其中:fclkNinst :指令数CPI :每条指令的平均时
9、钟周期数。fclk :时钟频率。请结合该公式分析提高嵌入式系统工作效率的途径有哪些?精简指令,减少不必要的指令。改善系统结构组织和指令集,减小每条指令的平 均时钟周期数。改善硬件条件,提高时钟频率。8、“ ARM处理器指令大部分可以作为条件指令来执行,大部分的指令也可以影 响条件,但是都不是强制的”,这里所说“条件”具体指的是什么?“不是强 制的”是什么意思?如何才能让一条指令影响条件标志?又如何才能使一条 指令变成条件执行指令。9、什么是“有效立即数”,有效立即数在ARM指令中的表示方法是怎样的?为 什么采用这样的表示方法?在 ARM 数据处理指令中 , 当参与操作的第二操作数为立即数时 ,
10、 每个立即 数都是采用一个 8 位的常数循环右移偶数位而间接得到 , 其中循环右移的位数 有一个 4 位二进制的 2 倍表示 . 则有效立即数可表示为 : := immed_8;循 环右移(2 x rotate_imm). 其 中: 代表 立即数, immed_8 代表 8 位常数, 即所谓的 8 位图, rotate_imm 代表 4 位的循环右移 值. ARM 规定并不是所有的 32 位常数都是合法的立即数 , 只有通过上面的构造 方法得到的才是合法的立即数 , 编译的时候才不会报错 .10、ARM处理器指令大多都是采用寄存器作为其操作数,以提高指令的执行效率,为此ARM处理器设置了大量的
11、寄存器,可是数据的最初来源和最终归 宿都是存储器,ARM是如何来解决这一冋题的?ARM微处理器的指令集是加载/存储(load/store )型的.即指令集仅能处理寄存器中的数据, 处理结果仍要放回寄存器中, 而对系统存储 器的访冋则需要通过专门的加载 /存储指令来完成。11、ARM处理器的堆栈有哪些类型?在 ARM犬态和Thumb犬态下分别如何实 现堆栈操作。ARM微处理器支持这四种类型的堆栈工作方式,即:满递增方式FA (Full Ascending):堆栈指针指向最后入栈的数据位置,且由低 地址向高地址生成。满递减方式FD(Full Decending):堆栈指针指向最后入栈的数据位置,且
12、由高 地址向低地址生成。空递增方式 EA(Empty Ascending ):堆栈指针指向下一个入栈数据的空位置, 且由低地址向高地址生成。空递减方式ED (Empty Decending):堆栈指针指向下一个入栈数据的空位置, 且由高地址向低地址生成。ARM:arm 对于堆栈的操作一般采用 LDMFD(Thumb中 pop)和 STMFD(Thumb中 push) 两个命令。Thumb:PUSH和 POP指令格式:PUSH 低寄存器的全部或其子集 POP 低寄存器的全部或其子集 这两条指令是栈操作指令, 用于在寄存器和堆栈之间进行成组的数据传送, PUSH 指令用于把寄存器列表中的寄存器数据
13、推进堆栈;POP指令用于把栈区的数据弹出列表的寄存器中。PUSH POFP旨令使用栈寄存器R13作为基址堆栈操作。12、在ARM“伪指令”和“汇编指令”中都有 LDR指令,如何区分指令中的 LDR为“伪指令”还是“汇编指令”?请举例说明。ARM是 RISC结构,数据从内存到 CPU之间的移动只能通过 L/S指令来完成,也就是Idr/str 指令。比如想把数据从内存中某处读取到寄存器中,只能使用Idr比如:Idr r0, 0x12345678就是把0x12345678这个地址中的值存放到 r0中。另外还有一个就是Idr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。 ldr伪
14、指令可以在立即数前加上=以表示把一个值(一般是一个地址)写到某寄存器中,比如:Idr r0, =0x12345678这样,就把0x12345678这个值写到r0中了。 Idr伪指令用于加载32位的立即数或一个地址值到指定寄存器。在汇编编译源程序时,Idr伪指令被编译器替换成一条合适的指令。13、ATPCSS准的具体内容是什么?建立该标准的目的是什么?ATPCS(ARM-ThumProduce Call Standard )是 ARM?序和 Thumb程序中子程序 调用的基本规则,目的是为了使单独编译的C语言程序和汇编程序之间能够相互 调用。这些基本规则包括子程序调用过程中寄存器的使用规则、数据
15、栈的使用规则和参数的传递规则。14、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段 程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境15、简述嵌入式Linux交叉编译环境搭建及开发步骤1. 建立开发环境在主机上安装Linux建立交叉开发环境:如交叉编译器,交叉调试器。(arm-Linux-gcc )交叉编译器完整的安装一般涉及到多个软件的安装,包括bin utils 、gcc、glibc等软件。其中,bin uti
16、ls主要用于生成一些辅助工具,如 objdump、as、Id等;gcc是用来生成交叉编译器,主要生成arm-linux-gcc 交叉编译工具(应该说, 生成此工具后已经搭建起了交叉编译环境,可以编译 Linux内核了,但由于没 有提供标准用户函数库,用户程序还无法编译);glibc主要是提供用户程序所使用的一些基本的函数库。交叉编译器的安装有两种方法:一种是利用网上交叉编译包安装,第二种是利用 交叉链Crosstool自己构建交叉编译器。2. 配置开发主机,配置MiniCom或者超级终端配置网络环境 配置网络服务:如ftp和nfs等3. 建立引导装载程序BootloaderBootloader
17、 的功能常见的 BootloaderU-BOOTBLOBVIVI4. 移植Linux操作系统一般选择移植好了的 Linux 内核:uCLinux、ARM-Linux、PPC-Linux5. 建立根文件系统首先裁剪建立Root文件系统再根据需要添加其他的程序网络上可以找到现成的映象文件,如BusyBox6. 建立应用程序的flash磁盘分区一般使用JFFS2或YAFFS文件系统7. 开发应用程序同一般的Linux应用程序开发相似根据具体的嵌入式系统应用相关8. 应用程序开发结束后,需要烧写内核、根文件系统、应用程序。最后进行产品 的发布16、在编写嵌入式Linux设备驱动程序中,如何对I/O物理
18、地址进行读写?一般来说,在系统运行时,外设的 I/O内存资源的物理地址是已知的,由硬件的设计决定。 但是CPU通常并没有为这些已知的外设I/O内存资源的物理地址预定义虚拟地址范围,驱动程序并不能直接通过物理地址访问I/O内存资源,而必须将它们映射到核心虚地址空间内(通过页表),然后才能根据映射所得到的核心虚地址范围,通过访内指令访问这些I/O内存资源。Linux在io.h头文件中声明了函数ioremap (),用来将I/O内存资源的物理地址 映射到核心虚地址空间(3GB- 4GB中.在将I/O内存资源的物理地址映射成核心虚地址后,理论上讲我们就可以象读写RAM那样直接读写I/O内存资源了。为了
19、保证驱动程序的跨平台的可移植性,我们应该使用Linux中特定的函数来访问I/O内存资源,而不应该通过指向核 心虚地址的指针来访问。17、简述在多线程开发中互斥锁(Mutex)的作用及使用步骤互斥锁是同一时间只能有一个线程获得控制权的机制。互斥锁的使用步骤:(1)声明互斥锁,并设置为快速锁(常用的锁)pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;(2 ) 在对共享数据或者变量修改前,调用 pthread_mutex_lock (&mutex) 加 锁;如果此时mutex已经被别的线程获取,那么pthread_mutex_lock 将会一直 等待,直到别的线程释放了锁。一 一(3) 修改完成后,再调用pthread_mutex_u nlock (&mutex)释放锁。释放后, 别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产合作投资协议书
- 家庭装饰装修工程合同
- 无息借款购车合同书二零二五年
- 公司股权分配合同书协议书
- 金属废料和碎屑加工处理服务企业ESG实践与创新战略研究报告
- 新能源汽车相关设施制造企业县域市场拓展与下沉战略研究报告
- 籽棉清理机企业县域市场拓展与下沉战略研究报告
- 压电泵企业县域市场拓展与下沉战略研究报告
- 石油裂化用无缝钢管企业数字化转型与智慧升级战略研究报告
- 2025年烧成高铝制品项目可行性研究报告
- 2025年北师大版七年级数学下册计算题专项训练专题04整式的混合运算与化简求值(原卷版+解析)
- 2025-2030中国燃料乙醇行业现状调查及投资前景策略分析研究报告
- 2025浙江1月卷读后续写及满分语料10类40句 (真假小偷) 原卷版
- 餐饮合伙协议合同范本
- 第二单元 人民当家作主(B卷 能力提升)2024-2025学年高中政治统编统编版必修三单元测试AB卷(含解析)
- 骨科关节镜手术器械行业深度调研及发展战略咨询报告
- GB/T 13511.1-2025配装眼镜第1部分:单焦和多焦定配眼镜
- 农机法律法规试题及答案
- 旅游业数字化转型服务流程管理办法
- 西门子S7-1500PLC技术及应用课件:S7-1500 PLC 的通信及其应用
- 怎样通知最快(说课稿)-2023-2024学年五年级下册数学人教版
评论
0/150
提交评论