STM32F4微控制器及其开发板详解
1 STM32F4微控制器概述
1.1 内存映射
STM32F4微控制器的内存映射较为复杂。片上所有外设单元(如GPIO、定时器、ADC和DAC)的寄存器都被当作独立的内存位置。当CPU访问外设单元时,就如同访问内存位置一样。其内存空间分配如下:
- 部分用于片上外设单元寄存器。
- 接下来的2GB内存空间用于外部内存和外设单元。
- 最后的512MB内存空间用于系统外设单元,如NVIC、内存保护单元(MPU)和SysTick,同时也用于内部 - 外部调试和特定厂商组件。
1.2 内存相关模块
- 直接内存访问(DMA)模块 :在大多数内存访问操作中,CPU通常会参与。但在某些情况下,CPU可能会很忙。DMA模块允许在不干扰CPU的情况下访问内存,这样CPU可以专注于自己的任务,而DMA模块可以并行进行内存访问操作。STM32F4微控制器配备了DMA控制器。
- 其他模块 :除了DMA,还拥有灵活内存控制器(FMC)和图形加速控制器(DMA2D)模块。
1.3 通用输入输出端口
微控制器需要通过端口与外界进行数据传输。STM32F4微控制器有8个输入输出端口,分别为A、B、C、D、E、F、G和H,总共114个引脚。其中,端口A到G各有16个引脚,端口H有2个引脚。每个引脚既可以用于输入操作,也可以用于输出操作,还能处理模拟和数字电压电平,因此被称为通用输入输出(GPIO)引脚。