了解STM32的标准库文件之后,我们就可以使用它来建立工程了,因为用库新建工程的步骤较多,我们一般是使用库建立一个空的工程,作为工程模板。以后直接复制一份工程模板,在它之进行开发。
本章的"工程模板"范例可在配套资料中找到,自己新建工程模版时可参考该工程。
10.1 新建工程
版本说明:MDK5.15 (MDK即KEIL软件)
版本号可从MDK软件的"Help-->About uVision"选项中查询到。
10.1.1 新建本地工程文件夹
为了工程目录更加清晰,我们在本地电脑上新建一个"工程模板"文件夹,在它之下再新建6个文件夹,具体如下:
表 101 工程目录文件夹清单
图 101 工程文件夹目录
在本地新建好文件夹后,把准备好的库文件添加到相应的文件夹下:
表 102 工程目录文件夹内容清单
10.1.2 新建工程
打开KEIL5,新建一个工程,工程名根据喜好命名,我这里取LED-LIB,保存在ProjectRVMDK(uv5)文件夹下。
图 102 在KEIL5中新建工程
1. 选择CPU型号
这个根据你开发板使用的CPU具体的型号来选择, M4至尊版选STM32F429IGT型号。如果这里没有出现你想要的CPU型号,或者一个型号都没有,那么肯定是你的KEIL5没有添加device库,KEIL5不像KEIL4那样自带了很多MCU的型号,KEIL5需要自己添加,关于如何添加请参考《如何安装KEIL5》这一章。
图 103 选择具体的CPU型号
2. 在线添加库文件
等下我们手动添加库文件,这里我们点击关掉。
图 104 库文件管理
3. 添加组文件夹
在新建的工程中添加5个组文件夹,用来存放各种不同的文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
表 103 工程内组文件夹内容清单
图 105 如何在工程中添加文件夹
4. 添加文件
先把上面提到的文件从ST标准库中复制到工程模版对应文件夹的目录下,然后在新建的工程中添加这些文件,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
图 106 如何在工程中添加文件
5. 设置文件是否加入编译
STM32F429比较特殊,它有用FMC外设代替了FSMC外设的功能,所以它的库文件与其它型号的芯片不一样,在添加外设文件时,stm32f4xx_fmc.c和stm32f4xx_fsmc.c文件只能存在一个,而且我们的STM32F429芯片必须用fmc文件。如果我们把外设库的所有文件都添加进工程,也可以使用下面的方法,设置文件不加入编译,这样也不会导致编译问题。这种设置在开发时也很常用,暂时不把文件加进编译,方便调试。
图 107 设置文件是否加入编译
6. 配置魔术棒选项卡
这一步的配置工作很重要,很多人串口用不了printf函数,编译有问题,下载有问题,都是这个步骤的配置出了错。
(1) Target中选中微库" Use MicroLib",为的是在日后编写串口驱动的时候可以使用printf函数。而且有些应用中如果用了STM32的浮点运算单元FPU,一定要同时开微库,不然有时会出现各种奇怪的现象。FPU的开关选项在微库配置选项下方的"Use Single Precision"中,默认是开的。
图 108 添加微库
(2) 在Output选项卡中把输出文件夹定位到我们工程目录下的"output"文件夹,如果想在编译的过程中生成hex文件,那么那Create HEX File选项勾上。
图 109配置 Output 选项卡
(3) 在Listing选项卡中把输出文件夹定位到我们工程目录下的"Listing"文件夹。
图 1010配置 Listing 选项卡
(4) 在C/C++选项卡中添加处理宏及编译器编译的时候查找的头文件路径。
图 1011配置 C/C++ 选项卡
在这个选项中添加宏,就相当于我们在文件中使用"#define"语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模版,就不用源文件中修改代码。
STM32F429_439xx宏:为了告诉STM32标准库,我们使用的芯片是STM32F429型号,使STM32标准库根据我们选定的芯片型号来配置。
USE_STDPERIPH_DRIVER宏:为了让stm32f4xx.h包含stm32f4xx_conf.h这个头文件。
"Include Paths "这里添加的是头文件的路径,如果编译的时候提示说找不到头文件,一般就是这里配置出了问题。你把头文件放到了哪个文件夹,就把该文件夹添加到这里即可。(请使用图中的方法用文件浏览器去添加路径,不要直接手打路径,容易出错)
7. 下载器配置
这部分的配置最好是在安装好下载器驱动,下载器连接了电脑和开发板,且开发板上电后来配置。
这里面需要根据你使用了什么仿真器来配置,常用的有三种仿真器:JLINK/ARM-OB,ST-LINK,ULINK2,而且这个配置不是配置完一次之后以后就不会改变,当你换了芯片型号,或者其他操作(具体原因不明)都会改变下载器的配置。
(1) JLINK/ARM-OB配置
要先安装了JLINK驱动之后,该配置才能下载,两者缺一不可。
图 1012 JLINK/ARM-OB下载配置
②ST-LINK配置
要先安装了ST-LINK驱动之后,该配置才能下载,两者缺一不可。
图 1013ST-LINK下载配置
③ULINK2配置
要先安装了ULINK2驱动之后,该配置才能下载,两者缺一不可。要注意的是设置成ULINK2,而不是ULINK。
图 1014ULINK2下载配置
8. 选择CPU型号
这一步的配置也不是配置一次之后完事,常常会因为各种原因需要重新选择,当你下载的时候,提示说找不到Device的时候,请确保该配置是否正确。有时候下载程序之后,不会自动运行,要手动复位的时候,也回来看看这里的"Reset and Run"配置是否失效。M4至尊版用的STM32的FLASH大小是1M,所以这时选择1M的容量,如果使用的是其他型号的,要根据实际情况选择。
图 1015 选择芯片型号
一个新的工程模版新建完毕。
上一篇:第33章 TIM—电容按键检测—零死角玩转STM32-F429系列
下一篇:第11章 GPIO输出-使用固件库点亮LED—零死角玩转STM32-F429系列
推荐阅读最新更新时间:2024-11-04 15:00
设计资源 培训 开发板 精华推荐
- AM1G-1212DH30Z ±12V 1 瓦 DC-DC 转换器的典型应用
- DVK-SFJK-1-GEVK,基于AX-SFJK收发器的RCZ3的Sigfox AT开发套件
- LTC2636-HMI12 八通道、12 位数模转换器的典型应用
- 使用 Diodes Incorporated 的 PT8A 3517C 的参考设计
- TS9010ACX5 RF 150mA, 1.5V CMOS LDO with Enable 典型应用电路
- 使用 LTC1446,第一个双路、单电源、轨至轨电压输出 12 位 DAC 来制作自动量程 ADC
- AM1D-1215D-RZ ±15V 1 瓦 DC/DC 转换器的典型应用
- 具有 400mA 突发钳位、fSW = 1MHz 同步降压型稳压器的 LTC3621IDCB-5 2.5V Vout 的典型应用
- 具有 500ksps 18 位 LTC2377-18 SAR ADC、LTC6655-5 的 LTC6362 演示板
- EVAL-AD1853EB,使用 AD1853 高性能、24 位立体声数模转换器的评估板