




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式ARM基础习题 第一章 什么是嵌入式操作系统 答:嵌入式系统是以应用为中心,以计算机技术为基础,软 / 硬件可裁减,功能。可 靠性,成本,体积,功耗要求严格的专用计算机系统。 与通用计算机相比,嵌入式系统有哪些特点 答:(1)嵌入式系统通常是面向特定应用的; (2)嵌入式系统是将计算机技术, 半导体技术和电子技术与各行各业的具体应用相结合的 后的产物,是一门综合技术学科; (3) . 嵌入式系统和具体应用有机的结合在一起, 它的升级换代也是和具体产品同步进行的, 因此嵌入式产品一旦进入市场,就有较长的生命周期; (4). 为了提高执行速度和可靠性, 嵌入式系统中的软件一般都固化在存储器芯
2、片或单片 机本身中,而不是存储于磁盘等载体中; (5). 嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程 序功能进行修改,必须有一套开发工具和环境才能进行开发。 根据嵌入式的复杂程度,嵌入式系统可分为哪4 类 答:1. 单个微处理器; 2. 嵌入式处理器可扩展系统; 3. 复杂的嵌入式系统; 4. 在制造或过程控制中使用的计算机系统; 举例介绍嵌入式处理器有哪几类 答: 1. 嵌入式微处理器( Embedded Microprocessor Unit,EMPU ); 2. 嵌入式微控制器; ( Embedded Microcontroller Unit,EMCU)
3、3. 嵌入式 DSP 处理器( Embedded Digital Signal Processor,EDSP); 4. 嵌入式片上系统( Embedded System on Chip,EsoC ); 从硬件系统来看,嵌入式系统由哪几个部分组成画出简图。 电源模块 Flash 微处理器 MPU 时钟 RAM 复位 ROM 外设 USB LCD keyboard other . 嵌入式系统中,非数值数据编码主要包括哪几种 答:1. 字符表示; 2. 汉字编码; 3. 语音编码; 若在嵌入式系统采用 CRC码进行信息传输,接收端接收到的码字为101011,已知生成多项 式 g(x)=1011, 问
4、收到的码字是否正确出错的是哪一位 解:收到的码字不正确;出错的是第 4 位。 方法:(将收到的码字与生成多项式相除,所得结果为0011。对“ CRC出错模式(G(x)=1011) 可查找出出错位为第四位) 。 第三章 编写 1+2+3+*+100 的汇编程序。 AREA EXAMPLE1, CODE,READONLY ; 定义一个代码段,名称为 ;EXAMPLE1 ENTRY入口 MOV R0,#0 MOV R1,#0 给 R0 赋值为 0 用 R1 来存放 1100 的总和,初 始化为 0 START ADD R0,R0,#1 ;用来判断终止的,每次加 1 ADD R1,R1,R0 ;从 1
5、 加到 100 CMP R0,#100; 执行 R0-100 的操作,但不保存, ;只影响CPSR的值 BLTSTART; 带符号数小于时跳转到 START处 ; 执行 STOP B STOP; 死循环 END 如何实现 128 位数的减法,请举例说明。 AREA EXAMPLE2,CODE,READONLY ENTRY START SUBS R5,R5,R9 SBCS R4,R4,R8 SBCS R3,R3,R7 SBCS R2,R2,R6 STOP B STOP END 将存储器中起始地址 M1处的4个字数据移动到 M2处。 AREA EXAMPLE2,CODE,READONLY ENTR
6、Y LDR R0 ,=0X10;把地址 0X10 赋给 R0 LDR R5,=0X20;把地址 0X20 赋给 R5 START STMIA R0,R1-R4;把R1到R2的值依次赋给 R0为首地址 的内存单元中,每次赋完一次值,R0自 ; 动加 1 LDMIA R5,R1-R4;把R1到R4的值依次赋给以 R5为首地 ;址的内存单元中,R5每次自动加1 STOP B STOP ; 死循环 END 参考CPSR寄存器中各标志位的含义,使处理器处于系统模式。 AREA EXAMPLE2,CODE,READONLY ENTRY START MOV R0,#0X仆;给R0赋值,2进制为11111 M
7、SR CPSR_c,R0;把CPSR勺条件位置1 STOP B STOP;死循环 END 用跳转指令实现两段程序间的来回切换。 AREA EXAMPLE5 ,CODE, READONLY ENTRY BL a START CMP R0,R1 BNE b BEQ STOP MOV R0,#3 MOV R1,#2 MOV R15,R14 ADD R1,R1,#1 B START 跳到a对RO, R1,赋值 比较 R0, R1 的值 不等是跳转到 b 相等时跳转到 STOP 对 RO, R1 赋值 返回 ;R1自加 1 跳转到 START STOP B STOP 死循环 END 第四章 什么是伪指令
8、和伪操作在 ARM匚编中有哪几种伪指令 答:在ARM匚编语言程序中有些特殊助记符,这些助记符与一般指令的助记符的不同之 处在于没有相对应的操作码或者机器码, 通常称这些特殊指令助记符卫伪指令, 他们多完成 的操作成为伪操作; 在ARM匚编中,有如下几种伪指令: (1) 符号定义伪指令; (2) 数据定义伪指令; (3) 匚编控制伪指令; (4) 信息报告伪指令; (5) 宏指令及其他伪指令。 如何定义寄存器列表,试举一个使用寄存器列表的例子,要求实现4 个字的内存复制。 答:AREA EXAMPLE1,CODE,READONLY ENTRY LDRR0,=0XFF 把地址 0XFF 赋给 R0
9、 LDR R5,=0X0F 把地址 0X0F 赋给 R5 START PBLOCK RLIST R1-R4 把 R1-R4 定义为 PBLOCK STMIA R0,PBLOCK 把 R1 到 R2 的值依次赋给 LDMIA STOP ;R0 为首地址 的内存单元中,每次赋完一次 R5,PBLOCK STOP 值自动加 1 把 R1 到 R4 的值依次赋给以 R5 为首地址的内存单元中,R5每 次自动加 1 死循环 END 参考CPSR寄存器中各标志位的含义,使处理器处于系统模式。 AREA EXAMPLE2,CODE,READONLY ENTRY START MOV R0,#0 x1F MSR
10、 CPSR_c,R0 STOP B STOP END 如何定义一个宏,宏与子程序的区别是什么 答:宏的格式为: MARCOS MEND $标号 宏名$参数1,$参数 2.: 指令序列 MEND MARCO表示一个宏定义的开始,MEND表示一个宏的结束, MARCO口 MEND前呼后应可以 将一段代码定义为一个整体, 又称宏, 然后在程序中就可以在程序中通过宏的名称及参数调 用该段代码。 宏指令可以重复使用, 这一点的使用方式与子程序有些相似, 子程序可以节省存储空间, 提供模块化的程序设计。 但使用子程序机构时需要保存 / 恢复现场, 从而增加了系统的开销, 因此, 在代码传递的参数较多并且比
11、较短时, 可以使用宏代替子程序, 宏在被调用的地方展 开。 汇编中如何定义一个段,段有几种属性 答:AREA用于定义一个代码段,数据段,或者特定属性的段。 段的几种属性如下: READONLY 表示只读属性; READWRITE 表示本段可读写; CODE 定义代码段; DATA 定义数据段; ALIGN= 表达式的对齐方式为 2 的表达式次方; ; COMMON :定义一个通用段,这个段不包含用户代码和数据。 在一个汇编源文件中如何包含另一个文件中的内容 答:通常可以使用 GET/INCLUDE旨令,在某源文件中定义一些宏指令,用MAP和FIELD 定义结构化数据结构类型, 用EQU定义常量
12、的符号名称, 然后用GET/INCLUDE各这个源文件 包含到其他源文件中。 分别编写一个函数和一个宏,实现字符串的复制。 MACRO COPY $P1,$P2;定义一个宏 $P1 DCB HELLO 分配一个字节的空间,并初始化为一个 字符串 $P2 DCB WORLD! ; LDRR0,=$P1; LDRR6,=$P2; LDRIAR0,R1-R5; ;实现把 P1 加载到 R0 STRIA R6,R1-R5 ; MEND AREA COPY,CODE,READONLY ENTRY START MACRO STR1,STR2 B START ; END 同上 把 P1 的首地址加载到 把
13、P2 的首地址加载到 把 R0 每载一次,自加一次 同理(上) 调用宏 死循环 R0 R1 解释归纳变量,同族的归纳变量及基本的归纳变量。 4. 8试将下面这段 C代码翻译为等效的汇编代码: int Factorial(int)要有以下几个特点: 具有大量的指令和寻址方式; 大多数程序只使用少量的指令就能够运行。 绝大多数嵌入式处理器:精简指令系统计算机 (RISC)有一个精简的指令系统。从而提高了 微理器的效率, 但需要更复杂的外部程序, 也就是把在处理器层没有完成的工作放到了上层 进行,而处理器层少的这些成本可以用对物理器件速度的提高上去。RISC 有下特点: 8/2 原则: 80%的程序
14、只使用 20%的指令; 采用 Load/store 指令模式,凡数据由外存到内存、内存到寄存器方向的流动统一用Load 指令,而对于反方向的操作,都用 store ; 用小指令集、多寄存器、指令执行简单快速; 统一用单周期指令,从根本上克服了 CISC指令周期数有长有短、偶发性不确定、运行失常 的缺点。 (4)ARM7 ARM9内核处理器各采用几级流水线,分别是哪几级流水线结构 答: ARM7TDM采用三级流水线,分另为取指令、解码指令和执行操作。 ARM9TDM采用5级流水线结构,分别为取指令、译码、执行、存储、写操作五级。 ( 5)从内部结构及功能来看,ARM、7 ARM9、 Xscal
15、内核处理器各自有哪些不同,主要应用 在哪些领域 答: ARM7内 部结构框图,包括 Address Register(地址寄存器)、Address In creme nter(地址 累加器)、Resister Bank(寄存器块)、Booth s Multiplier(乘法器)、32 位 ALU单元、 Write/Read Data Register (读 / 写数据寄存器) 、逻辑控制单元等部分。 没有内存管理单片。 ARM9TDM处理器内核采用 ARM V4T架构,增加了可用的存储器宽度、指令存储器接口以及 数据存储器接口,可以支持16bitThumb指令集和32btiARM指令,ARM9
16、作为高性能的32位 RISC处理器内核,可以实现对指令和数据存储器的同时访问。如图2-9所示为ARM9功能结 构图。主要包含以下结构: 16KB指令和16KB数据缓存; 存储管理单元 MMU这有别于ARM7TDMI 一个 AMBA (Advanced Microprocessor Bus Architecture)总线接口; 一个 Embedded Trace Macrocell (ETM) 接口。 有内存管理单元,便于移植操作系统。 第3章 (1) 试列举ARM处理器工作模式,各工作模式主要完成怎么样的功能 答: User :用户模式。绝大部分的任务执行都在这种操作模式下,此为正常的程序执行
17、模式。 FIQ:快速中断模式。当一个高优先级中断产生时,系统将会进入这种操作模式,用于高速 数据传输和通道处理,由FIQ请求位发出请求信号。 IRQ:普通中断模式。当一个低优先级中断产生时将会进入这种操作模式,本模式用于通常 的中断处理,由IRQ请求位发出请求信号。 Supervisor :管理模式。 当复位或软中断指令执行时将会进入这种操作模式, 是一种可以供 操作系统使用的保护模式。 Abort :中止模式。当存取异常时将会进入这种操作模式,此模式可以被用作虚拟存储及存 储保护,可由ABORT青求位发出请求信号。 Un def :未定义模式。当执行未定义指令时会进入这种操作模式,多被用于软
18、件仿真硬件协 处理器时。 (2) 试列举ARM处理器各寄存器功能,在不同的模式下可以访问哪些寄存器 答: 1 个寄存器用作 PC( Program Counter ),即程序寄存器,指向程序执行位置。 1 个寄存器用作 CPSR( Current Program Status Register ),即当前状态寄存器,保存当前 cpu犬态。 5个寄存器用作 SPSR( Saved Program Status Registers),备份不同模式下 CPSF的值。 30 个寄存器作为通用寄存器,存储数据使用。 (3) 试说明CPSR寄存器各位功能。 答: 标志位 含 义 N N=1 表示运算的结果
19、为负数; N=0 表示运算的结果为正数或零 Z Z=1 表示运算的结果为零; Z=0 表示运算的结果为非零 C C=1表示有进位,C=0表示没有进位 V V=1表示符号位溢出,v=o表示结果没有溢出 Q在ARM vTE/J架构支持,指示 DSP指令是否溢出 J 仅 ARM 5TE/J 架构支持, J = 1 表示处理器处于 Jazelle 犬态 I I=1 表示禁止 IRQ F F=1 表示禁止 FIQ T 仅 ARMxT 架构支持, T = 0 表示处理器处于 ARM 犬态, T=1 表示处理器处于 Thumb 犬态 (4) 试列出ARM处理器常见中断方式,并说明ARM处理器在响应这些中断时
20、要经历哪些主 要步骤 答: 异常类型 具体含义 FIQ当处理器的快速中断请求引脚有效,且CPSF中的F位为0时,产生FIQ异常 IRQ当处理器的外部中断请求引脚有效,且CPSF中的I位为0时,产生IRQ异常 异常中断当外部的ABORT俞入产生时,发生异常断软件中断 该异常由执行 SWI 指令产生,可用于用户模式下的程序调用特权操作指令,可使 用该异常机制实现系统功能调用 复位 当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行 未定义指令 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使 用该异常机制进行软件仿真 ARM处理异常时,将立即通过备份寄存
21、器保存当前CPU的状态。PC和CPSR寄存器中的内容 被分别拷贝到 R14和SPSR中,PC和CPSR中的模式位 M0: 4根据异常类型被强制改变。 在异常中断处理中, 如果要禁止其它难以管理异常的嵌套, 可以置位中断标志位禁止再次中 断请求。在需要重复进入中断处理程序的情况下,R14和SPSR应该在中断被使能之前保存 到主存储的堆栈中;当传送 SPSR寄存器到堆栈或者从堆栈传送时,需要注意的是必须传送 整个字( 32 位)。当多个异常同时产生时,优先级决定异常响应的顺序。 异常处理完毕之后,ARM微处理器将连接寄存器 LR的值减去相应的偏移量后送到 PC中,同 时将SPSR复制回CPSF中,
22、若在进入异常处理时设置了中断禁止位,要在此清除。 (5)为什么说ARM处理器是32位处理器,主要体现在哪些方面, 其汇编采用怎样的指令编 码格式 答:数据线 32位,寄存器 32位,编码 32位。 (6)试列出16类指令条件域所对应的 CPSR寄存器相应位状态。 答: 条件码 助记符后缀 标 志 含 义 0000 EQ Z 置位 0001 NE Z 清零 0010 CS C 置位 0011 CC C 清零 0100 MI N 置位 0101 PL N 清零 相等 不相等 无符号数大于或等于 无符号数小于 负数 正数或零 0110 VS V 置位 溢出 0111 VC V 清零 未溢出 1000
23、 HI C置位Z清零 无符号数大于 1001 LS C清零Z置位 无符号数小于或等于 1010 GE N 等于 V 带符号数大于或等于 1011 LT N 不等于 V 带符号数小于 1100 GT Z清零且(N等于V)带符号数大于 1101 LE Z 置位或( N 不等于 V) 带符号数小于或等于 1110 AL 忽略 无条件执行 (7)ARM处理器主要有哪些类型的寻址方式,各有什么特点 答: 立即寻址 寄存器寻址 基地址变址寻址 寄存器偏移寻址 寄存器间接寻址 多寄存器寻址 (8) ARM指令和伪指令主要功能是什么在 ARM处理器中,有哪些类型的 ARM指令,试举例 说明相应指令编码格式,
24、在ARM匚编程序设计时,有哪些主要类型的伪指令, 试举例说明各 类伪指令功能。 答: ARM旨令:指示处理器如何工作。 伪指令:协助编译器。 指令略。 9)试用匚编程序实现求两个数中最大数。 答: (10)试用汇编程序实现 1100 的加法运算。 答: (11)试用汇编程序实现 10 的阶乘运算。 答: (12)完成本章中所有源代码编写及调试。 答: 第4章 (1) 试列举在进行嵌入式软件开发时,ARM匚编语言多用来开发哪些类型的程序。 答: Bootloader程序中多采用汇编程序和C语言汇合编程。操作系统中有少部分是汇编程序, 绝大部分采用 C 语言编写,例如 Linux 内核。 (2)
25、在使用ADS平台进行嵌入式应用程序开发时,armasm armcc、armcpp、armlink主要 功能是什么,如果要编译 Thumb指令集程序,需要使用哪些命令。 答: armasm:此命令用来编译汇编程序。 armcc :用来编译C程序。 armcpp :用来编译C+-程序。 armlink :此命令用来链接目标文件。 (3) 试编写一段汇编程序,实现64 位加法运算,并使用( 2)中所列工具进行编译链接, 生成可执行二进制代码。 答: (4)在ARM应用程序中,在存储时可执行文件主要分为哪几个部分,在运行时又分成哪几 个主要部分,各部分主要存储形式和存储内容是什么 答: 图 4-3 存
26、储态和运行态代码分布 (5)使用平台创建工程项目文件过程是什么,试安装平台创建一个工程项目,然后添加相 应源代码,使用 AXD调试,写出详细操作步骤。 答: (6)试编写一段 C语言与汇编程序的混合程序,在此汇编程序中,实现输入的任意两个数 的整数除法运算,在 C文件中实现测试。 答: (7)试编写一段C语言与汇编程序的混合程序,在此汇编程序中,实现两个64位数的乘法 运算,在C文件中调用该函数实现测试,要求明确函数参数传递及返回。 答: (8 )为什么要尽可能的遵循 APCS标准,有什么好处,在 APCS中,函数调用及返回遵循哪 些规则。 答: 第5章 ( 1)从硬件和软件两个方面分析一个嵌入式系统主要具备哪些显著特点 2)试列出一个嵌入式设备在硬件常见的外围接口及主要功能 答: (3)试列出一个嵌入式设备在所具备的层次结构以及各层主要功能 答: (4)试指出嵌入式软件开发和传统的X86 平台软件开发的差异,常见的嵌入式开发工具和 开发平台有哪些 答: (5)什么是嵌入式交叉编译环境,这种开发模式有哪些主要特点 答: (1)ARM处理器有哪几种主要的中断异常,如果进入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园学生宿舍用品合作合同(2篇)
- 职业技术学院2024级工程造价专业人才培养方案
- 2025房产抵押借款合同模板
- 2025最简化租房合同范例:最简化租房合同样本
- 2025年初级银行从业资格之初级个人理财题库附答案(典型题)
- N-乙酰谷氨酸合成酶缺乏症的临床护理
- 2025工程设计与施工合同
- 发展新质生产力策略
- 人教九年级化学思维导图
- 2025(新旧)房产买卖合同
- 比例尺单元测试卷及答案
- 氩弧焊基本知识课件
- 《广西壮族自治区基层工会经费收支管理实施办法》修订解读
- 2024北京朝阳城市发展集团有限公司社会化招聘专场笔试参考题库附带答案详解
- 中职语文教学大赛教学实施报告范文与解析
- 北京市朝阳区2025届高三下学期一模试题 数学 含答案
- 食品工厂5S管理
- 大数据在展览中的应用-全面剖析
- 食品企业危机应对措施
- T-FJZYC 10-2024 金线莲规范化生产技术规程
- 2025年四川省成都市“蓉漂”人才荟武候区招聘23人历年自考难、易点模拟试卷(共500题附带答案详解)
评论
0/150
提交评论