嵌入式作业题答案概要

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章嵌入式系统概述

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

答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。组成:嵌入式处理器、外围设备、操作系统、应用软件。

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

3.答:微处理器、微控制器、DSP处理器、片上系统SOC。

4.典型的RTOS操作系统有哪些?

5.答:嵌入式Linux、μCLinux、Windows Embedded CE、Windows Embedded Compact 7、μC/OS-II、μC/OS-III、VxWorks、eCos等。

6.列举身边的嵌入式应用产品?

7.嵌入式系统的设计可以分成四个阶段:需求分析、架构设计和概要设计、详细设计和开发、测试反馈。

第2章 Cortex-M体系结构

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

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

10.3、Cortex-M3 处理器能够以小端格式或大端格式访问存储器中的数据字,而访问代码时始使用小端格式。

11.ARM Cortex-M3体系结构采用哈佛总线结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行。

12.CM3寄存器分为通用寄存器,包括R0~R15。和特殊功能寄存器,包括程序状态寄存器、异常屏蔽寄存器、控制寄存器。

13.寄存器R13是堆栈指针寄存器。

14.寄存器R14是程序连接寄存器。

15.寄存器R15是程序PC。

16.CM3的堆栈指针分为__MSP__、__PSP_。存储器堆栈堆栈分为:向上生长(即向高地址方向生长)的递增堆栈;向下生长(即向低地址方

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

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

18.PRIMASK寄存器的作用是___中断屏蔽寄存器____。

19.寄存器CONTROL的作用是控制处理器工作级别及堆栈切换。

20.CM3支持的4GB存储空间被划分成:CODE、片上RAM、片上外设、片外RAM、片外外设、内核私有6个区域。

21.CM3中有一个位绑定区分别位于片上RAM和片上外设区,其大小为1M字节,由32M字节空间的位绑定别名区来访问。

22.CM3支持16种系统异常,和240种外设中断。

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

第3章STM32基础及最小系统设计

24.STM32F103RBT7芯片的在片Flash存储器有128KB 字节,在片SRAM存储器有20KB 字节。

25.STM32F103RBT7芯片工作时电源电压是 3.3 V。

26.STM32最小系统电路包含:MCU芯片、电源电路、时钟电路、复位电路和启动设置电路。

27.连接在APB1上的设备有:电源接口、备分接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、WatchDog、Timer2、Timer3和Timer4。

28.连接在APB2上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、I/O(PA~PE,第二功能I/O)。

29.假定STM32F103单片机外部振荡器是8MHz。执行下列程序。

void BSP_Init(void)

{

RCC_HSEConfig(RCC_HSE_ON);

HSEStartUpStatus = RCC_WaitForHSEStartUp();

if(HSEStartUpStatus == SUCCESS)

{

RCC_PCLK2Config(RCC_HCLK_Div1); // PCLK2 = HCLK=72MHz

RCC_PCLK1Config(RCC_HCLK_Div2); // PCLK1 = HCLK/2 =38MHz

RCC_HCLKConfig(RCC_SYSCLK_Div1); //HCLK = SYSCLK =72MHz

RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); // PLLCLK = 8 * 9 = 72MHz

RCC_PLLCmd(ENABLE); // Enable PLL

请问,上述程序执行后,HCLK= 72MHz ,PCLK1= 38MHz ,PCLK2= 72MHz ,

30. 利用Cortex-M3内核的24位定时器(SysTick),定时10ms ,请计算初值并写出初始化程序,SysTick 配置函数:uint32_t SysTick_Config(uint32_t

ticks)。假设HCLK 的时钟是72MHz 。 答:初值=720000-1。

ms N M

10721

=⨯

,共中N 是计数的次数,由于SysTick 是减计数器,因此初值为720000-1。 void SysTickInit (void) { SysTick_Config(720000-1);

}

第5章 通用I/O 结构及应用

31. STM32F103微控制器的I/O 端口有PA~PG ,每组多达 16 端口。

32. STM32F103微控制器的I/O 端口的功能:通用输入/输出、中断功能、复用功能和重映射功能。 33. 请编程实现如图所示4只发光二极管流水。

/********************************************************/ /*说明:PC8-PC15连接LED

********************************************************/ #include "stm32f10x.h" #include "system_stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" void DelayMs( int n);

/********************************************************/ int main(void) {

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9

|GPIO_Pin_10|GPIO_Pin_11;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_Write(GPIOC, 0xFFFF); /********************************************************/ while(1) {

GPIO_ResetBits(GPIOC, GPIO_Pin_8);

DelayMs(500);

GPIO_SetBits(GPIOC, GPIO_Pin_8); GPIO_ResetBits(GPIOC, GPIO_Pin_9); DelayMs(500);

GPIO_SetBits(GPIOC, GPIO_Pin_9); GPIO_ResetBits(GPIOC, GPIO_Pin_10); DelayMs(500);

GPIO_SetBits(GPIOC, GPIO_Pin_10); GPIO_ResetBits(GPIOC, GPIO_Pin_11); DelayMs(500);

GPIO_SetBits(GPIOC, GPIO_Pin_11);

} }

相关文档
最新文档