如何导入文件到STM32CubeIDE工程

import_file

导入文件

STM32CubeIDE,是一个基于ECLIPSE的开源开发环境。这个IDE环境管理文件的方式与MDK差别较大。

现在就让我们看看如何到添加文件和导入文件。

在工程目录中添加文件

拿我们屋脊雀的H750串口例程做示范。

例程的文件结构如下:

Dev/mcu/User,这三个文件夹是后添加。其他文件是创建工程产生的。

用STM32CubeIDE打开工程,看到的工程目录应该是这样的。

在工程目录下添加一个test1文件夹,在文件加内添加test1.c和text1.h。

在IDE中右键点击工程,点击refresh,刷新,新添加的test1目录和文件就会出现在工程中。

在main.c中包含test.h,然后编译,编译出错,编译信息指出找不到test.h。

我们需要将test.h所在的目录添加到工程路径。

右键点击工程,点击最下面的propreties,进入设置界面,根据下图红色标签,添加路径到工程。

添加成功后,在工程中查看包含的路径,注意:添加成功的路径是黑色,灰色表示不成功

这时编译,还是出现错误,说找不到我们在test1.c中写的test1_fun函数,为啥呢?

这就是这个IDE和MDK的区别了。打开刚刚设置包含头文件路径的地方,在右边有一个Source Location标签,这里是用于指定源文件的。

将test1目录添加到工程,这时,工程目录的test1图标已经起变化:右上角显示一个小的c字符。这才说明源文件已经被添加到工程中。

  • 下面我们测试二级目录。

在test1目录下添加一个test11目录,并添加test11.c和test11.h两个文件。

在main文件中引用test11.h头文件,并在main函数中调用test11.c源文件中的test11_fun函数。

经过测试,只需要将test1/test11这个路径添加到头文件即可,不需要将test1/test11添加到source Location。

工程目录外的文件

有时,我们需要将一些代码模块添加到工程,但是又不能拷贝到工程根目录下。那应该怎么办呢?

我们来测试下这个IDE如何操作。

在电脑任意地方创建一个test2文件夹,并创建test2.c和test2.h两个文件,在test2.c中编写test2_fun函数。

第1步,将代码添加到工程。

上图中有一个create links in workspace选项:

不勾,就是将代码拷贝一份到工程根目录。

勾上则使用链接,源文件还是在原来地方。

这样,就将代码添加到IDE目录了,注意,仅仅是添加到IDE目录,还没有添加到工程,在目录中的test2文件夹上,也没有一个c符号。

第2步,添加头文件路径和源码路径。

添加方法跟前面一样,路径类型都用workspace相对路径。然后编译,提示找不到test2.h。

说明头文件用相对路径是不行的,改直接路径试试。

编译成功。

那么,说明不能用workspace 的路径,只能用文件系统路径。

我们的文件通常跟IDE在同一个目录,只是文件夹层级不一样,所以,我们可以用相对路径。以便整个工程移动到其他目录后,也能正常编译。

比如对于test2文件夹,头文件路径可以设置为:../test2

  • 二级目录

经测试,二级目录也需要像一级目录一样import到工程对应文件夹。

但是不需要在source Location中添加路径,头文件需要独立添加。

 


20200503

end