嵌入式作业题答案概要.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式作业题答案概要

第1章 嵌入式系统概述 什么是嵌入式系统?嵌入式系统的组成? 答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。μCLinux、Windows Embedded CE、Windows Embedded Compact 7、μC/OS-II、μC/OS-III、VxWorks、eCos等。 列举身边的嵌入式应用产品? 嵌入式系统的设计可以分成个阶段:分析、。 ARM Cortex-M3体系结构采用哈佛总线结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行。 CM3寄存器分为通用寄存器,包括R0~R15。和特殊功能寄存器,包括程序状态寄存器、异常屏蔽寄存器、控制寄存器。 寄存器R13是堆栈指针寄存器。 寄存器R14是程序连接寄存器。 寄存器R15是程序PC。 CM3的堆栈指针分为__MSP__、__PSP_。存储器堆栈堆栈分为:向上生长(即向高地址方向生长)的递增堆栈;向下生长(即向低地址方向生长),称为递减堆栈。堆栈指针指向最后压入堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个数据项放入的空位置,称为空堆栈。试判断CM3属于递减堆栈堆栈和满堆栈堆栈。 在CM3中记录程序状态的寄存器是___xPSR____。都分别有些什么状态_应用状态、中断状态、可执状态。 PRIMASK寄存器的作用是___中断屏蔽寄存器____。 寄存器CONTROL的作用是控制处理器工作级别及堆栈切换 。 CM3支持的4GB存储空间被划分成:CODE、片上RAM、片上外设、片外RAM、片外外设、内核私有6个区域。 CM3中有一个位绑定区分别位于片上RAM和片上外设区,其大小为1M字节,由32M字节空间的位绑定别名区来访问。 CM3支持16种系统异常,和240种外设中断。 SysTick是一个___24_____位的系统定时器。通常的功能是_作为操作系统时钟__。 第3章STM32基础及最小系统设计 STM32F103RBT7芯片的在片Flash存储器有 128KB 字节,在片SRAM存储器有 20KB 字节。 STM32F103RBT7芯片工作时电源电压是 3.3 V。 STM32最小系统电路包含:MCU芯片、电源电路、时钟电路、复位电路和启动设置电路。 连接在APB1上的设备有:电源接口、备分接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、WatchDog、Timer2、Timer3和Timer4。 连接在APB2上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、I/O(PA~PE,第二功能I/O) 。 假定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 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); // 等待 PLL就绪 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // 设置PLL作为时钟源 while(RCC_GetSYSCLKSource() != 0x08); // 等PLL时钟源启动就绪 } } 请问,上述程序执行后,HCLK= 72MHz ,PCLK1= 38MHz ,PCLK2= 72MHz , 利用Cortex-M3内核的24位定时器(SysTick),定时10ms,请计算初值并写出初始化程序,SysTick配置函数:uint32_t SysTick_C

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档