


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2014年春季 期末作业考核嵌入式系统 满分100分一、判断题(每题3分,共30分)1. 嵌入式系统一般具有实时约束,有时限要求,因此,嵌入式系统一般都采用分时操作系统。()2嵌入式系统本身具备自举开发能力,用户可以直接在嵌入式设备上做开发。()3硬件资源是硬件设计工程师在设计和调试硬件必备的工具,这些资源不包括示波器。()4嵌入式常用编程语言有汇编语言、c语言、c+语言以及java语言等。()5嵌入式 linux是以linux为基础的嵌入式操作系统,它是一种开放源代码、软实时、多任务的嵌入式操作系统。()6uclinux是面向支持mmu的处理器平台设计的。()7arm指令中的第二个操作数可以是一个8位的立即数,也可以是一个任意的32位立即数。()8当异常发生时,需要保护程序执行现场,再进行异常处理。其中,现场保护包括返回地址和cpsr的值两个方面的内容。()9map用于定义一个结构化的内存表的首地址,可以用“*”代替。()10space分配的内存单元用0初始化,dcb分配的内存用指定的值初始化。()二、简答题(每题8分,共40分)1. 什么是可编程片上系统(sopc)?答: sopc(system on programmable chip)即可编程的片上系统,或者说是基于大规模fpga的单片系统。sopc技术是一门全新的综合性电子设计技术,涉及面广。 在二世纪九十年度末,可编程逻辑器件(pld)的复杂度已经能够在单个可编程器件内实现整个系统。完整的单芯片系统(soc)概念是指在一个芯片中实现用户定义的系统,它通常暗指包括片内存储器和外设的微处理器。最初宣称真正的soc或可编程单芯片系统(sopc)能够提供基于pld的处理器。在2000年,altera发布了nios处理器,这是altera excalibur嵌入处理器计划中第一个产品,它成为业界第一款为可编程逻辑优化的可配置处理器。本文阐述开发nios处理器设计环境的过程和涉及的决策,以及它如何演化为一种sopc工具。 sopc是基于fpga解决方案的soc,与asic的soc解决方案相比,sopc系统及其开发技术具有更多的特色,构成sopc的方案也有如下多种途径2. 什么是嵌入式交叉调试?交叉调试的方式有哪几种?答:就是宿主机(一般是电脑)与目标机(嵌入式系统)之间跨平台进行调试(一个是x86架构处理器,一个是arm或其他嵌入式微处理器),这种跨平台的调试就叫交叉调试。当然,宿主机与目标机之间存在某种通信方式,以太网通信或串口通信等。常用的调试方法有monitor方式和片上调试方式。3嵌入式arm linux系统的一般开发步骤是什么?第一步、建立交叉编译环境没有交叉开发经验的读者,可能一时很难接受这个概念。首先,要明白两个概念:一般我们工作的机器,称为开发机、主机;我们制作好的系统将要放到某台机器,如手机或另一台pc机,这台机我们称为目标主机。我们一般开发机上已经有一套开发工具,我们称之为原生开发套件,我们一般就是用它们来写程序,那么,那什么又是交叉编译环境呢?其实一点也不神秘,也就是在开发机上再安装一套开发工具,这套开发工具编译出来的程序,如内核、系统工作或者我们自己的程序,是放在目标主机上运行的。那么或许有初学者会问,直接用原生开发工具为目标主机编译程序不就完了?至少我当初是这么想的。一般来说,我们的开发机都是x86 平台,原生开发套件开发的工具,也针对x86 平台,而我们的目标主机可能是powerpc、ixp、mips所以,我们的交叉编译环境是针对某一类具体平台的。一般来讲,交叉开发环境需要二进制工具程序、编译器、c链接库,嵌入式开发常用的这三类软件是:binutilsgccuclibc当然,gnu包含的工具套件不仅于此,你还要以根据实际需要,进行选择第二步、编译内核开发工具是针对某一类硬件平台,内核同样也是。这一步,我们需要用第一步中建立的工具,对内核进行编译,对于有内核编译经验的人来说,这是非常简单的;第三步、建立根文件系统也就是建立我们平常看到的bin、dev、proc这一大堆目录,以及一些必备的文件;另外,我们还需要为我们的目标系统安装一些常用的工具软件,如ls、ifconfig当然,一个办法是找到这些工具的源代码,用第一步建立的交叉编译工具来编译,但是这些软件一是数量多,二是某些体积较大,不适合嵌入式系统,这一步,我们一般都是用busybox来完成的,包括系统引导软件init;最后,我们为系统还需要建立初始化的引导文件,如inittab4试举例说明ldr和str指令的前变址、后变址和回写前变址3种变址模式。5从irq和fiq处理程序返回时,如何写返回指令?简单说,把要返回的地址移入pc中即可。说复杂一点,这个输入的地址在进入中断处理例程的时候,保存在lr中,所以一般的做法是做一个movs pc, lr即可实现。三、问答及应用题(每小题15分,共30分)1简述arm的cpsr各状态位的作用,并说明如何对其进行操作,以改变各状态位。答:cpsr可在任何运行模式下被访问,它包含条件码标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。条件码标志位: n 当用两个补码表示的带符号数进行运算时,n=1表示运算的结果为负数;n=0 表示运算的结果为正数或零; z z=1 表示运算的结果为零;z=0表示运算的结果为非零; c 加法(包括比较指令cmn)运算结果产生进位时(无符号数溢出),c=1,否则c=0。 减法(包括比较指令cmp)运算产生借位(无符号数溢出),c=0,否则c=1。 对于包含移位操作的非加/减运算指令,c为移出值的最后一位。 v 对于加/减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,v=1表示符号位溢出。 cpsr的低8位(包括i、f、t和m4:0)称为控制位,当发生异常时这些位可以被改变。状态寄存器(psr)中的其余位为保留位,当改变psr中的条件码标志位或者控制位时,保留位不要被改变,在程序中也不要使用保留位来存储数据。2假设已经在c程序中定义了一个数组int fi100,数组元素初始值为0。试编写一个arm汇编子程序fibonacci,实现将斐波拉契数列的前100项存入数组fi100中,其中前两项为1和1,分别存入到fi0和fi1,其他项依次存入数组其余元素,数组的地址作为参数传递给汇编子程序。斐波拉契数列是形如:1,1,2,3,5,8,13,的数列。int max(int array)int max = array0 ;int i=0;for (i=0;imax)max = arrayi ;return max ; int main(void)int line, row ;int array= 1,5,-1,25,9,44,43,65,10,11110,343,765;/数组初始化int number = max(array);printf(最大的数是%dn,number) ;/数组l的f数列lo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灯具店转让合同范本
- 检验工作心得体会和感悟(汇编10篇)
- 金融科技支付服务消费金融模式用户消费方式提升创新性
- 2025年高考日语试卷及答案
- 需求工程试题及答案
- 2025年康复解剖大题题库及答案
- 汤沟酒厂招聘考试试题及答案
- 2025年山西特岗教师招聘考试试题(附答案)
- CN222961012U 一种欧式双梁桥式起重机 (河南力富特起重运输机械有限公司)
- 2025年船舶测速题库及答案
- 压力疏导培训课件
- 肠造口回纳手术
- 篮球场改造工程施工组织设计方案
- 业务知识演讲稿:“三重一大”事项集体决策制度规范运用的思考
- 起搏器植入围手术期护理
- 《数学(第8版 上册)》 课件 第1章 运算与方程
- 中学生天文知识竞赛考试题库500题(含答案)
- 生活妆课件教学课件
- 儿童英语小故事100篇englishforchildren
- 高中数学集合练习题160题-包含所有题型-附答案
- 人教部编版七年级语文上册《秋天的怀念》示范课教学课件
评论
0/150
提交评论