这是在看了正点原子的视频自己一步一步地记载下的。
1.新建一个文件夹,这里我选择了新建了一个Template,在这个文件夹下新建五个文件夹2.
2.新建工程,打开keil,点击项目,新建项目
新建文件保存在USER下,文件名命名初步为Template,
之后按照按照下图的步骤进行选择Stm32的型号
之后弹出这个页面,将其cancel即可
3.文件的复制
探索者光盘是有一个固件库的文件的,目录为“【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\8,STM32参考资料\1,STM32F4xx固件库”
3.1 找到之后进入这个文件中找到下面的目录“\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver”,将里面的inc和src两个文件夹进行复制,复制到步骤1所建的FWLIB文件当中,如图:
3.2 在这个文件夹下“\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm”找到40_41xxx.s,复制到1步骤下的CORE文件夹下,同样的,将这个文件夹“\1,STM32F4xx固件库\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Include”下的蓝色部分四个文件进行复制,复制到CORE下,如图
复制过后的CORE文件夹
3.3 找到文件夹“\1,STM32F4xx固件库\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Project\STM32F4xx_StdPeriph_Templates”,将阴影部分的5个文件复制,
此外还有“\1,STM32F4xx固件库\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include”中的两个.h文件复制
复制到USER文件夹中,复制过后如图所示
4.工程文件进行修改
右键Target1,点击Manage,如图
4.1 进到如下页面进行修改,改成下面的形式,FWLIB中添加FWLIB中的src文件下的内容
添加过后fmc.c文件要删掉
4.2 CORE添加文件
下面的文件类型修改一下才能找到目标文件,如@3.
4.3 USER添加文件,添加蓝色区域
添加过后可看到主界面
5.添加头文件
5.1 添加的目录不能错,include path下添加
5.2 添加define
STM32F40_41xxx,USE_STDPERIPH_DRIVER
5.3 output设置
5.4 setting folde rfor objects设置 目录为OBJ
6.程序更改
6.1 Main.c的内容更换掉,
具体改为工程文件readme(G:\stm32\【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\4,程序源码\2,标准例程-库函数版本\实验0 Template工程模板\README)下面的文件,如下
#include "stm32f4xx.h"
//ALIENTEK 探索者STM32F407开发板 实验0
//STM32F4工程模板-库函数版本
//技术支持:www.openedv.com
//淘宝店铺:http://eboard.taobao.com
//广州市星翼电子科技有限公司
//作者:正点原子 @ALIENTEK
void Delay(__IO uint32_t nCount);
void Delay(__IO uint32_t nCount)
{
while(nCount--){}
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOF, &GPIO_InitStructure);
while(1){
GPIO_SetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);
Delay(0x7FFFFF);
GPIO_ResetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);
Delay(0x7FFFFF);
}
}
6.2 stm32f4xx_itc更改
6.3之后进行编译 下载 ,可串口,可stlink
下载到板子上出现两个等同时亮灭的情况,即为本次工程ok。完整的工程模板已经建立。
7.其他源码添加到工程(system文件夹)
例如将跑马灯的程序移植过来,步骤如下:
7.1 将库函数流水灯里面的system复制到新建的system(第1步建的文件夹)
7.2 添加到工程中
7.2.1 Group里新建system,将system里的子文件夹中的.c文件统统添加上
7.2.2 将.h文件添加到工程中
7.3 修改参数
修改main.c的内容
找到此文件夹“\【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\4,程序源码\2,标准例程-库函数版本\实验0 Template工程模板\USER”,将其中的main.c文件以记事本方式打开,代替工程中的main.c
结束。