创建第一个工程文件——STM32F769I图像处理能力评测之二
硬件平台:STM32F769IDISCOVERY
软件开发平台:Keil 5.15
1.安装Keil Software Packs。
首先需要安装Keil软件,具体的安装方法,可以查看这里http://jingyan.baidu.com/article/3c48dd349be215e10be358c9.html,我这里就不在重复了。安装完keil后,还需要安装Keil Software Packs,这样我们才能编写程序。需要要安装的Software Packs包括以下几个:
1. CMSIS (Cortex Microcontroller Software Interface Standard)
2. STMicroelectronics STM32F7 Series Device Support, Drivers andExamples
3. Keil MDK-ARM Professional Middleware for ARM Cortex-M based devices
下载地址:http://www.keil.com/dd2/Pack/。(要下载最新版本)
等上面的Software Packs下载完成后,我们可以打开刚才安装的Keil,安装Software Packs。
第一步:
第二步:
第三步:
点击File菜单,选中Import下拉菜单,接着选择刚才下载的Software Packs开始安装,最后等待安装结束,重新启动keil,就可以使用了。
2.下载STM32CUBEF7资源包
这个软件包,包含HAL底层驱动、USB、 TCP/IP、文件系统、RTOS、图像– 例程可直接运行在ST板子上。下载地址:http://www.stmcu.org/document/list/index/category-1019。下载完成后进行解压。
3. 下载STM32F769IDISCOVERY原理图、数据手册和参考手册。
STM32F769IDISCOVERY原理图下载地址:
http://www.stmcu.org/document/list/index/category-1019。
数据手册载地址:
http://www.stmcu.org/document/list/index/category-895。
参考手册下载地址:
http://www.stmcu.org/document/list/index/category-900。建议下载STM32F75xxx和STM32F74xxx参考手册中文版,因为和stm32f769的功能大体上是一致的,不同的地方可以看stm32f769的英文版手册。
4.安装ST Link USB驱动
要安装的程序为:STM32STLINK Utility。安装完成后,我们就可以使用Keil的仿真功能和程序下载。下载地址:http://www.stmcu.org/document/list/index/category-888。下载完成后,解压运行安装即可。
5.创建工程文件
首先创建一个以工程名命名的文件夹,例如我主要是测试图像处理这一块,所以给文件夹命名Image_Test。创建完成后,打开该文件夹,再次创建4个文件夹(是否应该创建该4个文件夹依据个人习惯,我创建的目的是便于管理和查看。),依次命名为:USER,CMSIS,FWLIB,OUTPUT,LIST。其中USER文件夹用来存放用户编写的程序文件,CMSIS文件夹用于存放官方提供的内核文件和启动文件,FWLIB文件夹用于存放官方提供的库函数文件。OUTPUT文件夹用于存放Keil编译产生的调试信息、可执行文件(.HEX)等等。LIST文件夹用于存放Keil编译产生的列表文件,其中包括堆栈信息,内存使用情况等等。
由于我后面要用到文件系统,因此需要再创建FATFS文件夹,用于存放文件系统文件。
上述的文件夹创建完成后,我们就可以往里面添加文件了。打开刚才解压后的STM32CUBEF7文件夹:
1.向CMSIS文件夹添加文件。
找到此路径下的文件,并把选中的文件复制到CMSIS文件夹。
接着找到此路径下的文件,并把选中的文件复制到CMSIS文件夹。
然后找到此路径下的文件,并把选中的文件复制到CMSIS文件夹。
最后找到此路径下的文件,并把选中的文件复制到CMSIS文件夹。
2.向FWLIB文件夹添加文件
找到此路径下的文件,并把选中的文件复制到FWLIB文件夹。
3. 向FATFS文件夹添加文件
找到此路径下的文件,并把选中的文件复制到FATFS文件夹。
4. 向USER文件夹添加文件
找到此路径下的文件,并把选中的文件复制到USER文件夹。
最后找到此路径下的文件,并把选中的文件复制到USER文件夹。
至此所需要的文件添加完毕。
打开Keil,创建一个工程文件并命名为Image_Test(名字根据需要,自己定义),保存到USER文件夹。
接着往工程添加3个文件夹,依次为USER, CMSIS, FWLIB;把之前放进去的文件添加进来。
USER文件夹添加的文件
CMSIS文件夹添加的文件
FWLIB文件夹添加的文件(根据自己项目需要,添加对应的库函数文件)
上述步骤完成后,进行工程的配置操作。
1.打开USER文件夹下的stm32f7xx_hal_conf.h文件进行修改。
1.1修改第53行到第97行的内容,对需要的头文件进行添加,同时注释不需要的头文件。
1.2修改第107行的内容,根据外接晶振的频率,修改相应的值,我这里是用25MHz的晶振,因此不用修改。
1.3修改第158行到第160行的内容。
VDD_VALUE的值为电源电压值,根据实际电路进行修改。TICK_INT_PRIORITY为系统滴答定时器中断优先级,这里不用修改,使用默认值。USE_RTOS为是否使用操作系统,根据项目需要自己定。我这里不需要操作系统,修改成0。修改完成后,保存关闭即可。
2.打开USER文件夹下的stm32f7xx _it.c文件进行修改。
2.1 删除第41行的内容。
2.2 注释掉第55行的内容
2.3注释掉第158行的内容
2.4注释掉第168行到183行的内容,然后保存文件,关闭即可。
3.打开CMSIS文件夹下的system_stm32f7xx.c文件进行修改。修改第69行的内容,根据外接晶振的频率,修改相应的值,我这里是用25MHz的晶振,因此不用修改。然后保存文件,关闭即可。
4.打开FWLIB文件夹下的stm32f7xx_hal.c文件进行修改。注释掉第165行和第168行的内容,然后保存文件,关闭即可。
5.按快捷键Alt+F7,出现如下界面,选中Trget选项,将Xtal的值修改成25MHz,勾选UseMicroLIB
6.选中Output选项卡,将keil的编译输出信息指定到之前创建的OUTPUT文件夹,勾选Create HEX File子项。
7. 选中Listing选项卡,将keil的编译产生的列表文件指定到之前创建的LIST文件夹,
8. 选中C/C++选项卡,在Define框中填入STM32F769xx,USE_HAL_DRIVER
优化等级选择3级。
9. 选中Debug选项卡,按下图进行设置。
然后点击Settings按钮,按如下图进行设置:
最后保存设置即可。
10.打开USER文件夹下的main.c文件进行修改。实现最简单的功能—LED灯闪烁。板上有一个红色的LED灯,高电平点亮,低电平关闭。
将第39行的内容修改为#include "stm32f7xx.h",保留main函数、SystemClock_Config函数和CPU_CACHE_Enable函数,其余的都删除。
创建LED的初始化函数,初始化IO口。创建延时函数,提供延时。
最后进行编译,下载到开发板上,验证效果。至此我们的程序编写完成
程序运行效果: