(完整word版)嵌入式ARM期末考试试卷及复习题(word文档良心出品).pdf
一、填空题(请将答案填入题后括号中):共 10 小题,每小题2 分,满分 20 分。1、一般而言,嵌入式系统的构架可以分为4 个部分:分别是(处理器)、存储器、输入/输出和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式微处理器),(嵌入式 DSP处理器)以及片上系统。3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(进程管理)、进程间通信、(内存管理)、I/O资源管理。4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其中实时系统亦可分为(硬实时操作系统)和软实时系统。5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内核的基本服务是(任务切换)。6、嵌入式开发一般采用(宿主机/目标机)方式,其中宿主机一般是指(PC机/台式机)。7、哈佛体系结构数据空间和地址空间(分开),ARM7TDMI 采用(冯诺依曼体系)的内核架构,ARM920T采用(哈佛)的内核架构。8.ARM7TDMI采用(3)级流水线结构,ARM920TDMI 采用(5)级流水线。9.按操作系统的分类可知,Dos 操作系统属于顺序执行操作系统,Unix 操作系统属于(分时)操作系统,VxWorks属于(实时嵌入式)操作系统。10、ARM7TDMI 中,T 表示支持 16 位 Thumb指令集,D表示(在片可调试),M表示内嵌乘法器Multiplier,I 表示(嵌入式 ICE),支持在线断点和调试。二、选择题(请将答案填入题后括号中):共 10 小题,每小题2 分,满分 20 分。1、要使 CPU能够正常工作,下列哪个条件不是处理器必须满足的。(D )(A)处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断(D)有大量的存储空间2、下面哪种操作系统最方便移植到嵌入式设备中。(D)(A)DOS (B)unix (C)Windows xp(D)linux 3、下面哪个选项不是SUB设备的特点。(B )(A)串行通信方式(B)不可热拨插(C)分 HOST、DEVICE和 HUB (D)通信速率比RS232快4、下面哪种嵌入式操作系统很少用于手机终端设备上。(C)(A)Symbian(B)WinCE (C)uc/os(D)linux 5、以下哪项关于SRAM 和 DRAM 的区别是不对。(A)(A)SRAM 比 DRAM 慢(B)SRAM 比 DRAM 耗电多(C)DRAM存储密度比SRAM 高得多(D)DRM 需要周期性刷新6、uc/os 操作系统不包含以下哪几种状态。(C)(A)运行(B)挂起 (C)退出(D)休眠7、0 x07&0 x11 的运算结果是。(A )(A)0 x01(B)0 x11 (C)0 x17(D)0 x07 8、以下哪种方式不是uc/os 操作系统中任务之间通信方式。(C)(A)信号量(B)消息队列 (C)邮件(D)邮箱9、以下哪种方式不是文件系统的格式。(B)(A)FAT(B)DOS (C)NTFS (D)Ext 10、在将 uc/os 操作系统移植到ARM 处理器上时,以下哪些文件不需要修改。(A )(A)OS_CORE.C (B)include.h (C)OS_CPU.H(D)OSTaskInit 2.下面哪点不是嵌入式操作系统的特点。(C )A.内核精简B.专用性强C.功能强大D.高实时性4.在嵌入式 ARM 处理器中,下面哪种中断方式优先级最高。(A )A.Reset B.数据中止C.FIQ D.IRQ 5.NAND FLASH和 NOR FLASH 的区别正确的是。(D )A.NOR的读速度比NAND 稍慢一些B.NAND的写入速度比NOR 慢很多C.NAND的擦除速度远比NOR 的慢D.大多数写入操作需要先进行擦除操作三、判断题:共5 小题,每小题2 分,满分 10 分。1、所有的电子设备都属于嵌入式设备。()2、冯诺依曼体系将被哈佛总线所取代。()3、嵌入式 linux操作系统属于免费的操作系统。()4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。()5、USB2.0的最大通信速率为12M/S。()简答题:共2 小题,每小题10 分,满分20 分。1、根据嵌入式系统的特点,写出嵌入式系统的定义。以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。2、试分析实时操作系统的工作状态特点及相互之间的转换。运行:获得CPU的控制权;就绪:进入任务等待队列,通过调度中转为运行状态;挂起:任务发生阻塞,称出任务等待队列,等待系统实时事件的发生而被唤醒,从而转为就绪或者运行;休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在的任务。3、写出 uc/os 操作系统在某一任务正在执行时发生中断的处理过程。中断现有程序-保护现场-执行中断服务程序-判断当前程序优先级或是否允许任务调度(否)执行原来程序(是)执行更高优先级任务-返回四、分析计算题:共2 小题,每小题10 分,满分20 分。1、试写抢占式和非抢占式的区别。执行的过程中对中断处理方式不一样,抢先式:某一中断执行完成后,如果有更高优先级的任务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动放弃CPU的控制权,其它任务才能够获得CPU的控制权。2、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件系统、GUI,网络及通用组件);(4)功能层。五、专业名词解释(写出以下英文简写对应的中文名称):共 5 小题,每小题2 分,满分 10 分。(1)RTOS 实时操作系统(2)CISC 复杂指令集(3)Kernel 内核(4)Scheduler 调度(5)non-preemptive 非抢占式1、简述优先级倒置产生的条件、现象以及解决方案。答:条件:基于优先级抢先式的任务调度、资源共享。(现象:低优先级任务L 和高优先级任务H 共享资源,在任务L 占有共享资源之后,任务H 就绪,但这时任务H必须等待任务L 完成对共享资源的操作。在任务L 完成对共享资源的操作之前,任务M也已就绪并将抢先任务L 运行。在任务M运行时,系统中具有最高优先级的任务H仍然保持挂起状态。解决方案:优先级继承、优先级天花板。2、I/O 接口电路数据传送方式有:查询、中断、DMA、I/O 通道和 I/O 处理机方式。文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W13、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。4、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。5、RAM 存储器有两种,分别是:SRMA 和 DRAM。6、谈一谈嵌入式系统的发展趋势(列出五个趋势以上)。答:产品种类不断丰富;应用范围不断普及;性能不断提高;功耗不断降低,体积不断缩小;网络化、智能化程度不断提高;软件成为影响价格的主要因素。7、嵌入式开发环境主要包括哪些组件?答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括宿主机目标机(评估电路板)基于 JTAG的 ICD 仿真器、或调试监控软件、或在线仿真器ICE 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境嵌入式操作系统8.请描述建立一个嵌入式开发平台的步骤。(13 分)答:(1)连接主机和目标板(2)使用 flash工具烧写 bootloader (3)配置并启动主机的bootp 服务(4)配置并启动主机的tftp服务(5)使用 tftp下载内核及根文件系统镜像到目标板,重启目标板(6)配置并启动NFS服务(7)在目标板使用mount 挂载主机的目录(8)再次使用bootp 命令确认 bootp 服务是否建立,使用tftp命令确认 tftp服务建立。(9)将内核镜像和根文件系统cp 到 tftp根目录。(10)重启目标板,确认嵌入式linux正常启动。1.什么是嵌入式系统?其特点有些什么?答:嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”特点:1)是专用的计算机系统,用于特定的任务;2)资源较少,可以裁减;3)功耗低,体积小,集成度高,成本低;4)使用实时操作系统;5)可靠性要求更高,具有系统测试和可靠性评估体系;6)运行环境差异大7)大部分程序固化在 ROM中;8)较长的生命周期;9)嵌入式微处理器通常包含专用调试电路2.嵌入式系统的BooTLoader 的功能是什么?答:BootLoader 是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。)3.目前嵌入式操作系统有哪些?答:1)C/OS-II 嵌入式操作系统内核;2)VxWorks 嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统;5)Symbian 操作系统4.构造嵌入式开发环境有哪几种形式?答:1)交叉开发环境;2)软件模拟环境;3)评估电路板文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W15.嵌入式系统开发的基本流程?答:1)系统定义与需求分析;2)系统设计方案的初步确立;3)初步设计方案性价比评估与方案评审论证;4)完善初步方案、初步方案实施;5)软硬件集成测试;6)系统功能性能测试及可靠性测试。6.什么是可编程片上系统?答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC.它是一种特殊的嵌入式系统,首先它是 SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC 基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。7.有时要使用Thumb技术的原因答:(Thumb指令集是把32 位的 ARM 指令集的一个子集重新编码后形成的一个特殊的16 位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM 代码执行的最好性能,可以带来低功耗,小体积,低成本。8.ARM 处理器的工作模式有哪几种?答:1)正常用户模式(usr);2)快速中断模式(fiq);3)普通中断模式(irq);4)操作系统保护模式(svc)或 管理模式;5)数据访问中止模式(abt);6)处理未定义指令的未定义模式(und);7)运行特权级的操作系统任务的系统模式(sys)。9.寄存器 R13,R14,R15的专用功能各是什么?答:1)寄存器 R13保存堆栈指针SP;2)寄存器 R14用作子程序链接寄存器,也称为LR,用以保存返回地址;3)R15(PC)用作程序计数器。10.寄存器 CPSR,SPSR的功能各是什么?答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)在每种异常模式下都有一个对应的物理寄存器程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。11.ARM 的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?答:1)复位(Reset)异常(管理模式);2)未定义指令(undefined instruction)异常(未定义模式);3)软件中断(SWI)异常(管理模式);4)指令预取中止(Prefech Abort)异常(中止模式);5)数据访问中止(Data Abort)(中止模式);6)快速中断请求(FIQ)(FIQ 模式);7)外部中断请求(IRQ)(IRQ 模式)。异常返回指令:1)SWI,未定义的返回:MOVS PC,R14;2)IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4;3)数据中止返回并重新存取:SUBS PC,R14,#8 异常中断的优先级:复位(最高优先级)-数据异常中止-FIQ-IRQ-预取指异常中止-SWI-未定义指令(包括缺协处理器)。12.什么是小端和大端存储器组织?文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址(同同小)。2)大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)。13.什么是数据的边界对齐?答:默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。数据的自然对其方式是指:如果该数据类型是 n 个字节的,那么该数据类型就按n 字节对齐。14.ARM 核现在有哪几种?答:ARM7、ARM9、ARM9E、ARM10E,、SecurCore、ARM11 15.ARM 的寻址方式有哪些?各写一条说明。答:1)立即寻址(1)ADD R0,R0,1/*R0 R0 1*/(2)ADD R0,R0,0 x3f/*R0R00 x3f*/;2)寄存器寻址(ADD R0,R1,R2/*R0 R1R2*/);3)寄存器间接寻址(1)、LDR R0,R1/*R0 R1*/;(2)STR R0,R1/*R1R0*/;4)基址加偏址寻址(1)、LDR R0,R1,4;R0R1 4;(2)、LDR R0,R1,4!;R0 R14、R1 R1 4;(3)、LDR R0,R1,4;R0 R1、R1R14 5)堆栈寻址(1)、STMFD SP!R1-R7,LR;(2)、LDMFD SP!R1-R7,LR;6)块拷贝寻址(1)、LDMIA R0!,R2-R9;(2)、STMIA R1,R2,R9;7)相对寻址16.在 ARM 的立即寻址方式下其立即数如何在指令编码中表示?答:在 ARM数据处理指令中,当参与操作的第二操作数为立即数型时,每个立即数都是采用一个8 位的常数循环右移偶数位而间接得到。其中循环右移的位数由一个4 位二进制的两倍表示,如果立即数记作,8 位常数记作immed_8,4 位的循环右移值记作rotate_imm,有效的立即数是由一个8 位的立即数循环右移偶数位得到。因此有效立即数immediate 可以表示成:=immed_8 循环右移(2rotate_imm)17.指令 ADR,ADRL、LDR、NOP 是如何处理地址值读入到寄存器中的?答:ADR是将基于PC或者寄存器的地址值读入到寄存器的,ADR伪指令通常被替换成一条ADD指令或 SUB指令来实现该 ADR指令的功能。而ADRL伪指令与 ADR指令的最大不同之处是,它可以读取更大范围内的地址,而且被编译器替换成2 条数据处理指令。LDR将一个 32 位的立即数或者一个地址值读取到寄存器中。大范围的地址读取。NOP 在汇编时将被替换成ARM 中的空操作。18.指令 LDR R1,=0 xFFF 是如何将立即数0 xfff读入到 R1的?答:由于需要读取的寄存器的数据超过了MOV 及 MVN 指令可操作的范围,编译器将该常数放在数据缓冲区中,同时用一条基于PC的 LDR指令读取该常数。LDR R1,PC,offset_to_LPOOL.LTORG;声明数据缓冲池LPOOL DCD OxFFF;OxFFF 放在数据缓冲池中。19.如何在 c 语言程序中内嵌汇编?答:内嵌的汇编指令包括大部分的ARM 指令和 Thumb指令,但是不能直接引用C 的变量定义,数据交换必须通过 ATPCS 进行。嵌入式汇编在形式上表现为独立定义的函数体。20.如何在汇编语言程序访问C语言的全局变量?答:汇编程序可以通过地址间接访问在C 语言程序中声明的全局变量。通过使用IMPORT关键词引人全局变量,并利用 LDR和 STR指令根据全局变量的地址可以访问它们。对于不同类型的变量,需要采用不同选项的LDR和 STR指令,如下所示:文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W1文档编码:CK2P8V7K9L3 HM3X7J7V8E7 ZI10S3H10D6W11)unsigned charLDRB/STRB;2)unsigned short LDRH/STRH;3)unsigned int LDR/STR;4)char LDRSB/STRSB;5)Short LDRSH/STRSH 21.在 C 语言程序如何调用汇编语言程序?答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在汇编程序中需要使用EXPORT 伪操作来声明,使得本程序可以被其它程序调用。同时