Qurak

Make Code Talk

0%

STM32单片机HAL库学习MacOS(1)——文件管理

——Dec.8.2020

目录

本次实验采用正点原子STM32F407探索者开发版和STM32cubeIDE软件开发

  • 初步了解STM32cubeIDE的文件管理系统
  • 学会在工程文件中添加新文件

一、STM32cubeIDE文件管理系统

(1)文件系统结构

这是我们新建一个工程后看到的文件系统,整个工程取名为Project,我们看到下面有很多子目录。

  • 一看到Includes,熟悉C语言的同学想必有点Amazing,这里居然包括了所有的头文件路径(后续添加文件可以通过这个来查看文件是否添加成功)
  • 其中Core位核心文件,里面包含了芯片HAL库函数文件main.c以及对应头文件。
  • Starup对应的是项目启动相关的设置,我们一般是不用动这个文件的
  • Drivers是一些外设对应的驱动函数文件,子目录中有CMSIS文件夹中就包含许多外设调用函数,其中CMSIS(微控制器软件接口标准,Cortex Microcontroller Software Interface Standard)。因此例如ADC,DMA,FLASH等函数都可以在这里查找。
  • 注:这里因为有一些功能没有开启,所以可能会缺少某些功能的文件,读者可以自行查询。
文件结构

那么一些好奇的同学就会问了,这么多文件我该怎么找自己所需要的函数呢?这里提供了三种方法:

  • 学会利用IDE的文件系统检索功能,在macOS端可以用快捷键Control + H来快速调出检索界面。(PS:这个也是本人最常用的一个功能,只需要记住函数的关键字就能进行检索找到对应的函数,还是挺方便的)
  • 上网查询(可以直接搜索,或者上一些例如CSDN,电子发烧网的优质论坛查询)。(PS:这个和第一个方法经常会一起用,用熟练的话效率还是蛮高的)「附:这里另外介绍几个最近发现的ST论坛。 STM32cube中文网 STM32/STM8技术社区
  • 查询官方文件(STM32中文(英文)手册、ST官方的HAL库用户手册等)。

(2)生成编译文件选项

当我们编译构建Build All的时候,STM32cubeIDE在默认情况下只会生成二进制文件(.bit),而一些程序烧录软件只支持十六进制文件(.hex),这就需要我们在设置中勾选十六进制的编译文件。

具体操作:点击Project右键Properties -> C/C++ Build ->Settings -> Tool Settings-> Convert to Hex file (-O ihex)最后Apply and close完成设置,下次编译的时候就会自动生成相应的(.hex)文件(这些编译文件均可以在Debug文件夹中找到)

右键菜单编译文件设置

二、在工程中新增文件

(1)工程内部添加

我们可以在工程中直接在上方工具栏中添加文件,注意,在新建源文件(.c)以及头文件(.h)的时候,文件命名时需要加上后缀名(.c or .h)否则文件系统会自动把新建的文件理解成文本文件(.text)

新建文件

(2)外部文件添加

虽然我们知道了如何从工程内部添加文件,但是很多情况下我们更需要从外面引入文件。这里介绍引入外部文件的方法。

  • 为了方便后续文件管理,我们在工程根目录中新建一个文件夹(这里我采用另外一个工程的键盘文件Keyboard_4_4,里面有相应的源文件和头文件)
  • 加入文件后,我们刷新一下列表,会发现文件已经出现在我们的列表之中,但是现在它们还在没有真正**“加入工程”**,我们还不能调用其中的函数。这是因为编译中并没有添加相应的路径。
  • 头文件添加:我们右键->Properties -> c/c++ General,我们可以在Includes标签下,选择Add添加,点击Flie system选择我们的文件夹。我们可以看到Include directories下面已经有了我们的路径。

添加头文件路径

添加头文件

  • 源文件添加:我们回到Properties for Project,点击Source Location -> Add Folder...选择我们的文件,点击添加即可。这样我们就可以正常调用这些文件了!

源文件添加-1

三、建议

学会如何添加文件后,我们可以将外设的驱动代码另设文件,方便以后移植和调用。


END