stm32面试题

一、选择题
1.Cortex-M处理器采用的架构是( D )

(A)v4T (B)v5TE (C)v6 (D)v7

2.NVIC可用来表示优先权等级的位数可配置为是( D )

(A)2 (B)4 (C)6 (D)8

3.Cortex-M系列正式发布的版本是( A )

(A)Cortex-M3 (B)Cortex-M4 (C)Cortex-M6 (D)Cortex-M8

4.Cortex-M3的提供的流水线是( B )

(A)2级 (B)3级 (C)5级 (D)8级

5.Cortex-M3的提供的单周期乘法位数是( C )

(A)8 (B)16 (C)32 (D)64

6.STM32处理器的USB接口可达(B )

(A)8Mbit/s (B)12Mbit/s (C)16Mbit/s (D)24Mbit/s

4.下面是Context-M3处理器代码执行方式的是( A )

(A)特权方式 (B)普通方式 (C)Handle方式 (D)Thread方式

5.下面是Context-M3处理器的工作模式的是( A )

(A)Thread模式 (B)Thumb模式 (C)Thumb-2模式 (D)Debug模式

6.下列是Cortex – M3处理器可以使用的堆栈的栈是( B )

(A)线程栈 (B)进程栈 (C)多线程栈 (D)空栈

7.Context – M3处理器的寄存器r14代表( B )

(A)通用寄存器 (B)链接寄存器 (C)程序计数器 (D)程序状态寄存器

8.Handle模式一般使用( A )

(A)Main_SP (B)Process_SP (C)Main_SP和Process_SP (D)Main_SP或Process_SP

9.Cortex – M3使用的存储器格式是( D )

(A)小端格式 (B)大端格式 (C)小端或大端格式 (D)没有正确答案

10.Cortex – M3的存储格式中专用外设总线区域可以使用( A )

(A)小端格式 (B)大端格式 (C)小端或大端格式 (D)没有正确答案

11.每个通用I/O端口有( )个32位的配置寄存器,( )个32位的数据寄存器,( )个32位的置位/复位寄存器,( )个16位的复位寄存器,(B )个32位的锁定寄存器

(A)2,1,2,1,1 (B)2,2,1,1,1 (C)2,2,2,1,1 (D)2,2,1,2,1

12.( A )寄存器的目的就是用来允许对GPIO寄存器进行原子的读/修改操作

(A)GPIOX_BSRR和GPIOX_BRR (B)GPIOX_CRL和GPIOX_CRH(C)GPIOX_BSRR和GPIOX_LCKR (D)GPIOX_IDR和GPIOX_ODR

13.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为( A )时可以是激活的或者非激活的

(A)输入 (B)输出(C)推挽 (D)开漏

14.端口输入数据寄存器的地址偏移为( B )

(A)00H (B)08H (C)0CH (D)04H

16.端口输出数据寄存器的地址偏移为( C )

(A)00H (B)08H (C)0CH (D)04H

17.每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以( D )的方式访问

(A)16位字 (B)16位字节 (C)32位字节 (D)32位字

18.固件库中的功能状态(FunctionalState)类型被赋予以下两个值( A )

(A)ENABLE或者DISABLE (B)SET或者RESTE

(C)YES或者NO (D)SUCCESS或者ERROR

19.固件库中的标志状态(FlagStatus)类型被赋予以下两个值( C )

(A)ENABLE或者DISABLE (B)SUCCESS或者ERROR

(C)SET或者RESTE (D)YES或者NO

20.STM32F107V有( C )可屏蔽中断通道

(A)40 (B)50 (C)60 (D)70

21.STM32F107V采用( A )位来编辑中断的优先级

(A)4 (B)8 (C)16 (D)32

22.向量中断控制器最多可支持( C )个IRQ中断

(A)127 (B)128 (C)240 (D)255

23.系统控制寄存器 NVIC 和处理器内核接口紧密耦合,主要目的是(C )

(A)结构更紧凑,减小芯片的尺寸

(B)连接更可靠,减小出错的概率

(C)减小延时,高效处理 最近发生的中断

(D)无所谓,没有特别的意思,远一点也没有关系

24.关于中断嵌套说法正确的是( B )

(A)只要响应优先级不一样就有可能发生中断嵌套

(B)只要抢占式优先级不一样就有可能发生中断嵌套

(C)只有抢占式优先级和响应优先级都不一才有可能发生中断嵌套

(D)以上说法都不对

25.在STM32107向量中断控制器管理下,可将中断分为( B )组

(A)4 (B)5 (C)6 (D)7

26.中断屏蔽器能屏蔽( B )

(A)所有中断和异常 (B)除了NMI外所有异常和中断

(C)除了NMI、异常所有其他中断 (D)部分中断

27.PWM是( A )

28.(A)脉冲宽度调制 (B)脉冲频率调制 (C)脉冲幅度调制 (D)脉冲位置调制

29.要想使能自动重装载的预装载寄存器需通过设置TIMx_CR1寄存器的( B )位

(A)UIF (B)ARPE (C)UG (D)URS

30.以下对于STM32 ADC描述正确的是(B )

(A)STM32 ADC是一个12位连续近似模拟到数字的转换器

(B)STM32 ADC是一个8位连续近似模拟到数字的转换器

(C)STM32 ADC是一个12位连续近似数字到模拟的转换器

(D)STM32 ADC是一个8位连续近似数字到模拟的转换器

31.ADC转换过程不含哪项( D )

(A)采样 (B)量化 (C)编码 (D)逆采样

32.ADC转换过程正确的是( A )

(A)采样—量化—编码(B)量化—采样—编码

(C)采样—编码—量化(D)编码—采样—量化

33.下列哪项不是ADC转换器的主要技术指标( B )

(A)分辨率 (B)频率 (C)转换速率 (D)量化误差

34.以下对STM32F107集成A/D的特性描述不正确的是(B )

(A)12位精度 (B)单一转换模式

(C)按通道配置采样时间(D)数据对齐方式与内建数据一致

35.以下对STM32F107集成A/D的特性描述正确的是( B )

(A)供电需求: 2.6V到3.8V

(B)输入范围:VREF-≤VIN≤VREF+

(C)性能线设备的转换时间:28MHz时为1us

(D)访问线设备的转换时间:56MHz时为1us

36.以下为STM32的GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为10MHz,应该设置 B (A)CNFy[1:0] (B)MODEy[1:0]
(C)MODE (D)CNF

37.以下为GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为2MHz,应该设置MODE[1:0]值为( C )
(A)00 (B)01
(C)10 (D)11

38… 已知TIM1定时器的起始地址为0x4001 2C00,则定时器1的捕获/比较寄存器1的地址为( D )

(A)0x4001 2C20 (B)0x4001 2C2C

(C)0x4001 2C38 (D)0x4001 2C34

39.已知TIM1定时器的起始地址为0x4001 2C00,则定时器1的捕获/比较寄存器2的地址为( C )

(A)0x4001 2C20 (B)0x40012C2C

(C)0x4001 2C38 (D)0x4001 2C34

40.SysTick定时器校正值为( B )

(A)9000 (B)10000

(C)12000 (D)15000

41.SysTick定时器的中断号是( C )

(A)4 (B)5

(C)6 (D)7

42.上图中Tamper连接了STM32F10X的PC13GPIO,PC13通用IO端口映射到外部中断事件线上是( D )

(A)EXTI线14 (B)EXTI线15

(C)EXTI线12 (D)EXTI线13

43.上图中WKUP连接了STM32F10X的PA0 GPIO,PA0通用IO端口映射到外部中断事件线上是( A )

(A)EXTI线0 (B)EXTI线1

(C)EXTI线2 (D)EXTI线3

ADC注入通道数据偏移寄存器有4个,其偏移地址为14H-20H,JOFR1的偏移地址为( D )

(A)0x20 (B)0x1c

(C)0x18 (D)0x14

ADC注入通道数据偏移寄存器有4个,其偏移地址为14H-20H,JOFR2的偏移地址为( B )

(A)0x14 (B)0x18

(C)0x1c (D)0x20

50.DMA控制器可编程的数据传输数目最大为( A )。

A.65536 B.65535

C.1024 D.4096

51.STM32中,1个DMA请求占用至少(B )个周期的CPU访问系统总线时间。

A.1 B.2

C.3 D.4

52.STM32的USART根据( A)寄存器M位的状态,来选择发送8位或者9位的数据字。

A.USART_CR1 B.USART_CR2

C.USART_BRR D.USART_CR3

53.下面不属于STM32的bxCAN的主要工作模式为(C )。

A.初始化模式 B.正常模式

C.环回模式 D.睡眠模式

54.和PC系统机相比嵌入式系统不具备以下哪个特点( C )。

A、系统内核小 B、专用性强

C、可执行多任务 D、系统精简

55.嵌入式系统有硬件和软件部分构成,以下( C)不属于嵌入式系统软件。

A. 系统软件 B.驱动 C. FPGA编程软件 D.嵌入式中间件

56.在APB2上的I/O脚的翻转速度为( A)。

A.18MHz B.50MHz

C.36MHz D.72MHz

57.当输出模式位MODE[1:0]=“10”时,最大输出速度为( B)。

A.10MHz B.2MHz

C.50MHz D.72MHz

58.在ADC的扫描模式中,如果设置了DMA位,在每次EOC后,DMA控制器把规则组通道的转换数据传输到( A )中。

A.SRAM B.Flash

C.ADC_JDRx寄存器 D.ADC_CR1

59.STM32规则组由多达( A )个转换组成。

A.16 B.18

C.4 D.20

60.在STM32中,( A )寄存器的ALIGN位选择转换后数据储存的对齐方式。

A.ADC_CR2 B.ADC_JDRx

C.ADC_CR1 D.ADC_JSQR

61.ARM Cortex-M3不可以通过(D )唤醒CPU。

A.I/O端口 B.RTC闹钟

C.USB唤醒事件 D.PLL

62.STM32嵌套向量中断控制器(NVIC)具有( A) 个可编程的优先等级。

A.16 B.43

C.72 D.36

64.STM32的外部中断/事件控制器(EXTI)支持(C )个中断/事件请求。

A.16 B.43

C.19 D.36

65.STM32的USART根据(A )寄存器M位的状态,来选择发送8位或者9位的数据字。

A.USART_CR1 B.USART_CR2

C.USART_BRR D.USART_CR3

66.DMA控制器可编程的数据传输数目最大为(A)。

A.65536 B.65535

C.1024 D.4096

67.每个DMA通道具有(A )个事件标志。

A.3 B.4

C.5 D.6

68.STM32中,1个DMA请求占用至少( B)个周期的CPU访问系统总线时间。

A.1 B.2

C.3 D.4

二、判断题

1.Cortex-M3系列处理器支持Thumb指令集。( 哈佛结构 )

2.Cortex-M3系列处理器支持Thumb-2指令集。( 对 )

3.Contex-M3系列处理器内核采用了哈佛结构的三级流水线。( 对 )

7.STM32处理器的LQPF100封装芯片的最小系统只需7个滤波电容作为外围器件。(dui )

10.Context-M3处理器可以使用4个堆栈。( 错 )

11.在系统复位后,所有的代码都使用Main栈。( 对 )

12.高寄存器可以被所有的32位指令访问,也可以被16位指令访问。( 错 )

13.在系统层,处理器状态寄存器分别为:APSR,IPSR, PPSR。( 错 )

14.APSR程序状态寄存器的28位,当V=0,表示结果为无益处。( 对 )

15.Cortex-M3只可以使用小端格式访问代码。( 错 )

16.所谓不可屏蔽的中断就是优先级不可调整的中断。( 错)

17.向量中断控制器只负责优先级的分配与管理,中断的使能和禁止和它无关。( 错 )

18.Cortex-M3体系架构中,有了位带位操作后,可以使用普通的加载/存储指令来对单一的比特进行读写。(对)

19.Cortex-M3体系架构中,有两个区中实现了位带:一个是 SRAM区的最低 1MB范围,第二个则是片内外设 区的最低 1MB范围。(对)

20.stm3210xx的固件库中,RCC_DeInit函数是将RCC寄存器重新设置为默认值。(对)

21.stm3210xx的固件库中,RCC_PCLK2Config函数是用于设置低速APB时钟。(错 )

22.STM32的串口既可以工作在全双工模式下,也可工作在半双工模式下。( 对)

23.STM32的串口既可以工作在异步模式下,也可工作在同步模式下。(对)

24.每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以32位字的方式访问。(对)

25.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为输入时可以是激活的或者非激活的。( 对)

26.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为输出时可以是激活的或者非激活的。(错 )

27.端口输入数据寄存器的复位值为00000000H。( 对)

28.端口输入数据寄存器位[15:0]是只读的,并且仅能按字访问,它们包含相关I/O端口的输入值。(对 )

29.端口输入数据寄存器位[7:0]是只读的,并且仅能按字访问,它们包含相关I/O端口的输入值。( 错)

30.固件包里的Library文件夹包括一个标准的模板工程,该工程编译所有的库文件和所有用于创建一个新工程所必须的用户可修改文件。( 错)

31.从是否可编程的角度 ,中断可分为固定优先级中断和可调整优先( 对 )

32.从某种意义上说,异常就是中断。(对 )

33.所谓不可屏蔽的中断就是优先级不可调整的中断。( 错)

34.向量中断控制器只负责优先级的分配与管理,中断的使能和禁止和它无关。(错)

35.中断的优先级和它在中断向量表里的位置没有关系。( 错)

36.当抢占式优先级不一样时,一定会发生抢占。( 错)

37.向量中断控制器允许有相同的优先级。( 对)

38.如果两个中断的抢占式优先级相同,则按先来后到的顺序处理。(对 )

39ADC主要完成模/数转换功能。( 对)

40.STM32 ADC是一个12位的连续近似模拟到数字的转换器。( 对)

41.ADC转换器在每次结束一次转换后触发一次DMA传输。(对)

42.由AD的有限分辨率而引起的误差称为量化误差。(对)

43.转换速率是指完成一次从模拟到数字的AD转换所需的时间。( 对)

44.STM32 ADC只可以在单一模式下工作。( 错)

45.如果规则转换已经在运行,为了注入转换后确保同步,所有的ADC的规则转换被停止,并在注入转换结束时同步恢复。( 对)

三、填空题

1.ST公司的STM32系列芯片采用了 Cortex-M3 内核,其分为两个系列。 STM32F101

系列为标准型,运行频率为 36MHZ ; STM32F103 系列为标准型,运行频率为 72MHZ 。

2.当STM32的I/O端口配置为输入时, 输出缓冲器 被禁止, 施密特触发输入被激活。根据输入配置(上拉,下拉或浮动)的不同,该引脚的 弱上拉和下拉电阻 被连接。出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器,对 输入数据寄存器的读访问可得到I/O状态。

3.STM32的所有端口都有外部中断能力。当使用 外部中断线 时,相应的引脚必须配置成 输入模式 。

4.STM32具有单独的位设置或位清除能力。这是通过 GPIOX_BSRR 和 GPIOX_BRR 寄存器来实现的。

5.ST公司还提供了完善的通用IO接口库函数,其位于 stm32f10x_bgpio.c ,对应的头文件为 stm32f10x_gpio.h 。

6.为了优化不同引脚封装的外设数目,可以把一些 复用功能 重新映射到其他引脚上。这时,复用功能不再映射到 它们原始分配的引脚 上。在程序上,是通过设置 复用重映射和调试I/O口配置寄存器(AFIO_MAPR) 来实现引脚的重新映射。

7.STM32芯片内部集成的 12 位ADC是一种逐次逼近型模拟数字转换器,具有 18

个通道,可测量 16 个外部和 2 个内部信号源。

8.在STM32中,只有在 规则通道 的转换结束时才产生DMA请求,并将转换的数据从 ADC_DR 寄存器传输到用户指定的目的地址。

9.在有两个ADC的STM32器件中,可以使用 双ADC模式。在 双ADC 模式里,根据 ADC_CR1 寄存器中 DUALMOD[2:0] 位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同时触发。

10.ADC的校准模式通过设置 ADC_CR2 寄存器的 CAL 位来启动。

11.在STM32中, ADC_CR2 寄存器的 ALIGN 位选择转换后数据储存的对齐方式。

12.在STM32内部还提供了 温度传感器,可以用来测量器件周围的温度。温度传感器在内部和 ADC_IN16 输入通道相连接,此通道把传感器输出的电压转换成数字值。内部参考电压 VREFINT和 ADC_IN17 相连接。

13.STM32的 嵌入向量中断控制器(NVIC) 管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现 低延迟 的中断处理,并有效地处理 晚到中断。

14.STM32的外部中断/事件控制器(EXTI)由 19 个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置 输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发) 。每个输入线都可以被独立的屏蔽。 挂起寄存器 保持着状态线的中断要求。

15.STM32的EXTI线16连接到 PVD输出 。

16.STM32的EXTI线17连接到 RTC闹钟事件 。

17.STM32的EXTI线18连接到 USB唤醒事件 。

18.STM32的 USART 为通用同步异步收发器,其可以与使用工业标准 NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。

19.STM32的USART可以利用 分数波特率 发生器提供宽范围的波特率选择。

20.智能卡是一个 单线半双工 通信协议,STM32的智能卡功能可以通过设置USART_CR3寄存器的 SCEN 位来选择。

22.系统计时器(SysTick)提供了1个 24位,降序,的计数器,具有灵活的控制机制

23.STM32的通用定时器TIM,是一个通过 可编程预分频器 驱动的 16 位自动装载计数器构成。

24.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为 向上计数模式、 向下计数 模式和 中央对其 模式。

25.ST公司还提供了完善的TIM接口库函数,其位于 stm32f10x_tim.c ,对应的头文件为 stm32f10x_tim.h。

26.TIM1的 益处/下益时更新事件(UEV) 只能在重复向下计数达到0的时候产生。这对于能产生PWM信号非常有用。

27.TIM1具备 16位可编程预分频器,时钟频率的分频系数为 1~65535 之间的任意数值。

28.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为 系统 复位、 电源 复位和 备份区域 复位。

29.STM32还提供了用户可通过多个预分频器,可用来进一步配置 AHB 、高速 APB(APB2 ) 和低速APB(APB1 ) 域的频率。

30.用户可用通过 32.768K Hz外部振荡器,为系统提供更为精确的主时钟。在时钟控制寄存器 RCC_CR中的 HSERDY 位用来指示高速外部振荡器是否稳定。

31.ST公司还提供了完善的RCC接口库函数,其位于 stm32f10x_rcc.c ,对应的头文件为 stm32f10x_rcc.h。

32.当STM32复位后, HSL振荡器 将被选为系统时钟。当时钟源被直接或通过PLL间接作为系统时钟时,它将不能被 停止 。只有当 目标时钟源准备就绪了(经过启动稳定阶段的延迟或PLL稳定),才可以从一个时钟源切换到另一个时钟源。在被选择时钟源没有就绪时,系统时钟的切换 不会发生。

33.在STM32中,备份寄存器是 16位的寄存器,共 10 个,可以用来存储 20 个字节的用户应用程序数据。

34.备份寄存器位于 备份区 里,当 主电源VDD 被切断,他们仍然由 VBAT 维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们 也不会 被复位。

35.STM32的备份寄存器还可以用来实现 RTC 校准功能。为方便测量,32.768kHz的RTC时钟可以输出到 入侵检测 引脚上。通过设置RTC校验寄存器(BKP_RTCCR)的

CCO 位来开启这一功能。

36.当STM32的 ANTI_TAMP 引脚上的信号发生跳变时,会产生一个侵入检测事件,这将使所有数据备份寄存器 复位 。

37.ST公司还提供了完善的备份寄存器接口库函数,其位于stm32f10x_bkp.c,对应的头文件为 stm32f10x_bkp.h 。

38.STM32的DMA控制器有 7 个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个 仲裁器 来协调各个DMA请求的优先权。

39.在DMA处理时,一个事件发生后,外设发送一个请求信号到 DMA控制器 。DMA控制器根据通道的 优先权 处理请求。

40.DMA控制器的每个通道都可以在有固定地址的 外设寄存器和 存储器地址 之间执行DMA传输。DMA传输的数据量是可编程的,可以通过 DMA_CCRX 寄存器中的 PSIZE 和 MSIZE 位编程。

41.ST公司还提供了完善的DMA接口库函数,其位于 stm32f10x_dma.c ,对应的头文件为 stm32f10x_dma.h。

45.在STM32中,从外设(TIMx、ADC、SPIx、I2Cx和USARTx)产生的7个请求,通过逻辑 与 输入到DMA控制器,这样同时 只能有一个 个请求有效。

四、简答题

1、什么是嵌入式系统?嵌入式系统一般由哪几部分构成?

嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,
由硬件层、中间层、系统软件层和应用软件层组成。
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。

硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。
BSP具有以下两个特点:
硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软 件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。
操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。
BSP的另一个主要功能是硬件相关的设备驱动。硬件相关的设备驱动程序的初始化通常是一个从高到低的过程。尽管BSP中包含硬件相关的设备驱动程序,但是这些设备驱动程序通常不直接由BSP使用,而是在系统初始化过程中由BSP将他们与操作系统中通用的设备驱动程序关联起来,并在随后的应用中由通用的设备驱动程序调用,实现对硬件设备的操作。与硬件相关的驱动程序是BSP设计与开发中另一个非常关键的环节。

系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。

2、ARM v7的体系结构可以分为哪几个子版本(款式),分别应用在什么领域?

A,R,M三种。A系列性能最好,在手机,平板普遍应用,移动设备芯片90%都是使用arm;R系列用于实时控制系统;M系列性价比最高,主要应用在工业控制上。

3、Cortex-M3的处理器有那两种工作模式和状态?如何进行工作模式和状态的切换?
ARM状态:32位,ARM状态执行字对齐的32位ARM指令。Thumb状态,16位,执行半字对齐的16位指令。

    用Bx Rn指令来进行两种状态的切换

用户(user)模式,系统(system)模式,一般中断(IRQ)模式,快速中断(FIQ)模式,管理(supervisor)模式,中止(abort)模式,未定义指令终止(undefined)模式

4、Cortex-M3的存储空间可以分为哪几个部分,每一部分的地址范围是怎样的?
程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。
Cortex-M3最大支持4GB的存储空间,但在实际的不同STM32不一样;

在0xE0000000到0xFFFFFFFF的512MB的地址存储空间是用于NVIC、MPU及调试组件等使用;

在0xA0000000到0xDFFFFFFF的1GB的地址存储空间是用于片外外设扩展;

在0x60000000到0x9FFFFFFF的1GB的地址存储空间是用于扩展片外存储器;

在0x40000000到0x5FFFFFFF的512MB的地址存储空间是用于片上外设;

在0x20000000到0x3FFFFFFF的512MB的地址存储空间是片上SRAM;STM32F103VET处理器64kB,起始地址是0x20000000到0x20010000。

在0x00000000到0x1FFFFFFF的512MB的地址存储空间是代码区;STM32F103VET处理器512kB,起始地址是0x80000000到0x1FFFFFFF。

6、基于CMSIS标准的软件架构分为那几层?其中的CMSIS层一般由哪几部分组成?
基于CMSIS标准的软件架构主要分为以下四层:
用户应用层,操作系统层,CMSIS层以,硬件寄存器层。
其中CMSIS层起着承上启下的作用,一方面该层对硬件寄存器层进行了统一的实现,屏蔽了不同厂商对Cortex-M系列微处理器核内外设寄存器的不同定义,另一方面又向上层的操作系统和应用层提供接口,

7、简述STM32固件库命名规则。

8、STM32共有那几种基本时钟信号?

在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①、HSI是高速内部时钟,RC振荡器,频率为8MHz。
②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③、LSI是低速内部时钟,RC振荡器,频率为40kHz。
④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。

9、简述设置系统时钟的基本流程。

10、STM32的GPIO的配置模式有那几种?如何进行配置模式的配置?

总有8种模式,4种输出,4中输入
GPIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD 下拉输入
GPIO_Mode_IPU 上拉输入
GPIO_Mode_Out_OD 开漏输出
GPIO_Mode_Out_PP 推挽输出
GPIO_Mode_AF_OD 复用开漏输出
GPIO_Mode_AF_PP 复用推挽输出
11、简述STM32的不同复用功能的重映射功能。

12、简述嵌套向量中断控制器(NVIC)的主要特性。

级别关系是: 抢占式优先级 > 响应优先级 > 中断表中的排位顺序。只有在上一级优先级相同时下一级优先级才会起作用。

13、简述STM32的优先级划分与抢占的过程。P110

14、简述STM32的USART的功能特点。

USART又称为通用同步异步收发器,是利用分数比特率发生器提供宽范围的比特率选择。

USART具有以下比较典型的特征:

1.全双工异步通信;

2.单线半双工通信;

3.发送方为同步传输提供时钟;

4.可配置的使用DMA的多缓冲器通信—在SRAM中利用集中式DMA缓冲接受/发送;

5.单独的接收器和发送器使能端;

6.检测标志,接受缓冲器满,发送缓冲器空,传输结束标志;

7.4个错误检测标志:溢出错误,噪音错误,帧错误,检验错误;

8.10带标志的中断源等。

任何USART双向通信都至少需要两个脚:接受数据输入(RX)和发送数据输出(TX)。

在异步模式下,总线在发送和接受前应该处于空闲状态。

15、如何设置STM32的串口的波特率。

16、STM32高级定时器有哪些功能?

17、已知STM32的系统时钟为72MHz,如何设置相关寄存器,实现20ms定时?

18、简述DMA控制器的基本功能。

DMA有什么用?

   直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。

有多少个DMA资源?

   有两个DMA控制器,DMA1有7个通道,DMA2有5个通道。

数据从什么地方送到什么地方?

   外设到SRAM(I2C/UART等获取数据并送入SRAM);

   SRAM的两个区域之间;

   外设到外设(ADC读取数据后送到TIM1控制其产生不同的PWM占空比);

   SRAM到外设(SRAM中预先保存的数据送入DAC产生各种波形);

   ……还有一些目前还搞不清楚的。

19、请描述DMA通道的工作模式、工作原理。

20、简述STM32的ADC系统的功能特性。
21、简述STM32的双ADC工作模式。

五、编程与应用题

(1)简述GPIO_Configuration函数对IO接口配置的步骤;

解:设置引脚、设置速率、设置模式

你可能感兴趣的:(stm32和ARM)