• stm32f767 HAL 工程模板


    stm32f767 HAL  工程模板

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

     

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

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

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

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

     

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

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

    C:UsersAdministratorSTM32CubeRepositorySTM32Cube_FW_F7_V1.16.1

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

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

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

     

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

    Keil中添加组文件夹:

     注意:

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

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

    编译配置

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

     

     生成HEX

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

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

    正常编译,报错列表:

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

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

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

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

    报错:..USERIncmain.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的工程模板就建立好了。

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    MRF能量优化
    Django:model中的ForeignKey理解
    Django:常见的orm操作
    Django:在模板中获取当前url信息
    Django:haystack全文检索详细教程
    Django:全文检索功能可参考博客
    看电影学英语
    Markdown中怎么上传图片
    Mosquitto的安装、配置、测试
    Django:评论文章后局部刷新评论区
  • 原文地址:https://www.cnblogs.com/ncepu/p/14954328.html
Copyright © 2020-2023  润新知