**
基于keil的STM32xx的工程的创建
**
0. 在创建工程之前我们需要的是创建一个工程的根目录的文件夹,并且在根目录中创建CODE ,GECLIB,OBJ,SYSTEM,USER文件夹以便于存放工程所需要的各个文件。
-
然后打开keil(我使用的是keil5,不过其他版本都相差无几)在Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹中的USER子目录,工程的名字随意。USER文件夹就用来存放工程的文件。
-
接下来就是选择处理器了:我这里使用的是STM32F407ZE,然后就是点击一路OK到底,就创建成功了。
-
打开官方固件库包的目录:
\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver 下面,将目录下面的 src,inc 文件夹 copy 到刚才建立的 GECLIB 文件夹下面。
src 存放的是固件库的.c 文件,inc 存放的是对应的.h 文件
-
打开官方固件库包,定位到目录:
\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm 下面,将文件 startup_stm32f40_41xxx.s (启动文件)复制到 CODE 目录下面。 -
然后定位到目录:
\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Includ , 将 里 面 的 四 个 头 文 件 :core_cm4.h 、core_cm4_simd.h 、core_cmFunc.h 以及 core_cmInstr.h 同样复制到 CODE目录下面。
-
接下来要复制工程模板需要的一些其他头文件和源文件到工程。 首先定位到目录:
STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include 将里面
的 2 个头文件 stm32f4xx.h 和 system_stm32f4xx.h 复制到 USER 目录之下。这两个头文件是STM32F4 工程非常关键的两个头文件。 -
然后进入目录\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Project\STM32F4xx_StdPeriph_Templates ,
将 目 录 下 面 的 5 个 文 件 main.c , stm32f4xx_conf.h , stm32f4xx_it.c , stm32f4xx_it.h ,
system_stm32f4xx.c 复制到 USER 目录下面。
-
完成以上步骤后,将需要的固件库相关文件复制到工程目录下面,需要把这些文件加入我们的工程中去。右键点击 Target1,选择 Manage Project Items,如下图:
-
我只选择了某一部分添加,有需要用到的其他的可以自行添加,这里只是一个模板的信息而已(hardware和system文件夹一个意思!)
-
接下来的步骤就是要在 MDK 里面设置头文件存放路径。也就是告诉 MDK 到那些目录下面去寻找包含了的头文件。这一步骤非常重要。 如果没有设置头文件路径,那么工程会出现报错头文件路径找不到。
-
STM32F40 系列的工程,还需要添加一个全局宏定义标识符。添加方法是点击
魔术棒之后,进入 C/C++选项卡,然后在 Define 输入框连输入:STM32F40_41xxx,USE_STDPERIPH_DRIVER。注意这里是两个标识符 STM32F40_41xxx和 USE_STDPERIPH_DRIVER, 他们之间是用英文的逗号隔开的,请大家注意。 -
在做编译工程之前我们首先要选择编译中间文件编译后存放目录。
方法是点击魔术棒 ,然后选择“Output”选项下面的“Select folder for objects…”,然后选择目录为我们上面的 新建的 OBJ 目录。,然后再OBJ目录下就可看到我们需要的程序.hex文件了
-
创建源文件
File->New
2.输入编写代码 -
然后保存源led.c到目录system中
-
点击源文件组
-
点击鼠标右键
选择
Add Files to Group“”
6.选择你需要添加的
源文件