stm32f767 HAL 工程模板

stm32f767 HAL  工程模板

官方建议使用 HAL库方式!!!

 

HAL库的移植,同标准库的移植相差不多。

本次以STM32F767使用HAL库进行移植,建立工程模板。

其它开发板,类似的选择要拷贝需要的文件,只是名字不同本质的东西大致一样。

要会变通,及文件名的意思,代表着他们的作用,要思考。

 

HAL的下载,使用Cube MX软件自带下载的即可,默认保存路径:

注意修改用户名为自己用户名!

C:\Users\Administrator\STM32Cube\Repository\STM32Cube_FW_F7_V1.16.1

在Keil中创建五个文件夹,为了学习和分析的方便性,文件夹的目录级数,均为一层,没有多层管理。

看我的思维导航图就知道。

其实生产环境中,可以将,STM32F7xx_HAL_Drive、STARTUP、CMSIS\CORE、CMSIS\ST,这四个文件夹其实可以放一个文件夹:HAL

 

 

 

 

最终拷贝好的,工程模板的源码目录结构:

 

Keil中添加组文件夹:

 注意:

为了学习和分析,添加组文件时,头文件,源文件,都一并添加进来了。

HAL_Driver可先只先添加需要文件,避免编译时间过长。

 

 

 

 

编译配置

晶振25,使用微库,双浮点启用,这里暂时没有使用,只是先开启【后续一定是要整的】。

 

 

 

 生成HEX

 

 

Keil中添加头文件,和 预编译的宏定义: USE_HAL_DRIVER,STM32F767xx

注意: 预编译的宏定义,其实也是可以在代码中实现的。【CMSIS\ST文件夹中的stm32f7xx.h内】

 

 

 

正常编译,报错列表:

 

报错:FCARM - Output Name not specified, please check 'Options for Target - Utilities'

 

 

 分析:从网上搜索和自己找问题,大都是因为在添加组时,进行添加文件时,引入了非头文件,源文件,汇编文件,IDE不能适别导致。

解决方法,将组文件夹都删除,重新再添加一遍,再次编译。

组文件夹 有人不理解,其实就是点击那个“品字形”的图标,组织文件夹的配置,删除重新添加。

 

 

 

 

 

 

 

 

 

报错:..\USER\Inc\main.h(26): error:  #5: cannot open source input file "stm32f7xx_nucleo_144.h": No such file or directory

分析:明显是引入的文件不存在,双击报错行,会跳转到报原因行。

 注解//#include "stm32f7xx_nucleo_144.h",再编译。

 

 

 

 

报错:Overlapping of Algorithms at Address 08000000H

  分析:重叠 of 算法 at 地址 

解决:只留STM32F7x  1MB Flash  1M 那一行即可。

 

 

 

再编译运行,一般不会有什么报错。

【如若有参考我的方法进行移植有报错,欢迎留言,协助你分析报错!】,

这样一个HAL的工程模板就建立好了。

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-06-30 14:31  glpa  阅读(292)  评论(0编辑  收藏  举报