搜档网
当前位置:搜档网 › 嵌入式课后练习题答案

嵌入式课后练习题答案

嵌入式课后练习题答案
嵌入式课后练习题答案

第1章

1、什么是嵌入式系统?嵌入式系统的组成?

从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。

2、典型的嵌入式处理器有哪些?

3、典型的RTOS操作系统有哪些?

4、列举身边的嵌入式应用产品?

第2章Cortex-M体系结构

一题:填空题

1、ARM Cortex系统的处理器分为:____A_____、____R_____、_____M_____。

2、ARM Cortex-M3为32位微控制器,请问32位指的是CPU字长。

3、ARM Cortex-M3体系结构采用哈佛总线结构,拥有独立的指令总线和数据总线,可以让

取指与数据访问并行进行。

4、CM3寄存器分为通用寄存器,包括R0~R15。和特殊功能寄存器,包括程序状态寄存器、

异常屏蔽寄存器、控制寄存器。

5、寄存器R13是堆栈指针寄存器。

6、寄存器R14是程序连接寄存器。

7、寄存器R15是程序PC。

8、CM3的堆栈指针分为__MSP__、__PSP_。存储器堆栈堆栈分为:向上生长(即向高地

址方向生长)的递增堆栈;向下生长(即向低地址方向生长),称为递减堆栈。堆栈指针指向最后压入堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个数据项放入的空位置,称为空堆栈。试判断CM3属于递减堆栈堆栈和满堆栈堆栈。

9、在CM3中记录程序状态的寄存器是___xPSR____。都分别有些什么状态_应用状态、中

断状态、可执状态。

10、BASEPRI寄存器的作用是___屏蔽优先级低于某一个数值的异常____。

11、寄存器CONTROL的作用是控制处理器模式及堆栈切换。

MOV R0,#0x01

MSR CONTROL,R0

在8级优先中,请问上述程序的功能是处理器工作在用户模式主堆栈下。

12、CM3技持两个模式和两个特权级,它们分别是线程模式和处理器模式;特权级和

用户级。

13、处理器运行应用程序时,属于线程模式,即可以使用特权级,也可以使用用户级。

异常服务程序必在处理器模式下执行。复位后,处理器默认进入处理器模式,主堆栈。

14、在用户级下设置的PSP=0x20000100,R0=0x01,R1=0x02。当执行

PUSH {R0-R1}

后,PSP=0x200000F8。

15、CM3支持的4GB存储空间被划分成:CODE、片上RAM、片上外设、片外RAM、

片外外设、内核私有6个区域。

16、CM3中有一个位绑定区分别位于片上RAM和片上外设区,其大小为1M字节,由

32M字节空间的位绑定别名区来访问。

17、 要将0x20000000单元的的第0位执1,请用位绑定的方式操作:

ldr r0,=0x22000000

mov r1,#1 str r1,[r0] 18、 CM3支持16种系统异常,和240种外设中断。19、 CM3中的优先级理论是支持256级优先级,但芯片厂商是般只采用三位来设置,

比如像luminary 只支持___8____级优先级。

20、 在CM3中发生异常后,自动保存的寄存器是(按地址顺序填写):XPSR PC LR R12

R3 R2 R1 R0。

21、 异常向量表中,位于表头的是_____MSP______。

22、 SysTick 是一个___24_____位的系统定时器。通常的功能是_作为操作系统时钟__。

23、 异常返回有返回处理器模式、返回线程模式并使用主堆栈、返回线程模式,并使用

进程堆栈三种功能。

二题 简答题

24、 请用汇编程序触发一次PendSV 系统异常。

答:LDR R4,=0xE000ED04 ;中断控制及状态寄存器(地址:0xE000_ED04)第28

位置1表示挂起PendSV

LDR R5,=0x10000000

STR R5,[R4]

25、 请用汇编或C 代码启动SysTick 定时器,定时20ms 。

答:20ms 也即50Hz ,通常用于uC/OS-II 操作系统中的时钟。以下程序是说明了在

任何时系统时钟下,都能产生20ms 的定时,有关系式如下:

在系统时钟下周期 定时器要计cnts 次才计到20ms

1()

T SysCtlClockGet = *202020*()T cnts ms

ms cnts ms SysCtlClockGet T

=== #include

#define OS_TICKS_PER_SEC 50

#define NVIC_ST_RELOAD 0xE000E014 //重装值寄存器

#define NVIC_ST_CTRL 0xE000E010 //控制与状态寄存器

unsigned int cnts;

void SystickInit()

{

SysCtlLDOSet(SYSCTL_LDO_2_75V);

SysCtlClockSet(SYSCTL_XTAL_8MHZ|SYSCTL_SYSDIV_10| SYSCTL_USE_PLL |

SYSCTL_OSC_MAIN ); // The crystal is 20MHz

cnts=SysCtlClockGet()/OS_TICKS_PER_SEC;

HWREG(NVIC_ST_RELOAD)=cnts-1;

HWREG(NVIC_ST_CTRL)=(1<<1)|1; // bit2:0-> 外部时钟,1-> 内部时钟

// bit1: 0->计满产生中断, 1->不产生中断

// bit0: 0->不使能, 1-> 使能SysTick计数器}

第3章指令系统

一题:填空题

26、Thumb-2指令分为:存储器访问指令、数据处理指令、分支指令和其它指令。

27、LDR指令的作用是将存储器中数据加载到通用寄存器中。STR的作用是将通用寄

存器的中据存储到存储器中。

28、当执行:LDR R0,=0x1234FFFF

BFC R0,#4,#10

请问:R0= 0x1234C00F 。

29、当执行:LDR R0,=0x02

RBIT R1,R0

请问:R1= 0x40000000 。

30、当执行:LDR R0,=0x02

CLZ R1,R0

请问:R1= 0x1E(30) 。

31、已知R0=(8192),执行SSA T.W R1,#12,R0后,R1=0x7FF(2047) 。

32、已知R0=(33448899),执行REVSH R1,R0,R1= 0xFFFF9988 。

二题简答题

33、请用IT指令优化下列C代码。

if(R0==R1)

{

R3=R4+R5;

R3=R3/2;

}

else

{

R3=R6+R7;

R3=R3/2;

}

答: CMP R0, R1 ;比较R0和R1 ITTEE EQ ;如果 R0 == R1, Then-Then-Else-Else ADD EQ R3, R4, R5 ;相等时加法

ASR EQ R3, R3, #1 ;相等时算术右移

ADD NE R3, R6, R7 ;不等时加法

ASR NE R3, R3, #1 ;不等时算术右移

第4章MDK软件使用

一题简答题

34、RealView MDK的特点?

35、如何书写信号函数?

第5章 ARM Cortex_M3微控制器

一 填空题

LM3S 微控制器的片上资源有I/O 口、UART 、A/D 、GPTM 、SSI 总线、I 2C 总线、PWM 、CAN 、以太网、USB 。

1. Stellaris 微控制器提供一个集成的LDO 稳压电源,电压调节范围是:

2.25-2.75V 。

2. Stellaris 微控制器通常情况下有__系统时种、PWM 时种、A/D 采样时种、CAN 模块

时钟输出。

3. 睡眠模式指的是内核和存储器都不工作,外设可以正常工作,系统时钟与运行模式相同。

4. 深度睡眠模式指的是内核和存储器都不工作,外设可以正常工作,系统时钟只能使用主振荡器。

5. Stellaris 微控制器系统需要_3.3_V 的电源供电。

6. Stellaris 微控制器的每一个I/O 口都可用于通用I/O 、中断、特殊功能等功能。

7. LM3S 的定时器包含4个GPTM 模块,可工作于32、16位定时模式,16位输入捕获

模式,16位PWM 模式。

8. MCS-51单片机中的16位定时器属于加1计数模式,LM3S 微控制器的GPTM 属于

减1计数模式。

9. LM3S 的串口功能有通用异步串口通信_、_红外通信模式两种主功能。

10. LM3S 的ADC 模块是属于10位A/D 转换器。最大转换频率为1Mbps 。工作时采用基于序列采样方式使一次可以完成多路模拟量的采集。

二 简答题

11. Stellaris 微控制器内部和外部的晶振频率范围是多少?使用PLL 功能时的工作频率是

多少?

答:内部采用12MHz 时种,外部采用0~8MHz ,PLL 工作可以将低频时钟倍频到200MHz 。

12. 请利用库函数设置外部晶振8MHz ,利PLL 后,让系统内核时钟为20MHz 。 答:

SysCtlClock(SYSCTL_XTAL_8MHZ|SYSCTL_OSC_MAIN|SYSCTL_USE_PLL|SYSCTL_S YSDIV_10)

13. 请利用库函数设置处理器进入睡眠模式,并说明如何退出睡眠模式?

答:进入睡眠模式:SysCtlSleep()

退出睡眠模式:任何一个中断都可以使进入睡眠状的处理器退出睡眠模式。

14. 操作定时器让开发板上的4只LED 软流流发光,其亮灭时间为0.5s 。

发光二极管电路原理如图所示,系统时钟采用外接6MHz,先进行预分频100,变成频率为60000Hz,周期为)(600001s ,再计数30000次(s s x 5.0)(3000060000

1 )。

代码:

主程序:时种配置、外围模块的使能、定时器0设置成16位周期定时,预分频100,初值为30000。

void main()

{

SysCtlClockSet(SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ |SYSCTL_SYSDIV_1); SysCtlPeriEnable(SYSCTL_PERIPH_GPIOB); //使能B口

GPIOPinTypeOut(GPIO_PORTB_BASE, GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6); //管脚输出SysCtlPeriEnable(SYSCTL_PERIPH_TIMER0); //使能Timer0模块

TimerConfigure(TIMER0_BASE, TIMER_CFG_16_BIT_PAIR |TIMER_CFG_A_PERIODIC); //16位周期定时TimerPrescaleSet(TIMER0_BASE, TIMER_A, 99); //预先进行100分频(6M/100)=60000

TimerLoadSet(TIMER0_BASE, TIMER_A, 30000);//设置Timer初值,定时500ms

TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); //使能Timer超时中断

IntEnable(INT_TIMER0A); // 使能Timer中断

IntMasterEnable(); //使能处理器中断

TimerEnable(TIMER0_BASE, TIMER_A); //使能Timer计数

while(1){;} //循环

}

中断服务程序:间隔0.5s,PB1、PB4、PB5、PB6依次输出1,点亮四只发光二极管。

void Timer0A_ISR(void)

{

unsigned char i;

unsigned long ulStatus;

ulStatus = TimerIntStatus(TIMER0_BASE, true); // 读取中断状态

TimerIntClear(TIMER0_BASE, ulStatus); // 清除中断状态,重要

switch (i)

{

case 0:GPIOPinWrite(GPIO_PORTB_BASE,0XFF, 0X02); break;

case 1:GPIOPinWrite(GPIO_PORTB_BASE,0XFF, 0X10); break;

case 2:GPIOPinWrite(GPIO_PORTB_BASE,0XFF, 0X20); break;

case 3:GPIOPinWrite(GPIO_PORTB_BASE,0XFF, 0X40); break;}

i++;

if(i==4)

{i=0}

}

15.编写程序实现将开发板上的A/D模块采集到的电压数据用串行通信口送到PC机,PC

机通过串口调式精灵或超级终端端观看数据。

答:

1、首先结ADC、UART进行实始化(ADC的序列方式、采样频率、通道数、触发深度等等;UART的波特率、数据位、校验等等)。

2、启动A/D转换(处理器触发、比较器触发、PWM触发、定时器触发、PB4触发)。

3、等待A/D转换结束,并取出数据。

4、A/D转换后的数据写入UART数据寄存器,启动UART发送。

5、等待发送给束。

6、重新进行第二次A/D转换并发送。

void uartInit(void) {

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); // 使能UART模块

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); // 使能RX/TX所在的GPIO端口

GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1); // 配置RX/TX所在管脚为UARTConfigSet(UART0_BASE, // 配置UART端口

115200, // 波特率:9600

UART_CONFIG_WLEN_8 | // 数据位:8

UART_CONFIG_STOP_ONE | // 停止位:1

UART_CONFIG_PAR_NONE); // 校验位:无UARTEnable(UART0_BASE); // 使能UART端口

}

void adcInit(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC); // 使能ADC模块的时钟SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS); //125KSps采样率

ADCSequenceDisable(ADC_BASE, 0); //禁能所有采样序列ADCSequenceConfigure(ADC_BASE, 0, ADC_TRIGGER_PROCESSOR, 0); //采样序列0为处理器触发,优先级为0

ADCSequenceStepConfigure(ADC_BASE, 0, 0, ADC_CTL_CH0 | ADC_CTL_END); //样序列0的第0步使用ADC0通道,完成第0步后结束

ADCSequenceEnable(ADC_BASE, 0); // 使能采样序列0

}

Include <>

#define HWREG(x) (*((volatile unsigned long *)(x)))

#define UART0_DA TA 0x4000C000

#define UART0_FLAG 0x4000C018 /*UART标置寄存器*/

V oid main()

{

unsigned int ulData;

uartInit();

adcInit();

while(1)

{

ADCProcessorTrigger(ADC_BASE, 0); //处理器触发采样序列0

while( (HWREG(ADC_BASE + ADC_O_X_SSFSTAT) & 0x00000100) );

// 等待FIFO 0为非空,即等待转换结束

ADCSequenceDataGet(ADC_BASE, 0, &ulData); //读出10位转换结果

ulData = (ulData * 1000 * 3.3) / 1024; //换算成真实电压值,单位mV

HWREG(UART0_DA TA)=ulData; //数据发给你串口

while((HWREG(UART0_FLAG)&0x8)); //检测发送完毕

}

}

16.编程实现SSI驱动8位数码管显示,并显示0、1、2、3、4、5、6、7,结合RTC显

示实时时钟。

答:

程序代码:

#include 《lm3sxxxx.h》

#define BitRate 115200 //设定波特率

#define DataWidth 16 //16位宽

unsigned char dispBuf[8]; // 定义显示缓冲区

unsigned short DISP_TAB[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; //段码

const unsigned char DigTab[8] = {0x10, 0x20, 0x40, 0x80, 0x01, 0x02, 0x04, 0x08 }; // 定义数码管位选数据int main (void)

{

unsigned char n=0;

unsigned short t;

SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI); //为SSI提供时钟

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); //为GPIOA端口提供时钟

/* 设置SPI为主机模式0,16位数据宽度,115200的波特率*/

SSIConfig(SSI_BASE, SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, BitRate, DataWidth); SSIEnable(SSI_BASE); // 使能SPI

/* 设定GPIO A 2~5 引脚为使用外设功能*/

GPIOPinTypeSSI(GPIO_PORTA_BASE, (GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5)); //设置SSI管脚

while (1) {

for (n=0; n<=7; n++) {

t = DigTab[n]; // 获取位选数据

t <<= 8; // 位选数据放在高8位

t |= DISP_TAB[dispBuf[n]];; // 段选数据放在低8位

SSIDataPut(SSI_BASE, t); // 输出数据,共16个有效位

//SysCtlDelay(20 * (TheSysClock / 3000));

}

}

}

17.编程用PWM实现直流电机转速控制。

答:

/******************************************************************************************* LM3S系列PWM例程:在PB0/PWM2和PB1/PWM3管脚产生占空比不同的PWM方波

*******************************************************************************************/ #include "hw_memmap.h"

#include "hw_types.h"

#include "sysctl.h"

#include "gpio.h"

#include "pwm.h"

#define PB0_PWM2 GPIO_PIN_0

#define PB1_PWM3 GPIO_PIN_1

int main (void)

{

SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|

SYSCTL_XTAL_6MHZ);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); //使能PWM2和PWM3输出所在GPIO

SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM); //使能PWM模块

SysCtlPWMClockSet(SYSCTL_PWMDIV_1); //PWM时钟配置:不分频

GPIOPinTypePWM(GPIO_PORTB_BASE, (GPIO_PIN_0 | GPIO_PIN_1)); //PB0和PB1配置为PWM功能

PWMGenConfigure(PWM_BASE, PWM_GEN_1, //配置PWM发生器1:加减计数PWM_GEN_MODE_UP_DOWN | PWM_GEN_MODE_NO_SYNC);

PWMGenPeriodSet(PWM_BASE, PWM_GEN_1, 6000); //设置PWM发生器1的周期

PWMPulseWidthSet(PWM_BASE, PWM_OUT_2, 4200); //设置PWM2输出的脉冲宽度

PWMPulseWidthSet(PWM_BASE, PWM_OUT_3, 2100); // 设置PWM3输出的脉冲宽度

PWMOutputState(PWM_BASE, (PWM_OUT_2_BIT | PWM_OUT_3_BIT), true); //使能PWM2和PWM3的输出

PWMGenEnable(PWM_BASE, PWM_GEN_1); // 使能PWM发生器1,开始产生PWM方波

for (;;) {

}

}

第6章指令系统

一题:填空题

1、μC/OS-II操作系统的文件结构可分成三部分:与处理器类型无关的代码、与处理器类

型有关的代码、与应用程序配置有关的代码。

2、μC/OS-II操作系统中与处理器无关的代码有:OS_CORE.C、OS_TASK.C、OS_TIME.C、

OS_FLAG.C、OS_MBOX.C、OS_MUTEX.C、OS_Q.C、OS_SEM.C、OS_MEM.C、μC/OS_II.C、μC/OS_II.H。

3、μC/OS-II操作系统中与处理器有关的代码有:OS_CPU.H、OS_CPU_A.A、OS_CPU_C.C

4、从任务的存储结构来看,μC/OS-II的任务由三大要素是:任务代码、任务堆栈、任务

控制块。

5、μC/OS-II中创建任务的函数是:INT8U OSTaskCreate (void (*task)(void *pd), void

*pdata, OS_STK *ptos, INT8U prio)。

6、μC/OS-II中任务延时函数分别是:void OSTimeDly (INT16U ticks)、INT8U

OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli)。

7、μC/OS-II中的任务在运行中的五种状态:等待状态、睡眠态、就绪态、运行态、被中

断态。

8、μC/OS-II中任务的调度原则是:优先级至上的基于查表算法。具本算法是通过两个变

量(OSRdyGrp、OSRdyTbl[])+两张表(OSMapTbl[]、OSUnMaTbl[])相互查找来完成的。

9、μC/OS-II中任务的初始化函数是OSInit();任务的启动函数是OSStart()。

10、在编写μC/OS-II的中断服务程序时,要用到两个重要的函数OSIntEnter()和

OSIntExit()。

11、时钟节拍函数是:OSTimeTick()。

12、μC/OS-II中任务与任务之间的通信方式有:信号量、互斥型信号量、消息邮箱、

消息队列。

13、μC/OS-II中信号量的创建函数是OSSemCreate();信号量的请求函数是OSSemPend

()。信号量的释放函数是OSSemPost()。

二题简答题

14、μC/OS-II移植的条件?

要使μC/OS-Ⅱ正常运行,处理器必须满足以下要求:

1. 处理器的C编译器能产生可重入代码。

2.用C语言就可以打开和关闭中断。

3.处理器支持中断,并且能产生定时中断(通常在10至100Hz之间)。

4.处理器支持能够容纳一定量数据(可能是几千字节)的硬件堆栈。

5.处理器有将堆栈指针和其它CPU寄存器读出和存储到堆栈或内存中的指令。

15、μC/OS-II移植的内容?

移植的内容主要是完善OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM三个文件。

移植具体工作包括以下几个内容:

●用#define设置一个常量的值(OS_CPU.H)

●声明10个数据类型(OS_CPU.H)

●用#define声明三个宏(OS_CPU.H)

●用C语言编写十个简单的函数(OS_CPU_C.C)

●编写4个汇编语言函数(OS_CPU_A.ASM)

16、请Thumb-2的RBIT、CLZ、IT等指令对μC/OS-II的任务调度算法进行优化。

__asm INT32U PrioFind(INT32U a,INT32U b)

{

RBIT.W R2,R0 ;把传递过来低32位数据旋转180度

RBIT.W R3,R1 ;把传递过来高32位数据旋转180度

CMP R2,#0 ;比较低32位数据不为0,就必有高优先级任务存在,否则

ITEE NE ;查找高32位数据,是否有任务处于就绪状态

CLZNE R0,R2 ;查低32位数据

CLZEQ R0,R3 ;查高32位数据

ADDEQ R0,#32 ;高32位数据的结加上32

BLX LR ;程序返回

}

17、请编程实现通过LM3S8962的串口输出10个“A”和10个“B”,分别由两个任务完

成(MyTask输出“A”,所需堆栈为50个字节,优先级为1;YouTask输出“B”,所需堆栈为50个字节,优先级为2),已完成除主函数外的所有代码编写,请在μC/OS-II下完成主程序代码。

答:

#include // 预处理文件

#define TASK_My_STK_SIZE 50 // 两个任务堆栈大小

#define TASK_You_STK_SIZE 50

static OS_STK MyTask_Stk[TASK_My_STK_SIZE-1]; // 堆栈空间

static OS_STK YouTask_Stk[TASK_My_STK_SIZE-1];

static void MyTask(void *parg); // 原型声明

static void YouTask(void *parg);

int main (void)

{

OSInit(); // OS-II 初始化uC/OS-II的内核 OSTaskCreate (MyTask,0,

&MyTask_Stk[TASK_My_STK_SIZE-1],

1); // 创建mytask任务

OSTaskCreate (YouTask, 0,

&YouTask_Stk[TASK_You_STK_SIZE-1],

2); // 创建youtask任务

OSStart(); // uC/OS-II 启动uC/OS-II

return(0) ;

}

18、如图所示,为高效DC-DC数控恒流源结构框图,输入电压Ui=15V,输出电流Io:

200~2000mA连续可调,请简述其工作原理。

答:工作原理:系统用LM3S615为主控制器,通过内部PWM模块输出20KHz脉冲波,通过调节占空比来驱动DC-DC中的开关管,以达到恒定的电流输出;输出部分通过取样电路采集输出电流、电压参数,由微控制器处理,再微调输出参数,达到反馈控制,以输出不同电流;系统实时监控,具有过压保护功能,排除过压故障后,电源能自动恢复为正常状态。

19、如图所示,单片机PB0去控制LED显示,PB1去控制蜂鸣器。由两个任务:Taskled、

Taskbuz完成控制。Taskled任务完成LED灯的闪烁间隔1S亮一次。Taskbuz任务完成蜂鸣器发声,间隔1S叫一次。现已完成两个任务代码的编写和目标板初始化代码(targetInit())的编写如代码所示,要求用uc/os-II操作系统管里完成主程序。

答:#include

/***************** TASK PRIORITIES 任务优先级**************************/

#define TASK_Led_PRIO 1

#define TASK_Buz_PRIO 5

/***************** TASK STACK SIZES 任务堆栈大小**********************/

#define TASK_Led_STK_SIZE 50

#define TASK_Buz_STK_SIZE 50

/******************* CONSTANTS 常量************************************/

#define LED_SYSCTL SYSCTL_PERIPH_GPIOB /* System control of LED1 */

#define LED_GPIO_PORT GPIO_PORTB_BASE /* IO port of LED1 */

#define LED_PIN GPIO_PIN_0 /* Pin number of LED1 */

#define BUZ_SYSCTL SYSCTL_PERIPH_GPIOB /* System control of the buzzer */

#define BUZ_GPIO_PORT GPIO_PORTB_BASE /* IO port of the buzzer */

#define BUZ_PIN GPIO_PIN_1 /* Pin number of the buzzer */

/********************** V ARIABLES 变量*********************************/

static OS_STK TaskLed_Stk[TASK_Led_STK_SIZE]; /* The stack of start task */

static OS_STK TaskBuz_Stk[TASK_Buz_STK_SIZE]; /* 启动任务的堆栈*/

/**************************函数声明**************************************/

static void TaskLed(void *parg);

static void TaskBuz(void *parg);

void ledToggle (void) ;

void buzToggle (void) ;

/***************** TaskLed ,驱动LED闪烁,间隔1S亮一次。****************/ static void TaskLed (void *parg)

{

parg=parg;

targetInit(); /* 初始化目标单片机*/

while(1)

{

ledToggle();

OSTimeDlyHMSM(0,0,1,0);//等待1s

}

}

/************ TaskBuz,驱动蜂鸣器,间隔1S叫一次。*************************/ static void TaskBuz (void *parg)

{

parg=parg;

while(1)

{

buzToggle ();

OSTimeDlyHMSM(0,0,1,0);//等待1s

}

}

/********************************取反LED操作****************************/

void ledToggle (void)

{

GPIOPinWrite(LED_GPIO_PORT, LED_PIN, ~GPIOPinRead(LED_GPIO_PORT, LED_PIN));

}

/********************************取反蜂鸣器操作**************************/

void buzToggle (void)

{

GPIOPinWrite(BUZ_GPIO_PORT, BUZ_PIN, ~GPIOPinRead(BUZ_GPIO_PORT, BUZ_PIN));

}

/*********************************主程序 *************************************/ int main (void)

{

intDisAll(); /* 关闭所有中断*/ OSInit(); /* OS-II 初始化uC/OS-II的内核*/ OSTaskCreate (TaskLed, 0,

&TaskLed_Stk[TASK_Led_STK_SIZE-1],

TASK_Led_PRIO) ; /* 创建TaskLed任务*/ OSTaskCreate (TaskBuz, 0,

&TaskBuz_Stk[TASK_Led_STK_SIZE-1],

TASK_Buz_PRIO); /* 创建TaskBuz任务*/

OSStart(); /* Start uC/OS-II 启动uC/OS-II */ return(0) ;

}

/*****************************************END********************************/

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

ARM嵌入式系统基础教程第二版课后习题答案

第1xx 嵌入式系统概述 (1)举出3个本书中未提到的嵌入式系统的例子。 答:键盘、鼠标、扫描仪。 (2)什么叫嵌入式系统? 答:嵌入到对象体系中的专用计算机应用系统。 (3)什么叫嵌入式处理器?嵌入式处理器分为哪几类? 答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 分为3类:1.注重尺寸、能耗和价格; 2.关注性能;3.关注全部4个需求——性能、尺寸、能耗和价格。 (4)什么是嵌入式操作系统?为何要使用嵌入式操作系统? 答:嵌入式操作系统是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的元素发展而来的。原因: 1.提高了系统的可靠性;2.提高了开发效率,缩短了开发周期。 3.充分发挥了32位CPU的多任务潜力。 第2章ARM7体系结构 1.基础知识 (1)ARM7TDMI中的T、D、M、I的含义是什么? 答:T:高密度16位Thumb指令集扩展;D:支持片上调试;M:64位乘法指令;I:Embedded ICE硬件仿真功能模块。 (2)ARM7TDMI采用几级流水线?使用何种存储器编址方式? 答:3级;冯·诺依曼结构。

(3)ARM处理器模式和ARM处理器状态有何区别? 答:ARM处理器模式体现在不同寄存器的使用上;ARM处理器状态体现在不同指令的使用上。 1 / 16 (4)分别列举ARM的处理器模式和状态? 答:ARM的处理器模式:用户模式、系统模式、管理模式、中止模 式、未定义模式、中断模式、快速模式;ARM的处理器状态:ARM状态、Thumb状态。 (5)PC和LR分别使用哪个寄存器? 答:PC:R15;LR: 14。 (6)R13寄存器的通用功能是什么? 答:堆栈指针SP。 (7)CPSR寄存器中哪些位用来定义处理器状态? 答:位31~28:N、Z、C、V,条件代码标志位;27~8:保留位;7~0: I、F、T、M4~0,控制标志位。 (8)描述一下如何禁止IRQ和FIQ的中断。 答:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;当控制位F置位时,FIQ中断被禁止,否则允许FIQ中断使能。 2.存储器格式 答:无论是大端格式还是小端格式,R2的值与R1一致;地址0x4000

嵌入式复习思考题(1)答案

嵌入式复习思考题及答案(1) 一、简答题 1、ARM9有哪几种工作模式?其中哪几种属于特权模式?哪几种属于几种异常模式? 答:有用户、系统、管理、中止、未定义、普通中断、快速中断。系统、管理、中止、未定义、普通中断、快速中断属于特权模式。管理、中止、未定义、普通中断、快速中断属于几种异常模式。 2、ARM9有哪2种工作状态?各自特点?实现状态切换指令的是什么? 答:ARM状态与Thumb状态。ARM状态指令是32位;Thumb状态指令是16位。切换指令是BX。 3、简述ARM9在不同工作模式下寄存器分布情况(用图表说明)。R13、R1 4、R15的固定用途;CPRS和SPRS名称及功能。 答:R13常作为堆栈指针SP、R14作为链接寄存器LR、R15作为程序计数器PC。CPRS是当前程序状态寄存器,包含条件代码、中断禁止位、当前处理器模式以及其他状态和控制信息。SPRS是程序状态保存寄存器,异常出现时用于保存CPRS的状态。 4 5 答:响应过程:1、将引起异常指令的下一条指令的地址保存到新的异常工作模式的R14中; 2、将CPSR的内容保存到将要执行的异常中断对应的SPSR中; 3、根据异常类型CPSR中的运行模式位; 4、将相应的矢量地址赋值给PC,开始执行异常处理程序。还可设中断禁止位。 返回过程: 1、将连接寄存器LR的值减去相应的偏移量后送到PC中; 2、将SPSR内容送回CPSR; 3、若在进入异常处理时设置了中断禁止位,要在此清除。 6、写出ARM9支持的寻址方式,各举一例。 答:略 7、写出指令LDRB/LDRH/LDR的区别。 答:LDRB将内存单元一个字节的数据扩展到32位装载到寄存器; LDRH将内存单元半字(两个字节)的数据扩展到32位装载到寄存器; LDR 将内存单元一个字的数据装载到寄存器。 8、写出LDM、STM指令用于数据块拷贝时对应的4种后缀以及用于堆栈操作对应的4种后缀。 解释各自的执行过程。 答:数据块拷贝后缀:IA操作后指针增;DA操作后指针减; IB操作前指针增;DB操作前指针减。 堆栈操作后缀:FD满递减;ED空递减;FA满递增;EA空递增。 9、ARM和Thumb两种状态下各自堆栈的生成方式有何不同?写出各自对应的入栈、出栈指令。答:ARM堆栈有4种生成方式满递增、满递减、空递增、空递减; 入栈指令:STM(FD\ED\FA\EA 4种后缀之一)出栈指令:LDM(FD\ED\FA\EA 4种后缀之一)Thumb堆栈采用满递减的生成方式。入栈指令:PUSH . 出栈指令:POP 10、写出条件代码NE、EQ的判断条件。 答:NE Z=0 (不相等);EQ Z=1 (相等) 11、B、BL及BX指令有何区别?写出无嵌套的子程序调用及返回指令。 答:B是简单的转移指令,实现向目的地址的简单的跳转;

arm9嵌入式课后答案

arm9嵌入式课后答案 【篇一:arm嵌入式系统结构与编程习题答案(全)】ass=txt>第一章绪论 1. 国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的剪裁利用。因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专业计算机系统。 2.嵌入式系统是从何时产生的,简述其发展历程。 答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。 嵌入式系统的出现最初是基于单片机的。intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。80年代初的8051是单片机历史上值得纪念的一页。20世纪80年代早期,出现了商业级的“实时操作系统内核”,在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。20世纪90年代实时内核发展为实时多任务操作系统。步入21世纪以来,嵌入式系统得到了极大的发展。在硬件上,mcu的性能得到了极大的提升,特别是arm技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。 3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。答:主要有嵌入式linux和嵌入式实时操作内核uc/os-ii 嵌入式linux操作系统是针对嵌入式微控制器的特点而量身定做的一种linux操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。主要有以下特点:源码开放,易于移植,内核小,功能强大,运行稳定,效率高等。 uc/os是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。

嵌入式系统试题闭卷及答案

《嵌入式系统》试题 闭卷答题时间:30分钟 一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:分别是()、存储器、输入/输出和软件,一般软件亦分为操作系统相关和()两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(),()以及片上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有()、进程间通信、()、I/O资源管理。 4、从嵌入式操作系统特点可以将嵌入式操作系统分为()和分时操作系统,其中实时系统亦可分为()和软实时系统。 5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(),内核的基本服务是()。 6、嵌入式开发一般采用()方式,其中宿主机一般是指()。 7、哈佛体系结构数据空间和地址空间(),ARM7TDMI采用()的内核架构,ARM920T采用()的内核架构。 采用()级流水线结构,ARM920TDMI采用()级流水线。 9.按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix 操作系统属于()操作系统,VxWorks属于()操作系统。 10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(),M表示内嵌乘法器Multiplier,I表示(),支持在线断点和调试。 二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。() (A)处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断(D)有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中。() (A)DOS (B)unix (C)Windowsxp (D)linux 3、下面哪个选项不是SUB设备的特点。() (A)串行通信方式(B)不可热拨插 (C)分HOST、DEVICE和HUB (D)通信速率比RS232快 4、下面哪种嵌入式操作系统很少用于手机终端设备上。() (A)Symbian (B)WinCE (C)uc/os (D)linux 5、以下哪项关于SRAM和DRAM的区别是不对。() (A)SRAM比DRAM慢(B)SRAM比DRAM耗电多 (C)DRAM存储密度比SRAM高得多(D)DRM需要周期性刷新 6、uc/os操作系统不包含以下哪几种状态。() (A)运行(B)挂起 (C)退出(D)休眠 7、0x07&0x11的运算结果是。() (A)0x01 (B)0x11 (C)0x17 (D)0x07 8、以下哪种方式不是uc/os操作系统中任务之间通信方式。() (A)信号量(B)消息队列 (C)邮件(D)邮箱 9、以下哪种方式不是文件系统的格式。() (A)FAT (B)DOS (C)NTFS (D)Ext 10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。() (A) (B) (C) (D)OSTaskInit 三、判断题:共5小题,每小题2分,满分10分。 1、所有的电子设备都属于嵌入式设备。() 2、冯诺依曼体系将被哈佛总线所取代。() 3、嵌入式linux操作系统属于免费的操作系统。() 4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。() 5、的最大通信速率为12M/S。() 简答题:共2小题,每小题10分,满分20分。 1、根据嵌入式系统的特点,写出嵌入式系统的定义。 2、试分析实时操作系统的工作状态特点及相互之间的转换。

嵌入式习题答案

嵌入式习题答案Last revision on 21 December 2020

第一章习题答案 1.什么是嵌入式系统请列举几个常见的嵌入式系统。 答:根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。 目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。 常见的嵌入式系统:手机,DVD,路由器,核磁共振仪,全自动洗衣机。 2.嵌入式系统与通用计算机有哪些区别 答:(1) 以应用为中心;(2) 以计算机技术为基础(3) 软件和硬件可裁减(4) 对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具 3.嵌入式系统的发展分为哪几个阶段 答:第一阶段:无操作系统的嵌入算法阶段。第二阶段:以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。第三阶段:以嵌入式操作系统为标志的嵌入式系统。第四阶段:以基于Internet为标志的嵌入式系统。 4.请列举嵌入式系统的主要应用领域。 答:(1)工业控制领域(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域

嵌入式期末复习提纲包含答案

嵌入式期末复习提纲包 含答案 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

考试题型: ?1、判断题 10分 ?2、填空题 20分 ?3、选择题 20分 ?4、简答题 30分(5个) ?5、应用题 20分(3个) ?6、名字解释 复习资料: ?书本 ?PPT课件,平时课堂例题。 ?平时作业和练习 ?考试范围:1-5章 ?其他说明: ?课后习题是重点。 ?简答题来源于前5章,每章一个。 每章重点: 第一章: 1.什么是嵌入式系统试简单列举一些生活中常见的嵌入式系统的实例。 嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。 2.嵌入式系统具有哪些特点 3.嵌入式系统由哪些部分组成简单说明各部分的功能和作用。

4.嵌入式系统是怎样分类的 5.嵌入式系统的定义。 嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。 6.什么是交叉编译,试说明交叉编译的实现过程。 7.嵌入式系统有哪些应用领域。 嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括: 1.工业控制: 基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。 2.交通管理: 在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。 3.信息家电:

《嵌入式系统》考试试卷及答案

《嵌入式系统》课程试卷 考试时间:__120___分钟开课学院___计算机___ 任课教师____________ 姓名______________ 学号_____________班级_______________ 一.单项选择题(2 × 20): 1下面不属于Xscale微架构处理器的主要特征有:( ) A.采用了7级超级流水线、动态跳转预测和转移目标缓冲器BTB技术(Branch Target Buffer)。 B.支持多媒体处理技术、新增乘/累加器MAC、40位累加器、兼容ARM V5TE 指令和特定DSP型协处理器CP0。 C.采用了32KB的指令Cache。 D.采用了64KB的数据Cache。 2以下不属于XScale超级流水线的流水级是( ) A.寄存器文件/移位级(FR) B.写回级(XWB) C.寄存器读取级 D.和执行级二(X2) 3 目前嵌入式系统领域中使用最广泛、市场占有率最高的实时系统是:() A. Symbian B. Windows CE C. VxWorks D. QNX 4 下面那句话的描述是不正确的?( ) A.在一个基于XScale内核的嵌入式系统中,系统在上电或复位时通常都从

地址0x00000000 处开始执行 B.引导装载程序通常是在硬件上执行的第一段代码,包括固化在固件中的 引导代码(可选)和Boot Loader两大部分。 C.在嵌入式系统中,Boot Loader不依赖于硬件实现。 D.Boot Loader就是在操作系统内核运行之前运行的一段小程序。 5 通常情况下,目标机上的Boot Loader通过串口与主机之间进行文件传输,下面不属于通常使用的传输协议的是:( ) A.modem协议 B.xmodem协议 C.ymodem协议 D.zmodem协议 6 Make预置了一些内部宏,其中$@表示:() A.没有扩展名的当前目标文件 B.当前目标文件 C.当前目标文件最近更新的文件名 D.当前目标文件最近更新的文件名 7 在Default kernel command string “root=1f03 rw console=ttyS0,115200 init=/linuxrc”中,代表根文件系统(“/”) 的设备文件主号码是什么?( ) A.1f B.03 C.ttyS0 D.115200 8 用命令dd if=/dev/zero of=ramdisk_img bs=1k count=8192创建的ramdisk_img 其空间大小为多少?( ) A.8M bit

周立功-ARM嵌入式系统基础教程课后习题答案11

第一章 思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系 统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP) 嵌入式片上系统(System On Chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。 其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。 识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展, 分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。 需求风险;时间风险;资金风险;项目管理风险 3、何谓系统规范?制定系统规范的目的是什么? 规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。 4、何谓系统规划?为何要做系统规划 系统规划就是拟定一个开发进程,使项目在合理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。 5、为什么在项目结束前需要进行项目讨论? 项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录 下来,也就是说,这是一个撰写项目历史的过程。 第三章 1、ARM7TDMI中的T、D、M、I的含义是什么? 64 位乘法指令(带M 后缀的)、支持片上调试(带D 后缀的)、高密度16 位的Thumb 指令机扩展(带T 后缀的)和EmbededICE 观察点硬件(带I 后缀的) 2、ARM7TDMI采用几级流水线?使用何种存储器编址方式? 三级流水线(取指译码执行);使用了冯·诺依曼(V on Neumann )结构,指令和数据共用一条 32 位总线。 3、ARM处理器模式和ARM处理器状态有何区别? 处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。 4、分别列举ARM的处理器模式和状态。 状态: ARM 状态32 位,这种状态下执行的是字方式的ARM 指令

嵌入式SQL习题答案

9.3.1 a) void closestMatchPC() { EXEC SQL BEGIN DECLARE SECTION; char manf[], SQLSTATE[6]; int targetPrice, float tempSpeed, speedOfClosest; char tempModel[4], modelOfClosest[4]; int tempPrice, priceOfClosest; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE pcCursor CURSOR FOR SELECT model, price, speed FROM PC; EXEC SQL OPEN pcCursor; EXEC SQL FETCH FROM pcCursor INTO :modelOfClosest, :priceOfClosest, :speedOfClosest; if(NOT_FOUND) /* print message and exit */ ; while(1) { EXEC SQL FETCH pcCursor INTO :tempModel, :tempPrice, :tempSpeed; if (NOT_FOUND) break; if(|tempPrice-targetPrice|<|priceOfClosest-targetPrice|) { modelOfClosest = tempModel; priceOfClosest = tempPrice; speedOfClosest = tempSpeed; } } EXEC SQL SELECT maker INTO :manf FROM Product WHERE model = :modelOfClosest; printf("manf=%s, model=%d, speed=%d\n", manf, modelOfClosest, speedOfClosest); EXEC SQL CLOSE CURSOR pcCursor; }

ARM嵌入式系统课后习题部分答案

A R M嵌入式系统课后 习题部分答案 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

一填空题 嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。 驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。 嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。 处理器分为(ARM)和(Thumb)两种操作状态。 状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15). 处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。 (-S)指令集包括(ARM)指令集和(Thumb)指令集。 指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。指出下面各条指令的寻址方式。 SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。 SUBS R0,R0,#1 ;寻址方式:(立即寻址)。 MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。 SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。 LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。 汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。 对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。 异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。 系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。二选择题 可以表示微控制器的缩略词是( B ) A. MPU B. MCU C. WDT 类存储器包括( ABD ) A. NOR Flash B. EPROM C. SRAM D. PROM 不属于ARM的系列是( D ) A. MCS-96 B. 80C51 C. LPC2000 处理器系列采用( A )级流水线。 A. 3 B. 5 C. 6 D. 8 下面ARM处理器模式中属于特权模式的有( BCD ) A. 用户模式 B. 中断模式 C. 系统模式 D. 管理模式 (或STM)指令允许一条指令最多传送( C )个寄存器。 A. 4 B. 8 C. 16 D. 24 指令限制在当前指令的( B )地址范围。

嵌入式系统试卷及答案

嵌入式系统试卷及答案

2014年上学期11级计算机专业嵌入式系统期末试卷 专业班级学号姓名___ _____ 考试时间120分钟考试方式闭卷考试成绩__________ _ 题号一二三四五六 得分 一、选择题(本大题共10个小题,每小题1分,共10分) 1、和PC机系统相比,下列哪点不是嵌入式系统所特有的:( C) A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 2、ADD R0,R1,#3属于( A)寻址方式。 A、立即寻址 B、多寄存器寻址 C、寄存器直接寻址 D、相对寻址 3、GET伪指令的含义是:(A) A、包含一个外部文件 B、定义程序的入口 C、定义一个宏 D、声明一个变量 4、μCOS-II操作系统不属于:(C) A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 5、FIQ中断的入口地址是:(A) A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 6、ARM指令集和Thumb指令集分别是(D)位的。 A、8位,16位 B、16位,32位 C、16位,16位 D、32位,16位 7、BL和BX的指令的区别是( D ) A、BL是跳转并切换状态;BX带返回的跳转并切换状态。 B、BL是带返回的连接跳转;BX带返回的跳转并切换状态。 C、BL是跳转并切换状态;BX是带返回的连接跳转。 D、BL是带返回的连接跳转;BX是跳转并切换状态。 8、Boot Loader 的启动过程是( A ) A.单阶段 B. 多阶段 C.单阶段和多阶段都有 D.都不是 9、以下说法不正确的是( B ) A 、任务可以有类型说明 B 、任务可以返回一个数值 C 、任务可以有形参变量 D 、任务是一个无限循环 10、若已定义的函数有返回值,则以下关于该函数调用叙述中错误的是(D) A、函数调用可以作为独立的语句存在

arm嵌入式系统课后习题部分答案

a r m嵌入式系统课后习题 部分答案 The pony was revised in January 2021

一填空题嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。 驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。 嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。处理器分为(ARM)和(Thumb)两种操作状态。 状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15). 处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。 (-S)指令集包括(ARM)指令集和(Thumb)指令集。 指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。 指出下面各条指令的寻址方式。 SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。

SUBS R0,R0,#1 ;寻址方式:(立即寻址)。 MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。 SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。 LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。 汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。 对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。 异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。 系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。二选择题 可以表示微控制器的缩略词是( B ) A. MPU B. MCU C. WDT 类存储器包括( ABD )

单片机原理及应用张毅刚课后习题答案完整版

第1章思考题及习题1参考答案 一、填空 1. 除了单片机这一名称之外,单片机还可称为或。答:微控 制器,嵌入式控制器. 2.单片机与普通微型计算机的不同之处在于其将、、和 三部分,通过内部连接在一起,集成于一块芯片上。答:CPU、存储器、I/O口、总线 3. AT89S52单片机工作频率上限为 MHz。答:33 MHz。 4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低 和提高。答:成本,可靠性。 二、单选 1. 单片机内部数据之所以用二进制形式表示,主要是 A.为了编程方便B.受器件的物理性能限制 C.为了通用性D.为了提高运算速度答:B 2. 在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用

C.数值计算应用D.数据处理应用 答: B 3. 下面的哪一项应用,不属于单片机的应用范围。 A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备 答:C 三、判断对错 1. STC系列单片机是8051内核的单片机。对 2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、 1个中断源、1个定时器(且具有捕捉功能)。对 3. 单片机是一种CPU。错 4. AT89S52单片机是微处理器。错 5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。错 6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。对 7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。对

嵌入式Linux试题答案

《嵌入式开发》期中试卷 试卷适用范围:2011级计算机科学与技术(本)1、2班 一、填空题(每空1分,共46分) 习题 1 1.填空题 (1)嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 (2)嵌入到对象体系中的专用计算机系统。嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。对象系统是指嵌入式系统所嵌入的宿主系统。 (3)嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SOC)。 (4)嵌入式系统由硬件和软件两大部分组成,硬件一般由高性能微处理器和外围接口电路组成,软件一般由操作系统和应用程序构成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)连接。 (5)嵌入式系统从组织层次上看,嵌入式系统一般由硬件层、中间层、软件层和功能层组成。 (6)在专用的嵌入式板子上面运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、 Linux内核、文件系统、用户应用程序。 (7)嵌入式系统硬件的核心部件是各种类型的嵌入式处理器。 (8)嵌入式系统的核心部件是嵌入式处理器,一般把嵌入式处理器分成4类,即微处理器、微控制器、数字信号处理器、和嵌入式片上系统。 (9)ARM公司首创了 chipless 的生产模式,专门从事基于RISC技术芯片的设计开发,公司本身并不生产芯片,而是设计出高效的IP内核,授权给半导体公司使用。 (10)ARM7TDMI中,T表示支持Thump指令集。D表示支持片上调试(Debug)。M表示内嵌硬件乘法器(Multiplier)。I表示支持片上断点和调试点。 (11)ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。 (12)ARM微处理器有两种工作状态:Thump状态、ARM状态。 (13)通用寄存器分为三类:未分组寄存器、分组寄存器、程序计数器(PC)。 (14)异常是由内/外部源引起的需要处理器干预的一个事件。 (15)精简指令集计算机RISC(Reduced Instruction Set Computer)和复杂指令集计算机CISC 是当前CPU的两种架构。 (16)ARM微处理器的在较新的体系结构中支持两种指令集: ARM指令集、Thump指令集。 (17)MMU的作用有两个:将虚拟地址转化为物理地址、对存储器访问的

嵌入式系统课后习题及答案

第1章嵌入式系统基础 1.什么是嵌入式系统?它由哪几部分组成?有何特点?写出你所想到的嵌入 式系统。 答:(1)定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠 性、成本、体积、功耗等严格要求的专用计算机系统。 (2)组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几部分组成。 (3)特点:a.软硬件一体化,集计算机技术、微电子技术、行业技术于一体; b.需要操作系统支持,代码小,执行速度快; c.专用紧凑,用途固定,成本敏感; d.可靠性要求高; e.多样性,应用广泛,种类繁多。 (4)嵌入式系统:个人数字助理(PDA)、机顶盒(STB)、IP电话。 2.嵌入式处理器分为哪几类? 答:(1)低端的微控制器(MicroController Unit,MCU); (2)中高端的嵌入式微处理器(Embeded MicroProcessor Unit,EMPU); (3)通信领域的DSP处理器(Digital Signal Processor,DSP); (4)高度集成的片上系统(System on Chip,SoC)。 3.ARM英文原意是什么?它是一个怎样的公司?其处理器有何特点? 答:(1)英文原意:Advanced RISC Machines。高级精简指令集机器。 (2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和 系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。ARM公司已 成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标 准。 (3)其处理器特点:a.小体积、低功耗、低成本而高性能;b.16/32位双指令集;c.全球的合作伙伴众多。 4.什么是实时系统?它有哪些特征?如何分类? 答:(1)实时系统的定义:实时系统(Real Time System)是指产生系统输出的时间对系统至关重要的系统。 (2)特征:实时性、并行性、多路性、独立性、可预测性、可靠性。 (3)分类:根据响应时间的不同,实时系统可分为3种类型:强实时系统、弱实时系统、一般实时系统。 根据确定性的不同,实时系统可分为2种类型:硬实时、软实时。 5.RTOS由哪几部分组成?它有哪些特点?与一般操作系统相比有何不同? 答:(1)组成:实时内核、网络组件、文件系统、图形用户界面。 (2)特点:a.支持异步事件的响应;b.中断和调度任务的优先级机制;c. 支持抢占式调度;d.确定的任务切换时间和中断延迟时间;e.支持同步。 (3)与一般OS的不同: a.实时性:响应速度快,只有几微秒;执行时间确定,可预测; b.代码尺寸小:只有10~100KB,节省内存空间,降低成本; c.应用程序开发较难; d.需要专用开发工具:仿真器、编译器和调试器等。

ARM课后习题及答案_百度文库.

第一章思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。嵌入式微处理器(Embedded Microprocessor Unit, EMPU 嵌入式微控制器(Microcontroller Unit, MCU 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP 嵌入式片上系统(System On Chip 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。需求风险;时间风险;资金风险;项目管理风险 3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。 4、何谓系统规划?为何要做系统规划系统规划就是拟定一个开发进程,使项目在合理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。 5、为什么在项目结束前需要进行项目讨论?项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录下来,也就是说,这是一个撰写项目历

ARM嵌入式系统试题及答案解析

ARM嵌入式系统基础教程 ----期中开卷 专业:软件1002班姓名:王世伟学号:04103060(24) 一、嵌入式系统基本概念 1、什么是嵌入式系统?有何特点? 答:所谓嵌入式,实际上是“嵌入式计算机系统”,的简称,它是相对于通用计算机系统而言,注重于发展独立的单芯片技术。嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。 特点:(1)嵌入式系统是将先进的计算机技术,半导体技术以及电子技术与各行业的具体应用相结合的产物,这一点就决定了他必然是一个技术密集,资金密集,高度分散,不断创新的知识集成系统。(2)系统内核小(3)专用性强(4)系统精简(5)系统软件要求(6)嵌入式软件开发要走向标准化,需要使用多任务的操作系统。(7)嵌入式系统本身并不具备在其上进行进一步开发的能力。 2、举例在你的身边常见到的嵌入式系统产品,谈一谈你对“嵌入式系统”的初步理 解。 答:产品有:洗衣机,空调,手机。 嵌入式系统就是内置小计算机系,可以对机器进行智能控制的系统。 3、嵌入式系统的3个基本特点? 答:(1)专用性(2)嵌入型(3)计算机系统 4、什么是嵌入式处理器,嵌入式处理器可以分为几大类? 答:嵌入式处理机是嵌入式的核心,是控制,辅助系统运行的硬件单元。 分类:四大类(1)嵌入式微处理器(2)嵌入式微控制器(3)嵌入式DSP处理器(4)SoC片上系统 5、广泛使用的三种类型的操作系统? 答:多道批处理操作系统、分时操作系统以及实时操作系统。 6、列举常见的4种嵌入式操作系统?说明你对嵌入式操作系统的基本认识,嵌入式 操作系统在嵌入式系统开发中的必要性。 答:嵌入式Linux、WinCE、VxWorks、μC/OS-II 没有操作系统的计算机效率十分底下,把操作系统嵌入到计算机中,可以提高系统

相关主题