先附上STM32H750的启动文件:
创建好的空工程:
创建空文件夹
首先创建一个空文件夹,用于存放所有的文件。
文件夹里创建五个空文件夹,分别是:Start(启动文件)、Drivers(HAL库文件)、Hardware(自己写的硬件库)、OBJ(编译输出的文件,HEX文件)、User(工程文件,project)
Start文件
启动文件,库文件这些都可以在官网找到,本文也附带链接。
Drivers文件夹
drivers文件夹放HAL库的源文件和头文件,可以直接下载后放进去,里面有一个STM32H7xx_HAL_Driver文件夹,这个文件夹里面有Inc和Src两个文件夹,其中Inc是存放头文件,Src是存放源文件。
而标准库的drivers没有分类,直接把头文件和源文件都放在了drivers文件夹下。
KEIL创建新工程
新工程目录选择刚才创建好的User文件夹,名字可以任取,可以取project
选择STM32H750VBTx,具体型号看芯片
启动文件把CMSIS的CORE勾上(虽然我不知道这是干嘛的,下次学习)
添加文件
按照刚刚创建好的文件夹,把名字附上,分好组。
在分组里添加文件,就在相应的文件夹下,并在User组里添加main.c和main.h文件
main.h头文件
#ifndef __MAIN_H
#define __MAIN_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32h7xx_hal.h"
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
#ifdef __cplusplus
}
#endif
#endif /* __MAIN_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
main.c文件
#include "main.h"
int main(void)
{
while(1)
{
}
return 0;
}
配置
魔法棒打开工程配置
晶振看具体芯片吧。
ARM Compiler可以选6的话编译不报错的话,就选6
Use MicroLIB可以重定向printf函数,可以不勾选
Outpu里,选择输出文件夹,选择刚才创建好的OBJ文件夹
Creat HEX file勾上,编译后才有HEX文件才能下载进单片机
Browse Information如果不勾选,在编写代码的时候就不能各种跳转,会比较麻烦,不过我用的是VS code编写代码,正常跳转
Define里给它预编译:
USE_HAL_DRIVER,STM32H750xx
在Include Paths里把最初创建好的文件夹,以及文件夹下的子文件夹都包含进去,头文件目录,这样在头文件定义的时候keil才能找到
如果是ST-link下载,记得把Reset and Run勾上,不然每次都得按复位键
至此,一个空工程就创建好了。
分组可以进行更细的划分,如果有需求。Hardware库留给自己放一些打包好的库文件,比如外设的初始化、使用等函数,以后用到时就可以直接复制。