最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

嵌入式系统期末考试题

来源:动视网 责编:小OO 时间:2025-09-25 03:05:50
文档

嵌入式系统期末考试题

南昌大学2007~2008学年第一学期期末试卷一、填空题(每空2分,共40分)1、ARM微处理器有7种工作模式,它们分为两类非模式、模式。其中用户模式属于非模式2、ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM、Thumb,状态寄存器CPSR的T位反映了处理器运行不同指令的当前状态3、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15寄存器用于存储PC,R13通常用来存储SP4、ARM处理器有两种总线架构,数据和指令使用同一接口的
推荐度:
导读南昌大学2007~2008学年第一学期期末试卷一、填空题(每空2分,共40分)1、ARM微处理器有7种工作模式,它们分为两类非模式、模式。其中用户模式属于非模式2、ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM、Thumb,状态寄存器CPSR的T位反映了处理器运行不同指令的当前状态3、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15寄存器用于存储PC,R13通常用来存储SP4、ARM处理器有两种总线架构,数据和指令使用同一接口的
南昌大学 2007~2008学年第一学期期末试卷

一、填空题(每空2分,共40分)  

1、ARM微处理器有   7种工作模式,它们分为两类  非模式      、   模式          。其中用户模式属于   非模式           

2、ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态    ARM     、 Thumb      ,状态寄存器CPSR的  T   位反映了处理器运行不同指令的当前状态

3、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,    R15  寄存器用于存储PC,R13通常用来存储    SP    

4、ARM处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼     ,数据和指令分开使用不同接口的是    哈佛结构       

5、ARM微处理器复位后,PC的地址通常是 0x0  ,初始的工作模式是Supervisor  。        

6、ARM微处理器支持虚拟内存,它是通过系统控制协处理器 CP15    和MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生    数据       异常和    指令领取   异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。

7、编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐    ,另一种是   打断对齐       

8、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链    ,ARM公司提供的工具链是 ADS工具链  

9、计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于       RISC、        类型,其指令长度是    定长的           。

二、指令测试题(共12分)

1、写一条 ARM 指令,完成操作r1 = r2 * 3(4分)

ADD R1,R2,R2,

LSL #1

2、初始值R1=23H,R2=0FH执行指令BIC  R0, R1,R2,LSL #1后,寄存器R0,R1的值分别是多少?(4分)

R0=21H,R1=23H    

3、说明指令STMIA    r12!, {r0-r11}的操作功能。(4分)

将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。  

4、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。(8分)

    AREA total, CODE READONLY

    ENTRY

start

    MOV     r4, #0

    ADR     r0, myarray

;在此补充代码

loop

LDR r1, [r0], #4    

ADD    r4, r4, r1

CMP    r1, #0

BNE    loop

5、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符“//”后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。(8分)

strtest.c

#include

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.s

AREA    SCopy, CODE, READONLY

        EXPORT strcopy

strcopy                 

        LDRB    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 READONLY

    ENTRY

start

    MOV     r4, #0

    ADR     r0, myarray

;在此补充代码

答:

loop

LDR r1, [r0], #4    

ADD    r4, r4, r1

CMP    r1, #0

BNE    loop

stop

    B     stop

myarray

    DCD 0x11

    DCD    0x22

    ……

DCD 0x0

    END

2、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分)

num     EQU     2             

start

        MOV     r0, #0         

        MOV     r1, #5

        MOV     r2, #2

        BL      func       

stop

        B   stop      

func                       

        CMP     r0, #num      

        MOVHS   pc, lr        

        ADR     r3, JumpTable  

        LDR     pc, [r3,r0,LSL#2]      

JumpTable

        DCD       DoA    

        DCD      DoS   

DoA

        ADD     r0, r1, r2      

        MOV     pc, lr         

DoS

        SUB     r0, r1, r2      

        MOV     pc,lr         

        END                  

答:R0为0调用DoA,R0为1调用DoS,R0大于2直接返回,流程图略。R0=7

1、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。(8分)

strtest.c

#include

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.s

AREA    SCopy, CODE, READONLY

        EXPORT strcopy

strcopy                 

        LDRB    r2, [r1],#1     ; r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1

        STRB    r2, [r0],#1     ;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1

        CMP     r2, #0          ;测试串尾标志\\0

        BNE     strcopy         ;非零转标号strcopy

        MOV     pc,lr           ;返回

        END

四、问答题(每题6分,共24分)

1、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。

Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六

2、ARM系统中的堆栈有四种,如下图。请按图标出四种堆栈的类型。ATPCS编程规范约定使用的堆栈是哪一种?

答:FD、FA、ED、EA。ATPCS编程规范约定使用的堆栈是FD

3、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作? 

答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。

4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在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任选六

文档

嵌入式系统期末考试题

南昌大学2007~2008学年第一学期期末试卷一、填空题(每空2分,共40分)1、ARM微处理器有7种工作模式,它们分为两类非模式、模式。其中用户模式属于非模式2、ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM、Thumb,状态寄存器CPSR的T位反映了处理器运行不同指令的当前状态3、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15寄存器用于存储PC,R13通常用来存储SP4、ARM处理器有两种总线架构,数据和指令使用同一接口的
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top