嵌入式系统试题
一、 选择题
1以下说法不正确的是( B )。
            A、任务可以有类型说明        B、任务可以返回一个数值
            C、任务可以有形参变量        D、任务是一个无限循环
2ADD    R0R1#3属于( A )寻址方式。
A. 立即寻址                    B. 多寄存器寻址
            C. 寄存器直接寻址                D. 相对寻址
        3μCOS-II操作系统中最多可以管理 A )个任务。
            A64                            B56
            C128                            D63
4存储一个32位数0x21684652000H2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D )。
            A0x21                        B0x68
C0x65                        D0x02
    5ARM为内核的微处理器是(  D )位的。
            A4                            B8
            C16                        D32
        6RS232-C串口通信中,表示逻辑1的电平是( D )。
A0v                            B3.3v
            C、+5v~+15v                D、-5v~-15v
        7、寄存器R14除了可以做通用寄存器外,还可以做( B )。
A、程序计数器                    B、链接寄存器
            C、栈指针寄存器                D、基址寄存器
8、采用RS232-C串行通信至少需要三根线,其中不包括( A )。
A、电源线                        B、地线
            C、发送数据线                    D、接收数据线
        9ARM指令集和Thumb指令集分别是( D )位的。
A. 8位,16                    B. 16位,32
            C. 16位,16                    D. 32位,16
        10ARM寄存器组有( D )个寄存器。  31通用  6状态
A7                            B32
            C6                            D37
二、填空题
11、发展到现在,常用的操作系统包括三大类,分别为:            、和     
    Windows Linux Unix (或 分时、实时、批处理)
12、在图形操作系统中,字符通常有两种存储方式:一种是  图形点阵 方式;一种是 矢量图形 方式。在嵌入式开发系统中一般使用  图形点阵  方式。
13ARM7指令系统采用三级流水线指令,分别包括:  取指    译码    执行 
14ARM处理器有七种工作模式,分别为  中断  快中断    中止    用户           管理员      系统  、和  未定义    状态。
15OSTaskSuspend (self)可把正在运行的任务 挂起 ,参数self  任务自身优先级    。用此函数挂起的任务可通过    OSTaskResume(self)  函数唤醒。
16、创建信号量OSSemCreat(0)函数中,参数0表示    所创建信号量初始值为0   
17、若一个优先级为35的任务就绪,则在就绪表中,OSRdyTbl[]
OSRdyTbl[4]的第3位置    置位,变量OSRdyGrp  4位置    置位。
18、网络通信中面向连接的协议是___ TCP ____,面向无连接的协议是___ UDP _____
19、事件控制块ECBOSEventType表示 事件类型 OSEventCnt表示 信号量计数器
20、如果信号量是用于表示打印机不忙,那么该信号量的初始值应设为  1 
三、简答题
21、简述占先式和非占先式操作系统内核特点?并画图说明他们之间的主要区别。
不可抢占:一个进程若被选中就一直运行下去,直到它被阻塞(I/O,或正在等待其他进程),或主动地交出CPU。高优先级的进程不能中止正在内核中运行的低优先级的进程而抢占CPU运行。
可抢占:当一个进程在运行时,调度程序可以打断它。另外,在其他一些情形下,如就绪队列中有新进程的优先级高于当前正运行的进程,如果当前内核允许抢占,则可以将当前任务挂起,并立即进行任务调度,执行优先级更高的进程。
高优先级优先的抢占调度
22、 画图说明μCOS-II操作系统各状态之间是如何切换的,并标明所有可能的切换函数。
OsStart 开始任务调度  Os_Task_Sw 任务切换
23、 什么是μCOS-II操作系统的时钟节拍
时钟节拍是特定的周期性中断。
这个中断可以看作是系统心脏的脉动。中断间的时间间隔取决于不同的应用,一般在10ms200ms之间。
时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。
时钟节拍率越快,系统的额外开销就越大。
24 ARM处理器有几种工作模式?并做说明每种工作模式的含义
ARM处理器有7种工作模式:
处理器模式
说明
用户 (usr)
正常程序执行模式,除了用户模式外,其他模式均可视为特权模式
系统 (sys)
运行操作系统的特权任务,与用户类似,但有直接切换到其它模式等特权
快中断(fiq)
支持高速数据传输及通道处理,FIQ异常响应时进入此模式
中断 (irq)
用于通用中断处理,IRQ异常响应时进入此模式
管理 (svc)
操作系统保护模式,系统复位和软件中断响应时进入此模式
中止 (abt)
用于支持虚拟内存和/或存储器保护
未定义 (und)
支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式
25简述任务切换的过程。
当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自己的堆栈中。
入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的堆栈中重新装入CPU的寄存器,并开始下一个任务的运行。这个过程就称为任务切换。
做任务切换所需要的时间取决于CPU有多少寄存器要入栈。
四、 程序填空题(本大题共2个小题,每小题6分,共12分)   
26、有两个任务代码如下,其中Task_ATask_B的优先级分别为:2837。分析LCD上的显示结果。
Void Task_A()
{    ClearScreen();
LCD_Printf(task1 is running!\n);
OSTimeDly(400);
}
Void Task_B()
{    ClearScreen();
LCD_Printf(hello task2! \n);
OSTimeDly(160);
}
LCD上的显示结果为:
第一次:____ task1 is running!_____
第二次:_____ hello task2!_______
第三次:______hello task2!________
第四次:_____ task1 is running!____
第五次:______ hello task2!______
第六次:_______hello task2!______
27、在分辨率为320x240LCD上,执行完下列程序后,画出在LCD上显示的图形并在划横线处添加注释。
void Main_Task(void *Id)           
{        int oldx,oldy;
        PDC pdc;
        ClearScreen();
        pdc=CreateDC();
        SetDrawOrg(pdc, LCDWIDTH/2,LCDHEIGHT/2, &oldx, & oldy);
        Circle(pdc,0, 0, 50); //___以原点为圆心,50为半径画圆_______
        MoveTo(pdc, -50, -50);// __画笔移动到坐标(-50,-50)处__
        LineTo(pdc, 50, -50);// __从坐标(-50, -50)到(模拟串口使用printf函数50, -50)画直线__
        ArcTo(pdc, 80, -20, TRUE, 30); //_从当前坐标开始以30为半径
// 顺时针画圆弧到坐标(80, -20__
        LineTo(pdc, 80, 20);
        ArcTo(pdc, 50, 50, TRUE, 30);
        LineTo(pdc, -50, 50);
        ArcTo(pdc, -80, 20, TRUE, 30);
        LineTo(pdc, -80, -20);
        ArcTo(pdc, -50, -50, TRUE, 30);
        OSTimeDly(3000);
    }
                              320x240LCD