[原创] 图像处理能力评测之二--创建第一个工程文件

ilovefengshulin   2016-12-10 08:43 楼主
图像处理能力评测之二--创建第一个工程文件
硬件平台: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。
第一步:
QQ截图1.jpg
第二步:
QQ截图2.jpg
第三步:
点击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-900建议下载STM32F75xxxSTM32F74xxx参考手册中文版,因为和stm32f769的功能大体上是一致的,不同的地方可以看stm32f769的英文版手册。
4.安装ST Link USB驱动
要安装的程序为:STM32STLINK Utility。安装完成后,我们就可以使用Keil的仿真功能和程序下载。下载地址:http://www.stmcu.org/document/list/index/category-888下载完成后,解压运行安装即可。
5.创建工程文件
首先创建一个以工程名命名的文件夹,例如我主要是测试图像处理这一块,所以给文件夹命名Image_Test。创建完成后,打开该文件夹,再次创建4个文件夹(是否应该创建该4个文件夹依据个人习惯,我创建的目的是便于管理和查看。),依次命名为:USERCMSISFWLIBOUTPUTLIST。其中USER文件夹用来存放用户编写的程序文件,CMSIS文件夹用于存放官方提供的内核文件和启动文件,FWLIB文件夹用于存放官方提供的库函数文件。OUTPUT文件夹用于存放Keil编译产生的调试信息、可执行文件(.HEX)等等。LIST文件夹用于存放Keil编译产生的列表文件,其中包括堆栈信息,内存使用情况等等。
由于我后面要用到文件系统,因此需要再创建FATFS文件夹,用于存放文件系统文件。
上述的文件夹创建完成后,我们就可以往里面添加文件了。打开刚才解压后的STM32CUBEF7文件夹
1.CMSIS文件夹添加文件。
找到此路径下的文件,并把选中的文件复制到CMSIS文件夹。
QQ截图3.jpg
接着找到此路径下的文件,并把选中的文件复制到CMSIS文件夹。
QQ截图4.jpg
然后找到此路径下的文件,并把选中的文件复制到CMSIS文件夹。
QQ截图5.jpg
最后找到此路径下的文件,并把选中的文件复制到CMSIS文件夹。
QQ截图6.jpg
2.向FWLIB文件夹添加文件
找到此路径下的文件,并把选中的文件复制到FWLIB文件夹。
QQ截图7.jpg
3. 向FATFS文件夹添加文件
找到此路径下的文件,并把选中的文件复制到FATFS文件夹。
QQ截图8.jpg
4. 向USER文件夹添加文件
找到此路径下的文件,并把选中的文件复制到USER文件夹。
QQ截图9.jpg
最后找到此路径下的文件,并把选中的文件复制到USER文件夹。
QQ截图10.jpg
至此所需要的文件添加完毕。
打开Keil,创建一个工程文件并命名为Image_Test(名字根据需要,自己定义),保存到USER文件夹。
QQ截图11.jpg
接着往工程添加3个文件夹,依次为USER, CMSIS, FWLIB;把之前放进去的文件添加进来。
QQ截图12.jpg
USER文件夹添加的文件
QQ截图13.jpg
CMSIS文件夹添加的文件
QQ截图14.jpg
FWLIB文件夹添加的文件(根据自己项目需要,添加对应的库函数文件)
QQ截图15.jpg
上述步骤完成后,进行工程的配置操作。
1.打开USER文件夹下的stm32f7xx_hal_conf.h文件进行修改。
1.1修改第53行到第97行的内容,对需要的头文件进行添加,同时注释不需要的头文件。
QQ截图16.jpg
1.2修改第107行的内容,根据外接晶振的频率,修改相应的值,我这里是用25MHz的晶振,因此不用修改
QQ截图17.jpg
1.3修改158行到第160行的内容。
VDD_VALUE的值为电源电压值,根据实际电路进行修改。TICK_INT_PRIORITY为系统滴答定时器中断优先级,这里不用修改,使用默认值。USE_RTOS为是否使用操作系统,根据项目需要自己定。我这里不需要操作系统,修改成0。修改完成后,保存关闭即可。
QQ截图18.jpg
2.打开USER文件夹下的stm32f7xx _it.c文件进行修改。
2.1 删除第41行的内容。
QQ截图19.jpg
2.2 注释掉第55行的内容
QQ截图20.jpg
2.3注释掉第158行的内容
QQ截图21.jpg
2.4注释掉第168行到183行的内容,然后保存文件,关闭即可
QQ截图22.jpg
3.打开CMSIS文件夹下的system_stm32f7xx.c文件进行修改。修改第69行的内容,根据外接晶振的频率,修改相应的值,我这里是用25MHz的晶振,因此不用修改。然后保存文件,关闭即可。
QQ截图23.jpg
4.打开FWLIB文件夹下的stm32f7xx_hal.c文件进行修改。注释掉第165行和第168行的内容,然后保存文件,关闭即可。
QQ截图24.jpg
5.按快捷键Alt+F7,出现如下界面,选中Trget选项,将Xtal的值修改成25MHz,勾选UseMicroLIB
QQ截图25.jpg
6.选中Output选项卡,将keil的编译输出信息指定到之前创建的OUTPUT文件夹,勾选Create HEX File子项。
QQ截图26.jpg
7. 选中Listing选项卡,将keil的编译产生的列表文件指定到之前创建的LIST文件夹,
QQ截图27.jpg
8. 选中C/C++选项卡,在Define框中填入STM32F769xx,USE_HAL_DRIVER
优化等级选择3级。
QQ截图28.jpg
9. 选中Debug选项卡,按下图进行设置。
QQ截图29.jpg
然后点击Settings按钮,按如下图进行设置:
QQ截图33.jpg
QQ截图34.jpg
最后保存设置即可。
10.打开USER文件夹下的main.c文件进行修改。实现最简单的功能—LED灯闪烁。板上有一个红色的LED灯,高电平点亮,低电平关闭。
将第39行的内容修改为#include "stm32f7xx.h",保留main函数、SystemClock_Config函数和CPU_CACHE_Enable函数,其余的都删除。
创建LED的初始化函数,初始化IO口。创建延时函数,提供延时。
QQ截图30.jpg
QQ截图31.jpg
QQ截图32.jpg
最后进行编译,下载到开发板上,验证效果。至此我们的程序编写完成
QQ截图35.jpg
程序运行效果:
QQ截图36.jpg
点击此处,查看STM32F769I开发板官方资源。 本帖最后由 ilovefengshulin 于 2016-12-10 08:58 编辑

回复评论 (3)

hao
点赞  2016-12-10 09:29
没玩过这个弄不好。
点赞  2016-12-10 12:15
写得不错
点赞  2016-12-10 23:15
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复