如何将现有的makefile openocd项目导入CLion

时间:2019-07-10 00:53:16

标签: makefile cmake arm clion openocd

问题

我开始使用已经设置了makefile的现有stm32项目进行工作。我设置了arm-none-eabi工具链和openocd,并能够从命令行使用Makefile进行闪存/调试。

我想使用CLion开发和调试该项目,但是遇到了一些困难,因为CLion本身不支持makefile。我在OSX 10.14.4上使用CLion 2019.1。

我尝试过的

由于CLion 2019.1引入了对使用openocd(https://www.jetbrains.com/help/clion/2019.1/embedded-development.html)进行嵌入式开发的正式支持,因此我首先尝试使用上述网页上的指南创建一个新项目,并粘贴我的源代码以及翻译将makefile放入CMake模板。但是由于makefile本身很复杂,而且我对CMake还是陌生的,因此我无法用CMake进行编译。

然后,我尝试的第二种方法是使用现有的makefile进行编译,并使用已编译的二进制文件创建自定义目标,以进行刷新和调试。

我能够找到一种解决方法,方法是首先单击New CMake Project from Sources,然后在add_executable(...)中注释生成的CMakeLists.txt,然后添加以下行:

add_custom_target(upload COMMAND make)

然后在“运行/调试配置”中添加了OpenOCD Download & Run目标,并将目标设置为自定义目标upload,然后将可执行文件设置为由makefile生成的elf文件。这是一个 screenshot

结果

我可以使用此配置进行闪存和调试,但是有两个问题。

  • 我的自定义目标似乎并未实际执行命令make,因此我必须去终端并键入make才能将代码编译为elf文件,然后单击“运行”。 CLion中的“或”“调试”以使代码更改生效。

  • 我所有的源代码都标记为“此文件不属于任何项目目标”,并且所有不错的代码洞察功能均不适用于它们。这是由于我在add_executable中注释掉了“ CMakeList”,因此取消注释即可解决问题。但是我每次都要在“运行”或“调试”之前对其进行评论。

将项目导入CLion时,我觉得这是一个注释问题。我想知道这里是否有人有类似的挣扎并有更好的解决方案。

0 个答案:

没有答案