基于STM32cubemx的stm32f107vct6代码生成教程
一.软件准备
*MATLAB2018a
*Keil4/5
*STM32CUBEMX
*STM2-MAT/TARGET 4.3.0 (要求MATLAB2015b以上及stm32cubemx4.1.2以上)安装在MATLAB目录、
*J-link
二.设置
**安装STM2-MAT/TARGET和STM32CUBEMX设置
1.安装完成STM2-MAT/TARGET后,点击E:\MATLAB\STM32-MAT\STM32\starup将自动打开MATLAB。ST官方的开发库是基于matlab的Real-Time Workshop功能进行开发,然而在MATLAB R2012以前的版本中是需要单独安装Real-Time Coder和MATLAB Coder这些工具箱,如果是用matlab R2014开发就省去安装。
2. 在第一次运行时需要在matlab中设置path tool。点击matlab界面设置路径–添加路径—选择E:\MATLAB\STM32-MAT\STM32—点击保存并关闭。
3.打开simulink,在library browser 中发现Target Support Package—STM32 Adapter
4.安装STM32CUBEMX,默认路径C:\ProgramFiles(x86)\STMicroelectronics\STM32Cube\STM32CubeMX
5. 打开并选择Help-Install New Libraries选择在线或from local安装固件包,此处以local- stm32cubef1为例
三.cubemx部分
-
STM32CUBEMX建立硬件相关.ioc文档,选择new project 并选择相应STM型号,搜索出两个不同封装的芯片,写程序没有区别,但此软件可生成IO说明文档,可能会导致文档与实际封装差异。选择后双击
-
设置RCC与SYS
-
先配置时钟树,使用f107最大支持72M时钟。
-
我们所使用的板子LED是接在PD7,PD13,PD 3,PD4 上的,在搜索栏搜索时引脚会闪烁,选择PD7左键点击选择GPIO_Output。
-
点击Configuration—GPIO进行详细外设配置,设置完成后点击OK。
5.设置完成后,点击Project—settings设置工程名,工程路径,编译工具。
6.设置完成点击 ,点击下图,即可生成模块代码。 -
所有的自定义代码一定要放在中间。避免代码重生成删除,代码添加在BEGIN和END间就好了。在main函数的while中添加如下代码:、
-
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); //LED取反
-
HAL_Delay(1000); //延时1秒
8.程序下载,打开已安装好的J-link驱动J-Link Commander,打开所要下载的工程,先进行编译,然后配置软件。
点击 ,或project-options for target‘name’出现如下窗口。
选择debug,如图选择use内容,因使用J-link故此处选择相应的选项,然后点击settings进行配置,设置为SW模式。
9.设置Flash,点击flash download,进入如下界面然后勾选Rest and Run,点击Add添加所需型号
10.点击Utilites,在settings中查看是否为SW模式,flash download与之前debug设置相同,之后点击ok完成设置,点击load下载程序。