stm32F407开发环境配置
通过ST官方提供的STM32CubeMX和STM32CubeIDE来作为开发配置工具和开发工具,非常方便,会大大降低学习难度,强烈推荐使用 STM32CubeIDE就是魔改的Eclipse,相当于在eclipse的基础上增加了一个Plugin,可以通过这个工具图形化配置时钟、GPIO接口等
一、安装
安装太简单了,就不细写了,一路next就行,就几个需要注意的地方
- eclipse是基于Java的,电脑上需要安装好jre或者JDK;
- 安装完毕之后,通过STM32CubeMX,下载相应的芯片HAL库,我的开发板是stm32f407zgt6,下载相应的库
二、配置
新建项目,需要针对开发板芯片进行对应的配置,这里稍微复杂一点,做个记录
基本配置(SYS)
Debug:配置为:Series Wire
时钟配置(RCC)
启用外部高速时钟,我这个开发板外部使用的是要给8M晶振
- HSE(外部高速时钟):Crystal/Ceramic Resonator
- LSE(外部低速时钟):可以不启用,或者同HSE
- 启用外部时钟:Input frequency:设置为8M
- PLL Source设置为HSE
- System Clock设置为:PLLCLK(Enable css)
- HCLK设置为168M,最高主频,这里只需要填写对应主频即可,系统会自动计算
/M,*N,/P
等数据 - ABP1,ABP2预分频分别设置为4,2
- 如果设置的参数有问题,最右边的频率数据会显示红色
GPIO配置(GPIO)
通过图形化的引脚配置,鼠标电子芯片图形上对应的引脚,设置相应模式即可
Project Manager配置
- Project配置:填写项目名称、项目位置,以及开发IDE工具(IDE开发工具的选择,决定了生成代码的结构和配置文件,我使用的是STM32CubeIDE,在Toolchain/IDE选择STM32CubeIDE,如果是其他工具,选择对应的选项)
- Code generator:勾选
copy only the ...
(复制必要的开发库文件)和Generate peri...
(自动生成c和h头文件)
三、下载程序
通过串口下载的是hex二进制文件,但是STM32CubeIDE默认生成的是elf文件,因此需要配置IDE。
生成hex文件
- 项目右键-->Properties-->C/C++ build-->Settings-->Tool settings-->MCU Post build outputs-->勾选
Convert to intel hex file
- 生成hex文件:Project--> build project
- 找到hex文件:项目目录-->Debug-->项目名称.hex
烧录程序
根据开发板卖家推荐的串口烧录程序:flymcu
- 安装串口转USB的驱动:CH340驱动,去wch官方网站下载,安装驱动的时候,需要插上开发板(开发板连接usb ttl这个usb接口)
- 配置flymcu:
- 选择com端口,CH340驱动安装完毕后,可以在系统设备管理器中,查看com是哪个端口,我的系统显示为com3
- 配置波特率(bps)为:76800
- 选择
STMISP
,勾选校验
和编程后执行
- 勾选
编程前重装文件
- 取消勾选
编程到flash时写选项字节
- 选择
DTR低电平复位,RTS高电平进Bootloader
- 注意:以上选项选择一个,写入程序时,就会报错,务必注意
- 选择需要烧录的hex文件后,点击
开始编程
即开始烧录,flymcu的右边log会显示烧录进度和日志。
四、注意
- STM32CubeIDE已经包含了STM32CubeMX的图形化配置功能,其实安装一个即可;
- GPIO的引脚配置,下次根据实际例程来配置;
- 时钟配置,其实只需要配置几个地方即可,无需配置主频分频,按照上面的步骤就行了
- 代码写在main.c的提示位置,后面再次更改配置的时候,系统会保护写的代码,否则写的代码就被擦除了
- 我是通过开发板上的串口转usb端口来下载程序,板载2个usb接口,使用
usb ttl
接口,不能使用usb otg
接口