嵌入式复习题(非常全_适合期末复习)
- 格式:doc
- 大小:363.88 KB
- 文档页数:25
嵌入式ARM期末考试试卷及复习题一、填空题(请将答案填入题后括号中):共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、下面哪种操作系统最方便移植到嵌入式设备中。
1、ARM 微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。
其中用户模式属于 非特权模式ARM 处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结4、ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的工作模式是Supervisor 。
5、ARM 微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进行虚拟内存的存储和管理。
当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU 交换物理内存和虚拟内存的页面,以保证程序正常执行。
6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 打断对齐7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU 工具链 ,ARM 公司提供的工具链是 ADS 工具链计算机有CISC 和RISC 两种类型,以ARM 微处理器为核心的计算机属于 RISC 类型,其指令长度是 定长的1、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六2、ARM 系统中的堆栈有四种,如下图。
请按图标出四种堆栈的类型。
ATPCS 编程规范约定使用的堆栈是哪一种?答:FD 、FA 、ED 、EA 。
ATPCS 编程规范约定使用的堆栈是FD3、Boot Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。
通过Boot Loader ,初始化硬件设备,建立内存和I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。
2、ARM 支持两个指令集,ARM 核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR的T 位反映了处理器运行不同指令的当前状态3、ARM 核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC ,R13通常用来存储 SPHi Address Hi Address4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows 主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?1、答:RS-232,以太网口、并口在Windows主机上使用超级终端软件在Linux主机上使用Minicom软件5嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括●宿主机●目标机(评估电路板)●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE●运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境●嵌入式操作系统6 在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么方式从调用程序传入被调函数?根据ATPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。
嵌入式期末试题及答案[注意:本文章以题目的方式展示试题及答案,下文并未出现实际试题]引言在嵌入式系统的学习中,期末试题是评估学生对于该学科知识和技能掌握程度的重要方式之一。
本文将为大家提供一份嵌入式期末试题及答案,帮助大家更好地准备和复习期末考试内容。
多选题1. 下列哪些是嵌入式系统的特征?(多选)a. 嵌入式系统通常包含少量资源b. 嵌入式系统的应用范围广泛c. 嵌入式系统的功耗可以忽略不计d. 嵌入式系统的性能要求较低答案:a、b2. 嵌入式系统中,以下哪项属于输入设备?(多选)a. 键盘b. USB接口c. 音箱d. 显示器答案:a、b、d填空题3. 嵌入式系统是指将计算机技术和________集成的特定功能设备。
答案:电子技术4. 嵌入式系统的一个重要特点是对系统的稳定性和________性的要求较高。
答案:可靠简答题5. 简述嵌入式系统和通用计算机的区别。
答案:嵌入式系统通常针对特定的应用领域,它的硬件资源和软件功能相对简单,功耗低,且具有可靠性要求高的特点。
通用计算机则更注重通用性,能够运行复杂的应用软件,它的硬件资源和软件功能相对丰富。
编程题6. 编写一个C语言程序,实现将一个整数数组逆序输出的功能。
答案:```c#include <stdio.h>void reverseArray(int arr[], int size) { int start = 0;int end = size - 1;while (start < end) {int temp = arr[start];arr[start] = arr[end];arr[end] = temp;start++;end--;}}int main() {int arr[] = {1, 2, 3, 4, 5};int size = sizeof(arr) / sizeof(arr[0]); reverseArray(arr, size);for (int i = 0; i < size; i++) {printf("%d ", arr[i]);}return 0;}```总结本文提供了一份嵌入式期末试题及答案,涵盖了嵌入式系统的特征、输入设备、嵌入式系统和通用计算机的区别以及编程题等内容。
嵌入式期末复习题_(含答案)期末考试复习题一、填空题1. ARM微处理器有7种工作模式,它们分为两类_特权模式_、_非特权模式_其中用户模式属于_非特权模式__。
2. ARM微处理器共有__37_个__32__位寄存器,其中__31_个为通用寄存器,_6___个为状态寄存器。
3. 嵌入式系统一般哪4个部分组成( 嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件)4. 协处理器主要控制:___片内的MMU __、___指令和数据缓存___、___写缓冲___。
5. ARM嵌入式系统主要由___相关支撑硬件___、___ARM处理器___和__嵌入式软件系统____构成。
6. S3C2410芯片外部寻址空间是1G,被分成___8__个存储块,每块_ 128 _MB。
SDRAM 存储器应连接到第____7或8__个存储块。
7. 操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、内存管理、文件系统管理、I/O资源管理。
8. 常用的嵌入式外围设备有存储设备_、通信设备____和___显示设备___三类。
10. 嵌入式系统是用来控制或者监视哪些设备( )11. 嵌入式系统的三个基本要素。
引导程序内核文件系统12. 链接分为:(硬链接)和( 软链接)。
13. 数据寄存器,其中控制寄存器的主要功能是设置_引脚的功能_,数据寄存器的功能是从寄存器读取数据或者向寄存器写入数据。
15. 目前流行的嵌入式操作系统主要有:_ WinCE_、_ Vxworks__、_ Linux/μCLinux_和_μC/OS-II、PalmOS____。
16. 嵌入式操作系统的调试一般包括:___操作系统__调试和___应用程序__调试。
17. ARM字数据存储格式有:大端格式和小端格式。
18. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:( 644 ),该文件属性是( 目录)。
嵌入式期末考试卷十套嵌入式系统期末考试卷一、选择题(每题2分,共20分)1. 嵌入式系统通常是指:A. 用于嵌入式应用的软件B. 运行在嵌入式设备上的操作系统C. 一种小型的计算机系统,用于控制或监视设备D. 一种大型的计算机系统,用于复杂的数据处理2. 下列哪项不是嵌入式系统的特点:A. 可扩展性B. 实时性C. 资源受限D. 专用性3. 嵌入式操作系统(RTOS)的主要功能不包括:A. 任务调度B. 内存管理C. 文件系统管理D. 网络通信4. 以下哪个不是嵌入式系统中的编程语言:A. CB. C++C. JavaD. Python5. 在嵌入式系统中,中断服务程序(ISR)的主要作用是:A. 执行系统初始化B. 处理系统异常C. 响应外部事件D. 执行定时任务6. 以下哪个不是嵌入式系统开发过程中的步骤:A. 需求分析B. 系统设计C. 硬件选型D. 软件测试7. 在嵌入式系统中,固件通常指的是:A. 硬件B. 软件C. 介于硬件和软件之间的程序D. 操作系统8. 以下哪个是嵌入式系统开发中常用的硬件描述语言:A. VHDLB. HTMLC. XMLD. SQL9. 在嵌入式系统中,看门狗定时器的主要作用是:A. 监控系统时间B. 监控系统温度C. 监控系统电源D. 监控系统运行状态,防止死锁10. 以下哪个是嵌入式系统中的存储设备:A. RAMB. ROMC. 硬盘D. 显示器二、填空题(每空1分,共10分)1. 嵌入式系统的核心是______,它负责协调和管理整个系统。
2. 嵌入式系统软件通常由______、应用程序和设备驱动程序组成。
3. 嵌入式系统中的中断优先级是指中断服务程序的______。
4. 嵌入式系统中,______是一种常见的通信协议,用于设备间的通信。
5. 在嵌入式系统中,______是一种用于存储程序和数据的非易失性存储器。
6. 嵌入式系统中的______是用于控制和管理硬件资源的软件。
1、ARM 微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。
其中用户模式属于 非特权模式ARM 处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结4、ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的工作模式是Supervisor 。
5、ARM 微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进行虚拟内存的存储和管理。
当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU 交换物理内存和虚拟内存的页面,以保证程序正常执行。
6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 打断对齐7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU 工具链 ,ARM 公司提供的工具链是 ADS 工具链计算机有CISC 和RISC 两种类型,以ARM 微处理器为核心的计算机属于 RISC 类型,其指令长度是 定长的1、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六2、ARM 系统中的堆栈有四种,如下图。
请按图标出四种堆栈的类型。
ATPCS 编程规范约定使用的堆栈是哪一种?答:FD 、FA 、ED 、EA 。
ATPCS 编程规范约定使用的堆栈是FD3、Boot Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。
通过Boot Loader ,初始化硬件设备,建立内存和I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。
2、ARM 支持两个指令集,ARM 核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR的T 位反映了处理器运行不同指令的当前状态3、ARM 核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC ,R13通常用来存储 SPHi Address Hi Address4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows 主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?1、答:RS-232,以太网口、并口在Windows主机上使用超级终端软件在Linux主机上使用Minicom软件5嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括●宿主机●目标机(评估电路板)●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE●运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境●嵌入式操作系统6 在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么方式从调用程序传入被调函数?根据ATPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。
(完整word版)嵌⼊式系统复习及答案⼀、单项选择题1、下⾯关于哈佛结构描述正确的是(A )。
A、程序存储空间与数据存储空间分离B、存储空间与IO空间分离C、程序存储空间与数据存储空间合并D、存储空间与IO空间合并2、下⾯哪⼀种⼯作模式不属于ARM特权模式(A )。
A、⽤户模式B、管理模式C、软中断模式D、FIQ模式3、ARM9TDMI的⼯作状态包括( D )。
A、测试状态和运⾏状态B、挂起状态和就绪状态C、就绪状态和运⾏状态D、ARM状态和Thumb状态4、指令“LDMIA R0!, {R1, R2, R3, R4}”的寻址⽅式为( C )。
A、⽴即寻址B、寄存器间接寻址C、多寄存器寻址D、堆栈寻址5、对寄存器R1的内容乘以4的正确指令是( C )。
A、LSR R1,#2B、LSL R1,#2C、MOV R1,R1, LSL #2D、MOV R1,R1, LSR #26、下⾯指令执⾏后,改变R1寄存器内容的指令是( D )。
A、TST R1,#2B、ORR R1,R1,R1C、CMP R1,#2D、EOR R1,R1,R17、下⾯哪⼀种功能单元不属于I/O接⼝电路。
( D )A、USB控制器B、UART控制器C、以太⽹控制器D、LED8、下⾯哪个操作系统是嵌⼊式操作系统。
(B )A、Red-hat LinuxB、µCLinuxC、Ubuntu LinuxD、SUSE Linux9、使⽤Host-Target联合开发嵌⼊式应⽤,( B )不是必须的。
A、宿主机B、银河麒麟操作系统C、⽬标机D、交叉编译器10、下⾯哪个系统不属于嵌⼊式系统( D )。
A、MP3播放器B、GPS接收机C、“银河⽟衡”核⼼路由器D、“天河⼀号”计算机系统11. RS232-C串⼝通信中,表⽰逻辑1的电平是(D )A、0VB、3.3VC、+5V~+15VD、-5V~-15V12. 下列不属于RISC计算机特点的是(C)。
嵌入式系统设计与开发期末考试复习题
一、选择题(每题2分,共30分)
1. 若某个系统的时钟频率为100MHz,其周期为:
- A. 100 ns
- B. 1 μs
- C. 10 μs
- D. 100 μs
2. 下列哪个是嵌入式系统常用的通信总线?
- A. USB
- B. SATA
- C. PCI
- D. I2C
3. 在C语言中,以下哪个关键字用来定义结构体?
- A. int
- B. struct
- C. define
- D. typedef
4. 嵌入式系统中的内部存储器是指:
- A. DRAM
- B. ROM
- C. Flash
- D. Cache
5. 下列哪个不属于嵌入式系统开发的常见编程语言?- A. C
- B. Java
- C. Python
- D. Assembly
...
二、简答题(每题10分,共30分)
1. 什么是嵌入式系统?举例说明。
2. 请简要描述一下嵌入式系统的设计流程。
3. 嵌入式系统的存储器和寄存器之间有何区别?
...
三、编程题(每题20分,共40分)
1. 请使用C语言编写一个简单的LED闪烁程序,要求将LED
的GPIO口配置为输出,并在循环中实现LED的闪烁。
2. 请使用Verilog HDL设计一个简单的计数器,从0开始计数,每秒加1,将计数结果输出到七段数码管。
...
以上是《嵌入式系统设计与开发期末考试复习题》的内容,希
望能帮助你进行复习。
祝你考试顺利!。
嵌入式复习题(最后完整版)第一章:1、什么是嵌入式系统?嵌入式系统是一应用为中心,以及设计技术为基础,软/硬件可裁剪。
功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。
1.2 与通用计算机相比,嵌入式系统有哪些特点? 1).嵌入式系统通常是面向特定应用的;2).嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科;3).嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期;4).为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中;5).嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。
3、根据嵌入式系统的复杂程度,嵌入式系统可以分为哪4类? 1) 单个微处理器:2) 嵌入式处理器可扩展的系统: 3) 复杂嵌入式系统:4) 在制造或过程控制中使用的计算机系统 4、举例说明嵌入式微处理器有哪几类?嵌入式微处理器、嵌入式微控制器、嵌入式DSP,嵌入式片上系统(ESOC) 1.5从硬件系统来看,嵌入式系统由哪几个部分组成?画出简图。
1、哈佛体系结构与冯诺依曼体系结构有何不同?哈佛结构和冯.诺依曼结构都是一种存储器结构。
哈佛结构是将指令存储器和数据存储器分开的一种存储器结构;而冯.诺依曼结构将指令存储器和数据存储器合在一起的存储器结构。
相对于冯・诺依曼结构,哈佛结构更加适合于那些程序固化、任务相对简单的控制系统。
4、ARM处理器有哪几种工作模式?各种工作模式分别有什么特点?(第二版)答:User:用户模式。
绝大部分的任务执行都在这种操作模式下,此为正常的程序执行模式。
FIQ:快速中断模式。
当一个高优先级中断产生时,系统将会进入这种操作模式,用于高速数据传输和通道处理,由FIQ请求位发出请求信号。
1、ARM 微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。
其中用户模式属于 非特权模式4、ARM 微处理器复位后,PC 的地址通常是 0x0 ,初始的工作模式是Supervisor 。
5、ARM 微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU (存储管理部件)来进行虚拟内存的存储和管理。
当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU 交换物理内存和虚拟内存的页面,以保证程序正常执行。
6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 打断对齐7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU 工具链 ,ARM 公司提供的工具链是 ADS 工具链计算机有CISC 和RISC 两种类型,以ARM 微处理器为核心的计算机属于 RISC 类型,其指令长度是 定长的1、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile 、VxWork 、Linux 、uCos 、Symbian 、QNX 任选六2、ARM 系统中的堆栈有四种,如下图。
请按图标出四种堆栈的类型。
ATPCS 编程规范约定使用的堆栈是哪一种?答:FD 、FA 、ED 、EA 。
ATPCS 编程规范约定使用的堆栈是FD3、Boot Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。
通过Boot Loader ,初始化硬件设备,建立内存和I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。
2、ARM 支持两个指令集, ARM 核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR 的 T 位反映了处理器运行不同指令的当前状态3、ARM 核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC ,R13通常用来存储 SP ,ARM 处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼结构 ,数据和指令分开使用不同接口的是 哈佛结构Hi Address Hi Address4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows 主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?1、答:RS-232,以太网口、并口在Windows主机上使用超级终端软件在Linux主机上使用Minicom软件5嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括●宿主机●目标机(评估电路板)●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE●运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境●嵌入式操作系统6 在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么方式从调用程序传入被调函数?根据ATPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。
因此arg1通过R0传入,arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六1、写一条 ARM 指令,完成操作r1 = r2 * 3(4分)ADD R1,R2,R2,LSL #12、初始值R1=23H,R2=0FH执行指令BIC R0,R1,R2,LSL #1后,寄存器R0,R1的值分别是多少?(4分)R0=21H,R1=23H3、说明指令STMIA r12!, {r0-r11}的操作功能。
(4分)将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。
4、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。
程序框架如下,补充代码完成上述功能。
(8分)AREA total, CODE READONLYENTRYstartMOV r4, #0ADR r0, myarray;在此补充代码loopLDR r1, [r0], #4ADD r4, r4, r1CMP r1, #0BNE loop5、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。
要求阅读程序,在程序中的注释符“//”后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。
(8分)strtest.c#include <stdio.h>extern void strcopy(char *d, const char *s);int main(){ const char *srcstr = "First string - source";char dststr[] = "Second string - destination";printf("Before copying:\n");printf(" '%s'\n '%s'\n",srcstr,dststr); //strcopy(dststr,srcstr); //printf("After copying:\n");printf(" '%s'\n '%s'\n",srcstr,dststr);//return 0;}scopy.sAREA SCopy, CODE, READONLYEXPORT strcopystrcopyLDRB r2, [r1],#1 ;STRB r2, [r0],#1 ;CMP r2, #0 ;BNE strcopy ;MOV pc,lr ;END//输出源串和目标串(8分)//调用strcopy函数//输出复制后的源串和目标串;r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1;测试串尾标志\0;非零转标号strcopy;返回一、程序测试题(共24分)1、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。
程序框架如下,补充代码完成上述功能。
(8分)AREA total, CODE READONLYENTRYstartMOV r4, #0ADR r0, myarray;在此补充代码答:loopLDR r1, [r0], #4ADD r4, r4, r1CMP r1, #0BNE loopstopB stopmyarrayDCD 0x11DCD 0x22……DCD 0x0END2、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。
(8分)num EQU 2startMOV r0, #0MOV r1, #5MOV r2, #2BL funcstopB stopfuncCMP r0, #numMOVHS pc, lrADR r3, JumpTableLDR pc, [r3,r0,LSL#2]JumpTableDCD DoADCD DoSDoAADD r0, r1, r2MOV pc, lrDoSSUB r0, r1, r2MOV pc,lrEND答:R0为0调用DoA,R0为1调用DoS,R0大于2直接返回,流程图略。
R0=7 3、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。
要求阅读程序,在程序中的注释符后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。
(8分)strtest.c#include <stdio.h>extern void strcopy(char *d, const char *s);int main(){ const char *srcstr = "First string - source";char dststr[] = "Second string - destination";printf("Before copying:\n");printf(" '%s'\n '%s'\n",srcstr,dststr); //输出源串和目标串strcopy(dststr,srcstr); //调用strcopy函数printf("After copying:\n");printf(" '%s'\n '%s'\n",srcstr,dststr);//输出复制后的源串和目标串return 0;}scopy.sAREA SCopy, CODE, READONLYEXPORT strcopystrcopyLDRB r2, [r1],#1 ; r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1STRB r2, [r0],#1 ;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1CMP r2, #0 ;测试串尾标志\0BNE strcopy ;非零转标号strcopyMOV pc,lr ;返回END一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。
1、一般而言,嵌入式系统的构架可以分为4个部分:分别是(处理器)、存储器、输入/输出和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。
2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式DSP处理器),(嵌入式微处理器)以及片上系统。
3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(进程管理)、进程间通信、(内存管理)、I/O资源管理。
4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其中实时系统亦可分为(硬实时系统)和软实时系统。