如何正确使用Cube来初始化一个项目
by煜个头头工作室
Summary 简介
使用Cube来配置项目可以大大节省开发的时间,而且基于Cube的框架,可以形成一个十分完善的代码架构,便于之后的二次开发和拓展。无论是要开发一个完整的项目,亦或是验证一个外设或一个算法,都可以使用Cube进行处理。
基础配置
-
进入Cube -
根据开发所需,选择芯片型号
-
配置RCC -
配置SYS
- Timebase Source可以根据具体需求选择其他的定时器,最好不要用SysTick
- 启动串口1(用于人机交互) + 定时器(用于初始化HAL_Delay)
- 启用FreeRTOS(根据实际情况而定,若项目较小也可以不开启)
-
配置时钟树
- 第三个位置根据需要选择合适的时钟频率即可,选好后,敲一下回车,Cube即可自动完成配置
-
配置项目信息 -
配置代码生成选项 -
生成项目文件 点击右上角的GENERATE CODE即可生成项目文件,成功图如下
* 若有错误信息提示,大概率是路径存在中文字符,修改一下路径即可
进阶配置之git
-
在自己的git中创建一个仓库 -
在项目的文件夹中创建本地git仓库 -
加入 .gitignore 文件
具体内容在附件1中给出
-
添加子模块 (1)SRML (2)TSML -
添加 README 文件 -
上传代码至git
进阶配置之项目内容配置
-
在项目文件夹下新建文件夹 USP
USP中包括三个文件夹 + 子模块配置文件
Application
Middlewaress
Drivers
srml_config.h
tsml_config.h
-
配置魔术棒 (1)编译方式 (2)DEBUG配置 选择合适的烧录方式,并勾选Reset and Run (3) 加入头文件路径 ? -
配置项目下的子项目 -
配置子项目的编译方式
共三个文件要用以下配置:
Application/User/Core
Middlewares/FreeRTOS
Drivers/Devices
-
修改srml_config.h和tsml——config文件,并引入所需源文件
附件1
#STM32CubeMX文件保存位置信息
.mxproject
#JLink调试信息文件
JLinkLog.txt
JLinkSettings.ini
#编译过程中产生的文件
*.axf
*.bac
*.bin
*.crf
*.d
*.dep
*.hex
*.htm
*.iex
*.lnp
*.map
*.o
*.sct
*.Bak
*.a
*.lib
!arm_cortexM4lf_math.lib
!libmpllib.lib
#Keil工程记录和DeBug配置
*.uvguix.*
*.uvopt
*.uvoptx
*.dbgconf
#其它文件
*.exe
*.lst
*.ini
*.TMP
EventRecorderStub.scvd
RTE
|