【STM32F412-DISCO 开发板试用体验】+HAL库介绍&工程建立

  • 开发
  • 黄莨元
  • LV5工程师
  • |      2017-04-25 21:21:18
  • 浏览量 1721
  • 回复:2
这篇文章主要简单地介绍了STM32HAL库的结构和如何去建立一个工程文档。(一)HAL库的结构和部分文件介绍首先来介绍一下这几个文件夹: ① BSP文件夹这个文件夹提供的是直接与开发板对接API,例如触摸屏,LCDSRAM 以及 EEPROM里面包含了一个和开发板对应的文件夹(STM32F4-Discovery文件夹的内容如下图: ② CMSIS文件夹顾名思义就是符合 CMSIS 标准的软件抽象层组件相关文件。文件夹内部文件比较多。主要包括 DSP(DSP_LIB 文件夹)Cortex-M 内核及其设备文件(Include 文件夹),微控制器专用头文件/启动代码/专用系统文件等(Device 文件夹) ③ STM32F4xx_HAL_Driver文件夹它包含了所有的 STM32F4xx系列 HAL 库头文件和源文件,也就是所有底层硬件抽象层 API 声明和定义。它的作用是屏蔽了复杂的硬件寄存器操作,统一了外设的接口函数。该文件夹包含 Src Inc 两个子文件夹,其中 Src 子文件夹存放的是.c 源文件,Inc 子文件夹存放的是与之对应的.h 头文件。每个.c 源文件对应一个.h 头文件。 接下来介绍一下HAL库内文件包含结构以及文件的作用:(直接上图,清晰明了) 最后,我们来看看HAL库的各文件的包含关系: 从上面工程文件包含关系图可以看出,顶层头文件 stm32f4xx.h 直接或间接包含了其他所有工程必要头文件,所以在我们的用户代码中,我们只需要包含顶层头文件 stm32f4xx.h 即可。(二)建立工程文档在上面的介绍中,大概介绍了HAL库的基本文件,接下来我们用keil开始新建一个基于HAL库的工程。1. 新建一个文件夹,并在此文件夹中建立如下图的几个文件夹 注意:SYSTEM文件夹可以忽略,我是直接复制正点原子的。2. 打开keil并且新建一个新的工程,将工程保存在USER文件夹注意:要安装相应的pack包才能选到板子对应的芯片型号 3. 复制启动文件、内核文件、还有API文件,如下图所示 其中启动文件和内核的头文件保存在CORE文件夹中。 内核的头文件在Cube中的如下路径: 启动文件的路径如下: API文件统一放到HALLIB文件夹中,路径如下: 直接复制这两个文件夹,如下: 4. 复制user文件,如下图: 5. 打开工程,将复制的文件添加到工程里面,设置相应的头文件路径即可添加相应的分组一一对应添加文件就可以了,分组不唯一。 下一步,配置好路径和宏定义,设置生成HEX文件,如下图: 6. 到这里,一个基本的工程就创建完成了,编译即可。 最后,感谢云汉电子社区和ST给给予了我这次评测STM32F412G-Discovery开发板的机会,:lol我会加油评测的。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
15918457947 2017-04-25
:P:P加油
2   回复
举报
发布
黄莨元 回复 2017-05-01
:handshake好
0   回复
举报
x
收藏成功!点击 我的收藏 查看收藏的全部帖子