logo资料库

嵌入式系统原理及应用----基于ARM Cortex-M3内核的STM32F103系列微控制器(课后答案).pdf

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
习题 1 1、 什么是嵌入式系统?他和人们日常使用的 PC 有什么区别和联系? 答: 1) 嵌入式系统的定义从不同角度可以有不同的定义。 ·从广义的角度: 嵌入式系统是一切非 PC 和大型机的计算机系统 ·从应用的角度: 嵌入式系统是控制、监视或辅助设备、机器和车间运行的装置。 ·从系统的角度: 嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统,是更 大系统的一个完整的子系统。 ·从技术的角度: 嵌入式系统是一个以应用为中心、以计算机技术为基础,并融合微电子技术、通信技和自动 控制技术,而且软硬件可裁剪,适用于应用系统对功能、可靠性、 成本、体积、功耗和应 用环境有特殊要求的专用计算机系统。 2) 相同点: 两者都属于计算机系统,都是由硬件和软件构成。 不同点: 形态:“嵌入”于不同设备 VS 基本雷同的标准形态独立存在 价值:“嵌入”的不同设备 VS 通用指标(计算能力、存储能力) 功耗:几毫 w 到几 w VS 几百 w 功能:专用单一 VS 通用复杂 资源:够用就行 VS 大而全 实时:系统最坏情况下的行为 VS 系统平均响应时间和用户方便 可靠:恶劣环境无人值守长时间 VS 一般环境 开发:交叉开发在线仿真固化存储 VS 单机开发二次编程 生命:8-10 年 VS 18 个月 竞争:百家争鸣 VS 巨头垄断 2、 列举嵌入式系统的主要特点。 答: 专用性、可裁剪行、实时性、可靠性、具有较长的生命周期、不易被垄断。 3、 比较嵌入式微处理器 MPU 和嵌入式微控制器 MCU 之间的区别和联系。 答: 1) (MPU)嵌入式微处理器以通用处理器(CPU)为基础。将微处理器装配在专门设计的电路 板上,只保留和嵌入式应用有关的功能;外接电路必须包括 ROM、RAM、总线接口、各 种外设等器件。 2) (MCU)嵌入式微控制器又称单片机,是将整个计算机系统浓缩集成到一块芯片中。一般 以某一种微处理器内核为核心,芯片内部集成 ROM/EPROM、RAM、总线、总线逻辑、 定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash 等各种必要功能 和外设 4、 什么是冯诺伊曼结构?什么是哈佛结构? 答: 1)冯诺伊曼体系结构:指令和数据不加以区分,都通过数据总线进行传输。因此,指令读 取和数据访问不能同时进行,数据吞吐量低,但总线数量相对较少且管理统一。大多数通用
计算机的处理器(如 Intel X86)和嵌入式系统中的 ARM7 处理器均采用冯诺依曼结构。 2)哈佛体系结构:指令与数据分开存储在不同的存储空间,使得指令读取和数据访问可以 并行处理,显著提高了系统性能,但需要较多数量的总线。大多数嵌入式处理器都采用哈佛 结构。 5、 简述嵌入式 I/O 接口的功能、组成和编制方式。 答: 1)功能:嵌入式 I/O 接口连接和控制嵌入式 I\O 设备,负责完成嵌入式处理器和嵌入式 I\O 设备间的信号转换、数据传输和速度匹配。 2)组成:寄存器(数据寄存器、控制寄存器、状态寄存器)、I\O 控制逻辑部件、外设接口 逻辑。 3)编制方式:为寄存器指定端口地址的方法被称为 I\O 接口的编制方式,一般来说 I\O 接 口编制方式有统一编址和独立编址。 6、 无操作系统的嵌入式软件主要有哪几种实现方式? 答: 循环轮询系统、前后台系统 7、 什么是引导加载程序?它的主要功能是什么? 答: 引导程序一般由汇编语言编写,在嵌入式系统上电后运行,完成自检、存储映射、时钟系统 和外设接口配置等一系列硬件初试化工作。 8、 列举嵌入式系统的主要分类? 答: 1)按硬件划分:根据嵌入式处理器的字长,可分为 4,8,16,32,64 位嵌入式系统。 2)按软件复杂度划分:无操作系统控制、小型操作系统控制、大型操作系统控制的嵌入式 系统。 3)按实时性划分:非实时嵌入式系统、硬实时嵌入式系统、软实时嵌入式系统。 9、 列举嵌入式系统的主要应用领域。 答: 国防军事、工业控制、消费电子、办公自动化产品、网络和通信设备、汽车电子、金融商业、 生物医学、信息家电。 习题 2 1、 概述嵌入式系统的开发环境。 答: 嵌入式系统的开发环境称为交叉开发环境,有宿主机、目标机以及它们之间的连接构成。 首先,在宿主机(host)上建立开发环境,进行应用程序编写和交叉编译 然后,在宿主机和目标机(target)之间建立连接将应用程序下载到目标机上进行交叉调试 最后,将应用程序固化到目标机中实际运行 2、 简述嵌入式软件开发工具的构成。 答: 编辑器、编译器、链接器、调试和下载工具。 3、 列举目前常用的嵌入式软件集成开发工具。 答: KEIL MDK、IAR EWARM 4、 嵌入式调试方式有哪些? 答:
软件模拟器、ROM 监控器、ROM 仿真器、在线仿真器、片上调试 5、 什么是 JTAG?它属于哪种嵌入式调试方式?简述 JTAG 接口的引脚定义。 答: 1)JTAG 是一种关于测试访问和边界扫描结构的标准,用于芯片内部测试及对程序进行调试、 下载。 2)片上调试 3)JTAG 接口的引脚定义包括 TCK、TDI、TDO、TMS、nTRST。 6、 目前常用的嵌入式软件开法语言有哪些?他们分别具有什么特点? 答: 汇编语言、C 语言、Java 语言 1)汇编语言:对底层设备操控性好、效率高但编程复杂功能有限、可读性、可移植性差。 2)C 语言:语言简洁紧凑,使用方便灵活、表达能力强代码质量高、执行效率高等。 3)Java 语言:面向对象、解释性、平台无关、分布式、健壮、安全、动态、支持多线程。 7、 嵌入式系统的开发过程可以分为哪几个阶段? 答: 需求分析、系统规划、系统实现、系统测试、系统发布 习题 3 1、 简述 ARM 处理器家族的发展史。 答: ARM 公司继 ARM7、ARM9、ARM11 之后,推出新一代处理器 ARM Cortex。 2、 ARM Cortex 处理器分为哪几个系列?每个系列又分别面向哪些应用场合? 答: 1)Cortex-A:面向高端的基于虚拟内存的复杂操作系统应用。 2)Cortex-R:面向实时领域的应用。 3)Cortex-M:面向低成本低功耗的传统单片机应用场合。 3、 详述 ARM Cortex-M3 处理器的构成。 答: ARM Cortex-M3 处理器由 Cortex-M3 内核和调试系统构成,Cortex-M3 内核主要由 core 中央 处理器核心、NVIC 嵌套向量中断控制器、SYSTICK 系统定时器、MPU 存储保护单元和总线矩 阵等组成。调试系统包括停机和调试监控器两种模式、指令断点、寄存器、存储访问以及性 能分析此外还具有指令跟踪、数据跟踪、调试信息跟踪。 4、 ARM Cortex-M3 处理器的总线接口有哪些类型? 答: 主要有 I-Code 总线、D-Code 总线、系统总线、外部私有外设总线和调试访问端口总线 DAP。 5、 ARM Cortex-M3 处理器有几种工作状态?支持哪些数据类型? 答: 两种工作状态:Thumb 状态和调试状态。 数据类型:字(32b)、半字(16b)、字节(8b) 6、 详述 ARM Cortex-M3 的寄存器及其主要用途。 答: 1)通用寄存器(R0~R12):数据操作。 2)堆栈指针寄存器(SP):用作堆栈指针。 3)链接寄存器(LR):调用子程序时保存返回地址。 4)程序计数器(PC):用于存放下一条执行的指令地址。
5)特殊功能寄存器组:预定义的功能。 7、 概述 ARM Cortex-M3 处理器的两种操作模式及其切换机制。 答: 线程模式和处理者模式,异常产生使中断用户应用程序执行从线程模式切换到处理者模式, 执行异常服务程序,异常返回,由处理者模式切换到线程模式,继续执行被打断的用户应用 程序。 8、 异常和中断有什么联系和区别?ARM Cortex-M3 处理器最多能支持多少种异常?他们的 优先级是如何规定的? 答: 1) 在 ARM 中凡是发生打断程序正常执行流程的事件,都被称作异常。中断是一种特殊的 异常且是异步事件,异常还包括同步事件。 2) ARM Cortex-M3 处理器最多能支持 240 种异常。 3) 优先级通过抢占优先级和子优先级划分。 9、 假设 ARM Cortex-M3 处理器要将以下数据以小端格式写入存储器,依次写出实现以下功 能的 C 语句,并画出这些数据在 ARM 存储器中的存储空间分布图: (1) 大写字母’E’存放在地址 0x20000400 上。 (2) 双字节数据 0xEF0 存放到地址 0x2000012C 上。 (3) 四字节数据 0XA1234 存放到地址 0x20000034 上。 习题 4 1、 简述 ARM Cortex 内核与基于 ARM Cortex-M3 内核的微控制器之间的区别和联系。 答: ARM Cortex 内核是 ARM 公司设计,而基于 ARM Cortex 内核的微控制器是各大厂商根据 ARM 公司的内核,设计各具特色的微控制器。其中 MPU 由 ARM Cortex 内核、调试系统、内部总 线、外设、存储器、时钟复位、IO 等封装而成。(MCU=CPU+RAM/ROM+I/O) 2、 简述 STM32 系列微控制器的适合场合、命名规则和主要产品线。 答: 1)适合场合: 替代绝大部分 10 元以上的 8/16MCU 的应用 替代目前常用的 32 位 MCU(ARM7)的应用 小型 OS 相关的应用 简单图形和语音相关的应用 2)命名规则: 名称主要有以下部分组成产品系列名、产品类型名、产品子系列名、引脚数、Flash 存储器 容量、封装方式、温度范围。 3)主要产品线: 产品线包括高性能、主流、超低功耗三大类,分别面向不同的应用。 3、 目前微控制器的开发方法主要有哪些? 答: 寄存器开发、库函数开发、中间件开发 4、 STM32F103 微控制器的主系统由哪几部分构成?画出 STM32F103 微控制器的系统结构 图。 答: 主系统由 4 个主动单元和 4 个被动单元构成,它们彼此之间通过一个多级的 AHB 总线架构 相互连接。其中 4 个主动单元包括 Cortex-M3 内核数据总线和系统总线、通用 DMA1 和通用
DMA2,4 个被动单元包括内部 SRAM、内部闪存存储器、FSMC 和连接所有 APB 设备的 AHB 到 APB 桥。P138 (图 4-6) 5、 画出 STM32F103 微控制器的存储器映射图。 答:P108(图 3-20) 6、 什么是微控制器的最小系统?它通常由哪几部分组成? 答: 1)一个微控制器的最小系统是指使为控制器正常工作所需的最少原件。 2)通常由微控制器芯片、电源电路、时钟电路、复位电路、调试和下载电路等部分组成。 7、 简述 STM32F103 微控制器的供电方案。 答: 1)主电源 VDD(必需) 2)实时时钟和一部分备份寄存器的电源 VBAT(可选) 3)ADC 模块所需的参考电压 VREF+和 VREF-(可选) 其中每个电压供应引脚都需要至少一个去耦电容 8、 STM32F103 微控制器集成了标准 ARM CoreSight 调试端口 SWJ-DP,它有两种不同的端口: JTAG-DP 和 SW-DP。相比 JTAG-DP,SW-DP 有什么优势? 答: SW-DP 串行线调试端口,占用的引脚比较少,为 AHP-AP 模块提供 2 针(时钟+数据)接口。 9、 STM32F103 微控制器有哪些时钟源? 答: 高速外部时钟、高速内部时钟、低速外部时钟、低速内部时钟 10、STM32F103 微控制器 AHB 高速总线时钟 HCLK、APB2 外设总线时钟 PCLK2 和 APB1 外设 总线时钟 PCLK1 分别给哪些模块提供时钟信号?当 STM32F103 微控制器复位后,他们默认 的工作频率分别是多少? 答:P156 1) 高速总线 AHB 时钟(HCLK):为 Cortex-M3 内核、存储器、DMA 提供时钟信号,72MHz。 2) APB2 外设总线时钟(PCLK2):为挂载在 APB2 总线上的外设提供时钟信号,72MHz。 3) APB1 外设总线时钟(PCLK1):为挂载在 APB1 总线上的外设提供时钟信号,36MHz。 11、STM32F103 微控制器有哪些低功耗模式?他们各自有什么特点?如何进入和退出这些低 功耗模式? 答: 1)睡眠模式:内核停止工作,外设还在继续工作。CPU 停止运行、PLL 关闭、关闭除唤醒 内核的外设外其他所有外设时钟。当内核遇到 WFE 或 WFI 指令进入睡眠模式,直到某个外 设产生事件或中断请求,退出睡眠模式。 2)停机模式:睡眠模式的基础上,所有外设时钟都被关闭。CPU 停止运行、PLL、HIS、HSE、 关闭、关闭所有外设时钟、调压器低功耗模式。先设置电源控制寄存器 SLEEPDEEP 位置位、 PDDS 清零,一旦遇到 WFE 或 WFI 指令,进入停机模式。通过 EXTI 信号唤醒。EXTI 信号可 以是 16 个外部 I\O 引脚之一、PVD 的输出、RTC 闹钟或 USB 唤醒信号。 3)待机模式:最低的电能消耗。CPU 停止运行、PLL、HIS、HSE、关闭、关闭所有外设时钟、 调压器关闭。先设置电源控制寄存器 SLEEPDEEP 位置位、PDDS 置位,一旦遇到 WFE 或 WFI 指令,进入待机模式。退出条件是 NRST 引脚上的外部复位信号、IWDG 复位、WKUP 引脚 上的上升沿或 RTC 闹钟事件。 12、STM32F103 微控制器有哪些安全特性? 答:
看门狗、电源检测、时钟安全系统 13、什么是看门狗?STM32F103 微控制器的看门狗有何特性? 答: 1)看门狗是嵌入式系统中常用的安全保障行机制。 2)它可以实时监测程序的运行状态,即使由于某种原因微控制器进入一个错误状态,程序 跑飞进入死循环,系统也可以自动恢复。 14、什么是启动代码?它主要执行哪些工作? 答: 1)启动代码用来初始化系统以及为嵌入式操作系统或者使用高级语言编写的嵌入式应用软 件做好运行前准备的一段汇编语言程序。 2)初始化异常向量表、初始化时钟系统、初始化存储器系统、初始化堆栈和跳转到 main 函数等。 15、简述 STM32F103 微控制器的启动过程。 答: 1)根据 BOOT0 和 BOOT1 引脚选择启动存储器映射。 2)从地址 0x00000000 处取出栈顶指针值放入 MSP。 3)从地址 0x00000004 处取出复位异常服务程序的入口地址放入 PC。 4)执行复位异常服务程序。 16、使用嵌入式软件开发工具(如 KELL MDK 等)构建基于 STM32F103 微控制器应用的开发 过程,具体可以分为那几步? 答: 一般可分为 7 步: 1) 从 ST 官网下载 STM32F10x 标准外设库。 2) 下载安装嵌入式开发工具。 3) 通过官方控制模板和硬件型号更改相关配置选项。 4)编写程序代码。 5)编译链接工程。 6)使用软件模拟仿真或下载硬件运行等方式调试程序。 7)下载到微控制器,复位从新运行。 习题 5 1、 什么是 GPIO? 答: 微控制器数字输出输出的基本模块 2、 列举 STM32F103 微控制器 GPIO 的 8 种工作模式及使用场合。 答:P224 (1)上拉输入 (2)下拉输入 (3)浮空输入 (4)模拟输入 (5)普通推挽输出 (6)普通开漏输出 (7)复用推挽输出 (8)复用开漏输出 3、 对于 STM32F103 微控制器 GPIO 来说,什么是复用功能重映射?要实现 STM32F103 微控
制器某个引脚的复用功能重映射,具体分哪几步操作? 答:P226 (1) 用户根据实际需要可以把某些外设的复用功能从默认引脚转移到备用引脚上,这就 是外设复用功能的 I/O 引脚重映射。 (2) 1)使能被重新映射到的 I/O 引脚的时钟 2)使能 APB2 总线上的 AFIO 时钟 3)按复用功能的方式配置 I/O 引脚 4)使能被重新映射的外设时钟 5)对外设进行 I/O 引脚重映射 4、 哪些情况下需要使能 STM32F103 微控制器 APB2 总线上的 AFIO 时钟? 答: 1)外设复用功能重映射 2)外部中断映射 3)事件输出 5、 概述 STM32F103 微控制器 GPIO 的主要特性。 答: P228 6、 简述使用库函数开发 STM32 微控制器应用的一般步骤。 答: P241 7、 简述使用库函数操作 STM32F103 微控制器 GPIO 的具体过程。 答: 1)使能该引脚所属 GPIO 端口(如 GPIOA、GPIOB 等)的时钟 2)通过 GPIO_InitTypeDef 结构体变量配置 GPIO 引脚 3)操作该引脚 习题 6 1、 嵌入式系统中,定时器的主要功能有哪些? 答:延时、定时、计数、输入捕获、输出比较、PWM 输出等高级功能。 2、 STM32F103 微控制器定时器的类型有哪几种?STM32F103 微控制器不同类型的定时器有 什么区别? 答:(P254、P263、P266,三个定时器的主要特性的区别) (1) 1)基本定时器 TIM6 和 TIM7、 2)通用定时器 TIM2---TIM5、 3)高级定时器 TIM1 和 TIM8 (2) 基本定时器只具备基本的定时功能,通用定时器除了基本的定时功能外它主要用于 测量输入脉冲的频率和脉冲宽度以及输出 PWM 脉冲等场合,还具有编码器接口。 高级定时器除了具有通用定时器的所有功能外,还可以被看成是一个分配到 6 个通 道的三相 PWM 发生器,具有带死区插入的互补 PWM 输出。 3、 STM32F103 微控制器通用定时器的常用工作模式有哪些? 答: 1)计数模式(向上、向下、双向计数)、 2)输出比较模式、 3)PWM 输出模式、 4)输入捕获模式、
5)PWM 输入模式、 6)单脉冲模式。 4、 什么是 PWM?PWM 的实现方式有哪几种? 答: (1) 脉冲宽度调制,指对脉冲宽度的控制。 (2) 1)传统的数字电路方式 2)微控制器普通 I/O 模拟方式 3)微控制器的 PWM 直接输出方式。 5、 简述无操作系统下基于无限循环的嵌入式软件架构的组成及应用场合。 答: while(1){}用于延时。 6、 使用 C 语言开发基于 STM32F103 微控制器的应用程序时,是否可以像在 PC 上一样调用 printf 函数输出信息?如果可以?应该预先做哪些配置? 答: (1) printf 函数可以输出信息,但是需要输出重定向到其他设备(默认是设备显示器) (2) 1)重现实现 fputc 函数 2)包含头文件 stdio.h 3)勾选 USE MicroLIB 项 习题 7 1、 中断服务函数与普通的函数相比有何异同? 答: 1)相同点:结构上两者非常相似 2)不同点:函数一般有参数和返回值,并在应用程序中被认为显示的调用执行,而中断服 务程序没有参数和返回值,并只有中断发生时才会被自动隐式地调用执行。 2、 什么是中断向量表?它通常存放在存储器的哪个位置? 答: 1)中断向量表是一块存储区域,中断对应的中断服务程序的入口地址统一存放在中断向量 表中。 2)中断向量表一般位于存储器的零地址位置。 3、 概述中断处理过程。 答: 1) --- >中断响应(保护现场、中断向量表中找到该中断对应的中断服务程序的地址) 2) --- >执行中断服务程序 3) --- >中断返回 4、 简述使用中断的优缺点。 答: 1)优点:协调系统对各种外部事件的响应和处理,使系统能够快速响应紧急事件或优先处 理重要人物,减少 CPU 负荷,加快对事件的响应速度,显著地提高系统效率。 2)缺点:1、中断会增加程序执行的不确定性和时间长度。 5、 STM32F103 微控制器的中断系统共支持 84 个异常。其中包括 16 个内部异常和 68 个可 2、中断会抢占正在使用的资源。 3、中断嵌套会增加栈空间。 屏蔽的非内核异常中断。 6、 STM32F103 微控制器的中断系统,使用 4 位优先级设置,一共支持 16 级可编程异常优
分享到:
收藏