4.1 新建工程:


4.1.1 新建本地工程文件夹:

为了工程目录更加清晰,我们在本地电脑上新建 1 个文件夹用于存放整个工程,如命名为“LED”,然后在该目录下新建 2 个文件夹,具体如下:
表格 8 工程目录文件夹清单

表格 9 工程目录文件夹内容清单

4.1.2 新建工程:

打开 KEIL5,新建一个工程,工程名根据喜好命名,我这里取 LED-REG,直接保存在 LED 文件夹下。

1. 选择 CPU 型号:

这个根据你开发板使用的 CPU 具体的型号来选择, 我的F429选STM32F429IGT 型号。如果这里没有出现你想要的 CPU 型号,或者一个型号都没有,那么肯定是你的 KEIL5 没有添加 device 库, KEIL5 不像 KEIL4 那样自带了很多 MCU 的型号,KEIL5 需要自己添加,关于如何添加请参考《如何安装 KEIL5》这一章。

2. 在线添加库文件:

用寄存器控制 STM32 时我们不需要在线添加库文件,这里我们点击关掉。

3. 添加文件:

  在新建的工程中添加文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。我们对要添加的三个文件说明如下:

startup_stm32f429_439xx.s
       启动文件,系统上电后第一个运行的程序,由汇编编写, C 编程用的比较少,可暂时不管,这个文件从固件库里面拷贝而来,由官方提供。文件在这个目录: STM32F429固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm

stm32f4xx.h
      用户手动新建,用于存放寄存器映射的代码,暂时为空。

main.c
      用户手动新建,用于存放 main 函数,暂时为空。

4. 配置魔术棒选项卡:

这一步的配置工作很重要,很多人串口用不了 printf 函数,编译有问题,下载有问题,都是这个步骤的配置出了错。
        a) Target 中选中微库“Use MicroLib”,为的是在日后编写串口驱动的时候可以使用 printf 函数。而且有些应用中如果用了 STM32 的浮点运算单元 FPU,一定要同时开微库,不然有时会出现各种奇怪的现象。 FPU 的开关选项在微库配置选项下方的“Use Single Precision”中,默认是开的。

b) Output 选项卡中把输出文件夹定位到我们工程目录下的 output 文件夹,如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上

 c) 在 Listing 选项卡中把输出文件夹定位到我们工程目录下的 Listing 文件夹。

5. 下载器配置:

在仿真器连接好电脑和开发板且开发板供电正常的情况下,打开编译软件 KEIL,在魔术棒选项卡里面选择仿真器的型号,具体过程看图示:
Debug 选项配置

Utilities 选项配置

Debug Settings 选项配置

 选择目标板,具体选择多大的 FLASH 要根据板子上的芯片型号决定。 F429选 1M。这里面有个小技巧就是把 Reset and Run 也勾选上,这样程序下载完之后就会自动运行,否则需要手动复位。擦除的 FLASH 大小选择 Sectors 即可,不要选择 Full Chip,不然下载会比较慢。

4.1 下载程序:

如果前面步骤都成功了,接下来就可以把编译好的程序下载到开发板上运行。下载程序不需要其他额外的软件,直接点击 KEIL 中的 LOAD 按钮即可。

程序下载后, Build Output 选项卡如果打印出 Application running…则表示程序下载成功。如果没有出现实验现象,按复位键试试。当然,这只是一个工程模版,我们还没写程序,开发板不会有任何现象。
       至此,一个新的工程模版新建完毕。