STM32F429学习笔记(一)触屏工程Keil建立
由于原来的STM32F103ZET6的flash坏掉了,所以又买了一块STM32F429DISCOVERY,这块板子非常不错,基于Cortex-M4内核,自带一块2.4寸TFT触屏,主频为180M,且内置了ST-Link下载器,使用非常的方便。
近期参加校赛,用它的触屏写了个上位机,当时我是在实验室的电脑和我的平板电脑之间相互拷贝工程,由于ST官方的工程都是公用库文件,所以独立性不强,想要拷贝就得拷贝整个目录,为了解决这个问题,我仔细学习了官方工程的组成与调用,并成功的将所有文件分离出来,建立了一个独立的工程文件夹,以后再拷贝时,只需要将这单个工程拷贝出来,即可方便的移植,其间有不少小插曲,下面就对具体步骤进行详述。
一、建立工程文件夹体系
①首先得建立总的工程目录,我将它命名为STM32F429PROJ,并在其内建立Library、MDK-ARM、USER文件夹,如下图所示:
其中MDK-ARM放置启动文件,USER放置工程、主函数和中断函数,Library放置各类库函数。
②接下来进入Library内,建立Common、Discovery、DRIVER目录,它们用于放置各类库,其中Discovery中放置的是特色库,例如板上的TFT驱动程序,而DRIVER中则放置一些基本的库,和M3内核的库基本一致。而Common中为它们共同访问的基本库,如下图所示:
经过这两步之后,工程文件夹就制作完成了。
二、复制官方库中相应文件到工程文件夹:
STM32F429I-Discovery_FW_V1.0.0在官方可以下载,这是官方的库,我们需要把库文件复制到我们的工程下,具体操作如下:
①USER:由于我们建立触控工程.因此需要打开如下路径:
\STM32F429IDiscovery_FW_V1.0.0\Projects\Peripheral_Examples\Touch_Panel
将它下面这些文件拷贝到我们工程的USER目录内
②MDK-ARM:其内放置的启动文件,启动文件在官方工程的如下路径
\STM32F429I-Discovery_FW_V1.0.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm
将其中的startup_stm32f429_439xx.s复制到我们工程的MDK-ARM下。
③Library的Common:打开如下路径:
\STM32F429I-Discovery_FW_V1.0.0\Utilities\Common
将其中的所有文件拷贝到我们的Common目录下。
④Library的Discovery:首先在Discovery目录下建立inc与src目录,其中inc用于放置头文件,而src用于放置c文件,二者一一对应。
拷贝如下路径的所有.c文件到我们Discovery目录下的src:
\STM32F429I-Discovery_FW_V1.0.0\Utilities\STM32F429I-Discovery
同样将其中的.h文件拷贝到我们的inc中。
⑤Library的DRIVER:首先也是要建立inc与src,然后打开如下路径:
\STM32F429I-Discovery_FW_V1.0.0\Libraries\STM32F4xx_StdPeriph_Driver
将其中的inc与src分别拷贝到我们DRIVER目录下的inc与src中。
到现在为止,文件操作到此结束,下面是工程配置。
三、建立工程与配置
①关于Keil工程的建立方式我就不赘述了,注意的是选择芯片STM32F429ZI,不添加驱动文件。
下面是对工程的配置,首先单击快速工具栏的品字图标,打开工程配置,然后按如下的图片添加文件:
然后点击确认,这时所有的c文件和启动文件都添加进来了。
②添加h文件的目录:打开工程设置,选择C/C++选项卡,在下面的Include Path右面的“...”点击一下,打开配置页面,进行如下配置:
接下来配置宏定义,仍然是C/C++选项卡,上侧的Define内填入如下内容:
USE_STDPERIPH_DRIVER,STM32F429_439xx,USE_STM32F429I_DISCO,
③下面选择Debug选项卡,勾选最上面一栏右侧的Use左侧圆点,选择ST-Link Debugger,打开Settings,如下配置:
④继续保持上面的窗口不关闭,打开Flash Download选项卡,添加如下设备描述:
经过这些配置,一个完整的工程就建立完毕了。接下来点击全部编译,没有意外的话会得到0 warning与0 error的工程,以后使用这个模板,会非常方便。
完整工程的下载地址如下:
http://down.51cto.com/data/1282075