当前位置:首页 >> 计算机软件及应用 >>

嵌入式系统开发技术复习资料(2017)


嵌入式系统开发技术复习资料(2017 年) 1、考试记分方法: 平时成绩 20%+期末考试 60%+实验 20%=100% 2、考试题型 选择题(40 分) (20 个选择) 问答题(20 分) (4~5 问答题) 填空题(10 分) (暂定填空或者判断) 编程题(20 分) (编程题目 2~3 个) 设计题(10 分) (根据硬件电路图编写程序) 1、理解 ARM 处理器的体系结构 ? ? ? 工作模式 寄存器的组织 异常处理

2、掌握 ARM 的指令格式、寻址方法及其常用的 ARM 指令 3、掌握 ARM 常用的伪指令,并能编写简单的 ARM 应用程序。 4、理解 2410A 处理器硬件结构 5、理解 2410A 处理器的最小系统设计 6、理解 8/16/32 位存储系统接口设计 7、掌握 PWM 定时器及其应用 8、掌握通用端口及其应用 9、重点掌握中断及其中断控制器及其应用。 10、掌握串口的应用及其编程

一、 选择题
1、下列描述中,不属于嵌入式系统特点的是______。 A.实时性强 B.专用性强 C.系统内核小 ) 。 D. windows CE 。 D.R15 D.价钱便宜

2.下列不属于嵌入式实时操作系统的是( A. UNIX B.ucLinux C. uC/OS II

3、在 ARM 中,常用作程序计数器 PC 的寄存器是 A. R12 B. R13 C. R14

4、ARM 的异常中断优先级最高的是________。 A.FIQ B.IRQ C.RESET D.SWI

5、下列________不是使用 S3C2410A 处理器的 I/O 端口时涉及到的特殊功能寄存器。 A.端口控制寄存器 C.端口时钟寄存器 B.端口数据寄存器 D.端口上拉电阻寄存器

6、S3C2410A 处理器的存储器分为 8 个 BANK 空间,常用于 SDRAM 存储空间的起始地址 是 。 A.0X20000000H B. 0X30000000H C. 0X40000000H D. 0X50000000H

7、外部中断掩码寄存器清零时使能相应中断,置 1 时屏蔽中断,在复位的时候 EINTMASK 的值是 。 A、0XFFFFF0H B、0XFFFFFF C、0XFFFFFFF0H D、0XFFFFFFFF PCLK 周期的复位信号。 D. 128 个 位。 D.4 位 个中断请求。

8、当看门狗定时器减到零时,产生 A.16 个 B. 32 个 C. 64 个

9、UART 串行通信中,一帧数据中的起始位有 A.1 位 B.2 位 C.3 位

10、S3C2410X 处理器的中断控制器可以接收 A.24 个 B.32 个 C.56 个 D.64 个

11、RS232-C 串口通信中,表示逻辑 1 的电平是(D ) 。 A、0v C、+5v~+15v B、3.3v D、-5v~-15v

12、 ARM 汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A) 。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 13、IRQ 中断的入口地址是( C) 。 A、0x00000000 C、0x00000018 B、0x00000008 D、0x00000014

14、和 PC 系统机相比嵌入式系统不具备以下哪个特点( C) 。 A、系统内核小 C、可执行多任务 B、专用性强 D、系统精简

15、ADD R0,R1,#3 属于(A)寻址方式。 A. 立即寻址 C. 寄存器直接寻址 16、GET 伪指令的含义是( A) A. 包含一个外部文件 C. 定义一个宏 B. 定义程序的入口 D. 声明一个变量 ) B. 多寄存器寻址 D. 相对寻址

17、和 PC 机系统相比,下列哪个不是嵌入式系统独具的特点( A、系统内核小 可执行多任务 18、ARM 公司是专门从事( A、基于 RISC 技术芯片设计开发 软件设计 B、专用性强 D、系统精简 ) B、ARM 芯片生产

D、ARM 芯片销售 ) B、四级流水线结构 D、六级流水线结构 )都指向同一个物理寄存器,即各模式共享 C、R8-R12 D、R13,R14

19、ARM9 系列微处理器是( A、三级流水线结构 C、五级流水线结构 20、在所有工作模式下, ( A、R0-R7 B、R0-R12

21、当异常发生时,寄存器( 来恢复 CPSR.

)用于保存 CPSR 的当前值,从异常退出时则可由它

A、SPSR

B、R13 D

C、R14 ) 。

D、R15

22、IRQ 中断的优先级别是( A. 1 C. 3 23、LDR B. 2 D. 4

R2,[R3,#128] 的寻址方式是( B. 寄存器移位 D. 间接寻址

C

) 。

A. 寄存器寻址 C. 变址寻址

24、ARM 处理器的工作模式有( C A. 5 C. 7 B.6 D.8

)种。

25、能实现把立即数 0X3FF5000 保存在 R0 中的指令是( A、LDR R0, = 0X3FF5000 C、MOV R0, 0X3FF5000 B、LDR R0, 0X3FF5000 D、MOV R0, =0X3FF5000



26、ARM 指令 LDMIA R0,{R1, R2, R3,R4 } 实现的功能是( R1←[R0],R2←[R0+4],R3←[R0+8],R4←[R0+12] R1←[R0],R2←[R0-1],R3←[R0-2],R4←[R0-3] R1←[R0],R2←[R0+1],R3←[R0+2],R4←[R0+3] R1←[R0],R2←[R0-4],R3←[R0-8],R4←[R0-12] 27、对 ARM 处理器说法不正确的是( A、小体积、低功耗、低成本、高性能 B、支持 Thumb(16 位)/ARM(32 位)双指令集 C、只有 Load/Store 指令可以访问存储器 D、寻址方式多而复杂 28、下列描述不属于 RISC 计算机的特点的是(C) 。 A.流水线每周期前进一步。 B.更多通用寄存器。 C.指令长度不固定,执行需要多个周期。 ) 。



D.独立的 Load 和 Store 指令完成数据在寄存器和外部存储器之间的传输。 29、存储一个 32 位数 0x2168465 到 2000H~2003H 四个字节单元中,若以大端模式存储,则 2000H 存储单元的内容为( D) 。

A、0x21 C、0x65

B、0x68 D、0x02

30、存储一个 32 位数 0x876165 到 2000H~2003H 四个字节单元中,若以小端模式存 储,则 2000H 存储单元的内容为( C) 。 A、0x00 C、0x65 B、0x87 D、0x61

31、若 R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令 LDR R0,[R1,#8]!后 R0 的值为(D ) 。 A. 0x2000 C. 0x2008 B. 0x86 D. 0x39

32、在上机实验中,ADS 开发环境下,调试程序用( A )软件 A、AXD B、Debug C、Gcc ) D、Make

33、指令 MSR CPSR_C,R0 实现的功能是( A 传送 R0 的内容到 CPSR 中,更新 CPSR B 传送 R0 的内容到 CPSR 中,但仅修改其控制域 C 传送 CPSR 的内容到 R0 D 传送 CPSR 的控制域内容到 R0

34、同 CISC 相比,下面哪一项不属于 RISC 处理器的特征(



A 采用固定长度的指令格式,指令规整、简单、基本寻址方式有 2~3 种。 B 减少指令数和寻址方式,使控制部件简化,加快执行速度。 C 数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的 执行效率,同时简化处理器的设计。 D、RISC 处理器都采用哈佛结构。 35、 ( A、RLIST )伪指令用于定义一个代码段或数据段。 B、DCB C、MAP D、AREA )模式不可以自由地改变处理器的工

36、在下列 ARM 处理器的各种模式中,只有( 作模式。 A、用户模式(User) C、终止模式(Abort)

B、系统模式(System) D、中断模式(IRQ) ) B、处理的数据长度只能为 32 位

37、通常所说的 32 位微处理器是指( A、地址总线的宽度为 32 位

C、CPU 字长为 32 位

D、通用寄存器数目为 32 个

38、在 ARM 体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor) , 应采用( )方法。 A 直接修改 CPU 状态寄存器(CPSR)对应的模式 B 先修改程序状态备份寄存器(SPSR)到对应的模式,再更新 CPU 状态 C 使用软件中断指令(SWI) 让处理器执行未定义指令 39、寄存器 R13 除了可以做通用寄存器外,还可以做(C ) 。 A、程序计数器 C、栈指针寄存器 40、FIQ 中断的入口地址是( A) 。 A、0x0000001C C、0x00000018 B、0x00000008 D、0x00000014 B、链接寄存器 D、基址寄存器

41、ARM 指令集和 Thumb 指令集分别是(D )位的。 A. 8 位,16 位 C. 16 位,16 位 B. 16 位,32 位 D. 32 位,16 位

42、ARM 寄存器组有(D )个寄存器。 A、7 C、6 B、32 D、37

42、若 R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令 LDR R0,[R1,#8]!后 R0 的值为(D ) 。 A. 0x2000 C. 0x2008 B. 0x28 D. 0x87

43、寄存器 R15 除了可以做通用寄存器外,还可以做( A) A. 程序计数器 C. 堆栈指针寄存器 44、ARM 指令集是( B)位的。 A. 16 C. 8 B. 32 D. 24 B. 链接寄存器 D. 基址寄存器

45、假设 R1=0x31,R2=0x2 A. 0x33 C. 0x39

则执行指令 ADD R0,R1,R2 LSL #3 后,R0 的值是( C) B. 0x34 D. 0x38

46、寄存器 R13 除了可以做通用寄存器外,还可以做( C) A、程序计数器 C、栈指针寄存器 B、链接寄存器 D、基址寄存器

47、ARM 寄存器组有(C )个状态寄存器 A、7 C、6 B、32 D、37

48、和 PC 机系统相比下列哪个不是嵌入式系统独具的特点(C) A、系统内核小 C、可执行多任务 B、专用性强 D、系统精简

49、嵌入式系统有硬件和软件部分构成,以下(C)不属于嵌入式系统软件。 A. 系统软件 B. 驱动 C. FPGA 编程软件 D. 嵌入式中间件

50、 下列 CPSR 寄存器标志位的作用说法错误的是(D) 。 A. N:负数 B. Z: 零 C. C: 进位 D. V: 借位

51、 有如下程序 main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b); } 该程序的输出结果是 (A) 。 A. a=2 ,b=1 B. a=1, b=1 C. a=1, b=0 D. a=2, b=2

52、 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 (D) 。 A. 函数调用可以作为独立的语句存在 B. 函数调用可以作为一个函数的实参 C. 函数调用可以出现在表达式中 D. 函数调用可以作为一个函数的形参 53、 以下说法正确的是 (C) 。 A. C 语言程序总是从第一个的函数开始执行 B. 在 C 语言程序中,要调用函数必须在 main()函数中定义 C. C 语言程序总是从 main()函数开始执行 D. C 语言程序中的 main()函数必须放在程序的开始部分 54、 寄存器 R15 用作( A. 栈指针寄存器 C. 当前程序状态寄存器 B ) 。

B. 程序计数器 D. 基地址寄存器

55.通用计算机中使用的内存条属于________。 A. SRAM B. DRAM C. FLASH D. EEPROM 56.ARM 寄存器中,用于保存程序断点地址,便于子程序或中断程序正确返回 的寄存器是_____________。 A. LR B. PC C. CPSR D. SPSR 57.指令 LDR R0, [R1], #4 表示的意思是_____________。 A. R0=mem32[R1+4] C. R0=R1+4 A. ED A.SP A.字符数据 A.*.s A.8 位 A. UNIX B. FD B.LR B. R0=mem32[R1+4] ; R1=R1+4 D. R0=mem32[R1] ; R1=R1+4 C. EA C.CPSR B.8 位数据 B.*.b B.10 位 B. WinCE D. FA D.SPSR C.16 位半字 C.*.h C.12 位 C. uC/OS II D.32 位的字 D.*.c D.16 位 D. VxWorks

58.ATPCS 中规定,数据堆栈使用的是___________类型。 59.ARM 寄存器组中,用于保存当前程序运行状态的是_______。 60.从指令 LDRH R0, [R2]可知道,执行结束后,R0 中存放的数据是________。 61.下列__________文件不可能出现在 ARM 源程序中。 62.S3C2410X 处理器内集成 A/D 转换模块的数据宽度是_____。 63.下列不属于嵌入式实时操作系统的是( ) 。

64.下列________不可能做嵌入式系统的中央处理单元。 A. DSP A. LR B. FPGA B. PC C. USB 接口芯片 C. CPSR D. 微处理器 D. SP 65.ARM 寄存器中,用于保存程序堆栈地址的是__________。 66.ARM 的嵌入式程序设计中,若子程序调用过程中带参数,则使用寄存器或 堆栈来传递,具体第二个参数使用_______来传递。 A. 堆栈 A.低级语言 A. 8 位 B. R1 B.高级语言 B. 16 位 C. R2 C.混合语言 C. 26 位 D. 32 位 D. R3 D. 没有关系 67.为了方便程序移植和重用,软件设计通常采用______。 68.Thumb 指令的编码是_________。 69.指令 LDR R0, [R1, #8]表示的意思是_____________。 A. R=mem32[R1+8] C. R0=R1+8 A.FIQ _________。 A.0xF200 是________。 A.8MB A、3
二、

B. R0=mem32[R1+8] ; R1=R1+8 D. R0=mem32[R1] ; R1=R1+8

70.下列中断中,响应时间最快的是_______。 B.IRQ C.向量中断 D.非向量中断 71.ARM 指令中,对于直接寻址的立即数存在合法性,下列不合法的立即数是 B.0x128 C.0x101 D.0x1080

72.S3C2410A 处理器的存储器分为 8 个 BANK 空间,每个 Bank 空间的最大容量 B.32MB C、5 C.64MB D、6 D.128MB

73、S3C2410A 中有多少个 PWM 定时器。 B、4
填空题

1、嵌入式系统的设计可以分成三个阶段:分析、 设计

和 实现 2、目前使用的嵌入式操作系统主要有 Windows CE/Windows MobileLinux、 uCos、和 Symbian 3、XScale 微处理器使用的是 ARM 公司 ARMV5TE 版内核和指令 集 4、微处理器有两种总线架构,使用数据和指令使用同一接口的是 冯诺依 曼 ,分开的指令和数据接口、取指和数据访问可以并行进行的是 哈 佛结构 5、ARM 微处理器有七种工作模式,它们分为两类 非特权模式 、 特权 模式 。其中用户模式属于 非特权模式 6、ARM 核有两个指令集,分别是 ARM 、 Thumb 、

7、ARM 微处理器复位后,PC(R15)的地址通常是 模式是 supervisor。 8、ARM 微处理器复位后,PC(R15)的地址通常是

0X0 .初始的工作

0X0



9、在 ARM 体系构架中对复杂的内存管理是通过系统控制协处理器 cp15 和 MMU(存储管理部件)来进行的。当系统发生 Data Abort(数据)异常 和 Prefetch Abort(指令领取) 异常时,异常处理程序透过嵌入式操作系 统的内存管理机制,通过 MMU 交换物理内存和虚拟内存的页面,以保证程 序正常执行。 10 、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU 工具链 ,ARM 公司提供的工具链是 ADS 工具链 11、ARM 处理器有两种总线架构,数据和指令使用同一接口的是,数据和指 令分开使用不同接口的是 。 12、ARM 核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用 寄存器,寄存器用于存储 PC,R13 通常用来存储。 13、ARM 支持两个指令集, ARM 核因运行的指令集不同,分别有两个状态、 , 状态寄存器 CPSR 的位反映了处理器运行不同指令的当前状态。
14、串行通信方式有三中单工通信、双工通信和半双工通信。 15、ARM7 指令系统采用三级流水线指令,分别包括:取指、译码和执行。 16、在 ARM 处理器的各种模式中,大多数应用程序运行在(用户)模式,当一个高优 先级中断产生时会进入(快速中断)模式,在复位或软件软中断时进入(特权)模式 17、ARM 存储器有两种存储模式,即大端模式和小端模式。假设 Y=0x46134 存储在 2000H~2003H 四个内存单元中, 若以小端模式存储, 则 (2000H) =__0x34 __、 (2001H) = 0x61 _、 (2002H)=_0x04_、 (2003H)=__0x00__。 18、在 CPU 的状态寄存器中,如果符号标志为“1”,表示运算结果为(负) ;如果进位标 识为“0”,表示(无进位或借位) 。 19、一个嵌入式系统结构有典型的四层组成,包括:硬件层、中间层、软件层 层。 三、简答题 和功能

1.什么是嵌入式系统,请至少举出 10 种嵌入式系统的产品。 2.嵌入式系统与 PC 机的主要区别有那些? 3.请举例说明嵌入式 C 程序设计中,使用冗余变量的作用。 4.ARM 的异常中断包含哪些类型?它们的优先级顺序是怎样? 5、BIC 指令的作用是什么? 6、如何在特权模式下用 ARM 汇编指令使能 IRQ 中断 7、在存储和加载中,“!”的功能是什么? 8、在执行 SWI 指令时会发生什么?

9、SWP 指令的优点是什么? 10、BX 指令和 BL 指令有什么不同? 11、CMP 指令的操作数是什么?写一个程序,判断 R1 的值是否大于 0X30,是则 将 R1 减去 0X30 12、在用户模式或系统模式下读取 SPSR 寄存器会有何结果? 13、在 S3C2410A 处理器中,有哪些 I/O 只能设置为 GPIO 输出模式。

14、嵌入式开发环境主要包括哪些组件?
答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括 ? 宿主机 ? 目标机(评估电路板) ? 基于 JTAG 的 ICD 仿真器、或调试监控软件、或在线仿真器 ICE ? 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境 ? 嵌入式操作系统 15、ARM 核中什么寄存器用于存储 PC?R13 通常用来存储什么?R14 通常用来 存储什么? 答:R15 用于程序计数寄存器 PC,R13 通常用来做堆栈指针寄存器,R14 通常用 来做链接寄存器,保存函数调用的返回地址
16、什么是大端格式,什么是小端格式,在 RAM920T 内核的系统中,常采用什么模式? 17、简述 S3C2410 的 I/O 端口的控制寄存器,数据寄存器、上拉电阻允许寄存器的作用? 18、S3C2410 的中断模式有哪两种,如何设置中断模式? 19、S3C2410 UART 的波特率如何确定的? 20、ARM 处理器有几种工作模式?并做说明每种工作模式的含义。

21、目前使用的嵌入式操作系统主要有哪些?请举出四种较常用的。 22、ARM 系统中的堆栈有四种,如下图。请按图标出四种堆栈的类型。ATPCS 编 程规范约定使用的堆栈是哪一种? 23、请根据实验环境环境,阐述如何搭建一个嵌入式开发环境? 24、简述再进行基于 ARM 核的嵌入式系统软件开发时,调用如下函数的规则约 定。 25、简述嵌入式系统的概念、组成及特点。 答:嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适 用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。 一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程 序等四个部分组成。 其特点有 ? 嵌入式系统通常是面向特定应用的 ? 嵌入式系统是将先进的计算机技术、 半导体技术和电子技术与各个行业 的具体应用相结合后的产物 ? 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余 ? 嵌入式系统和具体应用有机地结合在一起, 它的升级换代也是和具体产 品同步进行 ? 为了提高执行速度和系统可靠性, 嵌入式系统中的软件一般都固化在存

储器芯片或单片机本身中 嵌入式系统本身不具备自举开发能力 26、ARM 处理器有几种工作模式?并做说明每种工作模式的含义。 27、比较 Nandflash 与 Norflashde 的异同? 28、简述 BLX、SWI、STM、LDM、MOV、MVN 的含义。 29、ARM 常见的寻址方式有哪些?

四、根据要求,编写程序
1、写一条 ARM 指令,完成操作 r1 = r2 * 4 2、 初始值 R2=5,R3=4,R4=3,执行指令 SUBS R2, R3,R4,LSR #2 后,寄存 器 R2,R3 的值分别是多少? 3、说明指令 STMIA r12!, {r0-r11}的操作功能。 4、请写一段程序,关闭中断; 5、请写一段程序,开启中断; 6、 请写一段程序,改变处理器的工作状态; 7、下面的 ARM 指令完成什么功能 ①LDRH R0,[R1,#6] ②LDR R0,=0X999

8、在下列汇编调用 C 程序的执行过程中,除 R0、R1、R2、R3 外,还有哪些寄存 器参与了程序的执行过程?程序执行完后,寄存器 R0、R1、R2、R3 的值分别是 多少? int g(int a,int b,int c,int d,int e) { return a+b+c+d+e } AREA f, CODE READONLY IMPORT g MOV R0,#10 ADD R1,R0,R0 ADD R2,R1,R0 ADD R3,R1,R2 STR R3,[SP,#-4]! ADD R3,R1,R1 BL g END 9、阅读下面的程序,除了 r0 和 r1 外,执行这段程序还需要哪些寄存器的 参与?并说明程序执行过程中,R0 和 R1 的数值变化过程。 .equ .equ x,45 y,64

.equ .text _start:

stack_top,0x1000

.global _start

MOV MOV STR MOV LDR ADDS STR LDR MOV SUB STR Stop: B

sp,#stack_top r0,#x r0,[sp] r0,#y r1,[sp] r0,r0,r1 r0,[sp] r1,[sp] r0,#x r1,r1,r0 r1,[sp] stop

.end 10、有如下程序段,画出程序流程图,并回答执行程序以后 R0 的值是多少。
num start MOV MOV MOV BL r0, #1 r1, #6 r2, #3 arithfunc EQU 2

stop B stop arithfunc CMP r0, #num MOVHS pc, lr ADR r3, JumpTable LDR pc, [r3,r0,LSL#2] JumpTable DCD (.WORD) DoA ;注意:使用 ADS 开发工具用伪指令 DCD DCD (.WORD) DoS ; 使用 GNU 开发工具用伪指令.WORD DoA ADD r0, r1, r2 MOV pc, lr DoS

SUB MOV END

r0, r1, r2 pc,lr

答: R0 为 0 执行 DoA,R0 为 0 执行 DoS,流程图略。R0=5。 11、有程序段如下,实现下面流程图,试补充编写 ARM 汇编代码。

start
YES

r0=r1?
NO

stop

YES

r0>r1?

NO

r0 = r0 - r1

r1 = r1 - r0

程序段: MOV r0, #15 MOV r1, #9 start CMP r0,r1 SUBLT r1,r1,r0 SUBGT r0,r0,r1 BNE start stop B stop END 12、写一段 ARM 汇编程序:循环累加队列 myarray 中的所有元素,直到碰上零值

元素,结果放在 r4 中。程序框架如下,补充代码完成上述功能。 (15 分) AREA total, CODE READONLY ENTRY start MOV r4, #0 ADR r0, myarray ;在此补充代码
13、 这是一个由源程序 strtest.c 和 scopy.s 组成的混合程序项目, 通过调用 strcopy 完成 字符串复制,程序代码如下。要求阅读程序,在程序中的注释符“//”后,说明该句程序的

作用,并说明 extern 和 EXPORT 伪指令的在程序中的作用。 14、请解释下列程序中的各条指令: xequ 45 yequ 64 stack_topequ0x1000 AREA example ,code readonly Code 32 entry start: mov sp, #stack_top movr0, #x str r0, [sp] mov r0, #y ldr r1, [sp] add r0, r0, r1 strr0, [sp] stop: b stop end 15、ARM 指令集的每一条指令都是 4 字节的,下面是一段中断入口程序,在空白处填上该 中断的类型和中断向量。 ENTRY B B B B B NOP; B B IRQHandle FIQHandle Startup UndefHandle SWIHandle PAbtHandle DAbtHandle ; ; ; ; ; ; ; ; 复位中断,0x00 1分 1分 1分 1分

未定义指令中断,0x04 软中断,0x08 预取中止,0x0C 数据中止,0x00000010

系统保存未用,0x00000014 IRQ 中断,0x18 快速中断,0x1C 1分 1分

15、 编写一段 C 语言与汇编语言的混合代码, 在 C 语言程序中调用汇编语言代码, 完成字符串 str1 与字符串 str2 内容的互换。其中 str1=“how are you! ” ,str2= “good morning” 。 16、如何实现类似于 C 语言中的 if-then-else 功能的 ARM 代码段?程序功能为求 最大公约数。 17、用 ARM 汇编实现比较两个串的大小,代码执行前,R0 指向第 1 个串,R1 指向第 2 个串,代码执行后,R0 中保存比较结果,如果两个串相同,R0 为 0; 如果第 1 个串大于第 2 个串,R0>0;如果第 1 个串小于第 2 个串,R0<1 18、 用 ARM 汇编实现简单的数据块复制。 程序一次将 8 个字数据从 R0 作为收地 址的一段连续的内存单元复制到 R1 作为首地址的一段连续的内存单元。代码执

行前 R0 为源数据区首地址,R1 为目标数据区首地址,R2 为将要复制的字数。 19、寄存器 R0 和 R1 中有两个正整数,求这两个数的最大公约数,结果存在 R0 中 20、寄存器 R0,R1 和 R2 中有三个数,求其中的最大的一个,结果存储在 R3。 21、对 N 个数进行从小到大排序。 22、编程实现将从地址 src 开始的 num 个字的数据复制到地址 dst 去。 23、利用跳转表实现分支转移。 寄存器 R1,R2 中有两个数,若 R0 为 0 则求 R1 与 R2 的和,若 R0 为 1 则求 R1 与 R2 的差,结果存在 R0 中。 Int DoADD(int a,int b) { return a+b; } Int DOSUB(int a,int b) { return a-b; } Void main() { int R0=0; int R1=3; int R2=2 switch(R0) { case 0: arithfunc=doadd; R0=arithfunc(r1,r2); break; case 1: arithfunc=doadd;

R0=arithfunc(R1,R2); break; default: break; } while(1); }

五、根据硬件电路图,编写程序 1、 编程实现实验板上的发光二极管 LED1→LED2→LED3→LED4 轮流点亮和熄灭。

2、 设置 GPF4 引脚为外部中断 EINT4 功能, 下降沿触发模式。 初始化 S3C2410A 中断控制器, 设置 EINT4 为 IRQ 中断,并使能中断允许。初始化完成后,等待外部中断产生,当中断产 生时,蜂鸣器发出叫声。
VDD33

LED1

VDD33 S3C2410A R39 10K KEY1 R181 GPF4/EINT4 22 GPE11 1K R101 Q9 8050 R139 470


相关文章:
粤嵌开发板电子相册嵌入式课程设计_图文
需求为导向进行研发,特别是像嵌入式种工程类的技术...2017.6.12 2.工程设计方案 2.1 系统方案设计目前...开始时很多步骤都记不太清楚了,所以又复习了一遍...
更多相关标签: