STM32野火keil 工程用CLion创建模板

这两天尝试用Clion修改原来 野火霸道V2开发板 的Keil例程工程,碰到好多问题,总算跑通了,可以正常编译下载,串口打印。这些碰到的问题都记录在之前的文章里。

最后我得到了这个工程,将它命名为F103_Template(红色部分是下载到开发板成功时的控制台日志):

 我这个跑通的CLion工程是在原来的 USART1接发 Keil工程的基础上转换过来的。

日后继续看B站视频,但要用Clion学习其他没有学完的例程。所以配套的Keil例程都要转换成CLion工程。这里整理一下怎样将某个Keil工程快速转换成CLion工程。这个过程会用到上面已经跑通了的CLion工程。

注:之前已经写了文章怎样把Keil工程转化成CLion工程,这篇文章的目的是为了尽量简化将Keil工程转化为CLion工程的繁琐流程(尽管还是不够精简,多希望有个批处理文件可以一键修改😂)。

下面以

一、用CLion创建工程

1.新建并链接STM32CubeMX

File → New → Project → STM32CubeMX

填入自己的项目名称,请避免用中文。

等待STM32CubeMX启动:

选择适合自己开发板的配置文件(我选择的是自制的,相关问题移步参考文章1):

点击打开STM32CubeMX

选择对应的芯片型号,开始创建Project:

Project Manager里如下设置:

最后点击GENERATE CODE生成项目代码,选择Yes:

至此可以关闭CubeMX软件。

GENERATE CODE之前的文件夹:

GENERATE CODE之后的文件夹:

2.用修改文件的方式生成工程

要生成工程其实也可以不用这种方式,可以直接拷贝之前整理好的模板工程F103_Template,修改 project 相关文件(貌似是.cproject和.project这两个文件)内的信息,使之成为新的工程,但涉及到的文件修改比较繁杂,等我研究试好了再总结一下看哪一种更便捷。

二、拷贝整理好的目录模板并添加新文件

将生成的文件夹下的Core文件夹和Drivers文件夹删除,因为要用到的标准库文件,我们自己已经整理好了一份,把这一份删除。

F103_Template文件夹里有整理好的文件目录,就是Libraries文件夹和User文件夹,可以拿来直接拷贝给新工程用。

然后添加Keil工程中的其它额外的.h和.c文件进来。放到User的Inc和Src里面。不过记得要把一些头文件包含的语句修改一下,因为我们全都放在Inc和Src里了,只保留文件名即可。例如:

例如,我转换下列Keil工程:

把文件搬到CLion工程里:

三、修改CMakeList

用CLion打开工程,找到CMakeLists.txt文件,找到下列两行

修改为:

其实就是目录修改一下,因为我们整理了目录,和自动生成的目录不一样了。

include_directories(Libraries/CMSIS/inc Libraries/FWlib/inc User/Inc)


file(GLOB_RECURSE SOURCES "libraries/*.*" "User/*.*")

然后控制台刷新CMake:

如果不改这这两处,则会出现下列提示:

CMake Error: CMake can not determine linker language for target: Demo.elf


四、编译/下载工程

点击build:

连接开发板到电脑,开发板上电,CLion中点击run(因为我的CLion已经配置好了OCD):

下载成功!!!

验证程序效果:

/*********************************************************************************************/
【*】程序简介

-工程名称:DMA 存储器到外设模式实验
-实验平台: 野火STM32 霸道 开发板 

【 !】功能简介:
利用DMA向串口发送大量的数据,同时让CPU控制LED的状态


【 !】实验操作:
把编译好的程序下载到开发板。程序运行后在串口调试助手可接收到大量的数据,同时开发板上RGB彩色灯不断闪烁。

开发板LED灯正常闪烁。

五、补充说明

Libraries/CMSIS/inc/stm32f10x.h文件里的两处宏定义很重要,因为我整理好的目录里这个文件是修改好了的,所以没特别提出来。

#define STM32F10X_HD
#define USE_STDPERIPH_DRIVER

参考文章:

1.【教程】手把手教你用Clion进行STM32开发【如何优雅の进行嵌入式开发】 - 知乎 (zhihu.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STM32F103系列是一款由意法半导体(STMicroelectronics)推出的32位ARM Cortex-M3内核微控制器,具有丰富的外设资源和较高的性能,广泛应用于各种嵌入式系统中。 针对STM32F103系列微控制器的开发环境,一种常用的选择是使用Keil MDK集成开发环境(IDE),Keil MDK提供了完整的开发工具链,包括编译器、调试器和仿真器等。因此,我们可以从Keil官方网站上下载并安装Keil MDK软件。 下载Keil MDK软件的步骤如下: 1. 打开浏览器,进入Keil官方网站(https://www.keil.com/)。 2. 在网站的主页上,选择“Downloads”或类似的链接,以进入下载页面。 3. 在下载页面中,选择与您的操作系统相适应的版本(如Windows或Linux),并单击下载按钮。 4. 下载完成后,双击打开下载的安装文件,按照安装向导的指示进行安装过程。 5. 安装完成后,打开Keil MDK,您将获得一个带有模板工程的初始界面。 通常,在Keil MDK的安装过程中,已经包含了针对STM32F103系列的工程模板。这些工程模板可以帮助我们快速创建一个新的工程,并配置相关的编译选项和设备参数。通过使用这些工程模板,我们可以更轻松地开始开发STM32F103相关的应用程序。 因此,我们只需简单地下载并安装Keil MDK软件,即可获得STM32F103相关的工程模板,方便我们开展基于这一系列微控制器的应用程序开发。 ### 回答2: 要下载STM32F103的Keil工程模板,首先需要在ST官方网站上找到STM32F103系列的相关资料。在官方网站上,我们可以找到STM32F103的技术手册、参考手册、数据表等硬件文档。此外,还可以找到官方提供的启动代码和外设库文件。 接着,我们需要下载Keil MDK(Microcontroller Development Kit)软件,这是一款功能强大的嵌入式开发环境,可以用于编译、调试和下载ARM Cortex-M芯片的应用程序。Keil MDK软件可以在官方网站上进行免费试用,并且有一个受限的Lite版可以免费使用。 在Keil MDK软件中,我们可以创建一个新的工程,并选择STM32F103系列作为目标芯片。然后,我们可以将官方提供的启动代码和外设库文件导入到工程中。启动代码用于初始化芯片的基本设置,例如时钟、中断等,而外设库文件则包含了常见外设的驱动函数。 完成以上步骤后,我们就可以开始编写具体的应用程序。我们可以根据具体的需求,在Keil MDK软件的集成开发环境中编写C程序,并利用官方提供的API函数操作STM32F103的各种外设,例如GPIO、UART、SPI等。 最后,编译好的应用程序可以通过Keil MDK软件将其下载到STM32F103芯片中进行运行。我们可以使用ST-LINK调试器或者其他支持的调试器连接到芯片上,对应用程序进行调试和测试。 综上所述,下载STM32F103的Keil工程模板需要进行以下步骤:在ST官方网站上下载相关资料、下载Keil MDK软件、创建工程并导入启动代码和外设库文件、编写应用程序、编译并下载到芯片中进行调试和测试。 ### 回答3: 要下载STM32F103的Keil工程模板,你可以按照以下步骤进行操作: 1. 打开浏览器,搜索“STM32F103 Keil工程模板下载”。 2. 在搜索结果中找到适合的网站,点击进入。 3. 在网站上找到下载页面或者下载链接,并点击进入。 4. 在下载页面上,确认下载文件的版本和适用于Keil软件的版本,确保兼容性。 5. 点击下载按钮,开始下载这个工程模板文件。根据网速不同,下载时间可能会有所不同。 6. 下载完成后,找到下载文件所存储的位置,通常在默认的下载文件夹中。 7. 将下载的工程模板文件解压到你想要存储的位置。可以选择新建一个文件夹来存储它。 8. 打开Keil软件,点击菜单栏中的“文件”>“打开”,找到你解压后的工程模板文件所在的文件夹,选择主工程文件(通常后缀名为.uvprojx)并打开。 9. 在Keil中,你可以根据需要编辑和调试工程模板,添加你自己的代码或进行其他配置。 10. 编译和下载工程模板STM32F103开发板上进行测试。 请注意,每个网站的下载过程可能会有所不同,以上步骤仅提供了一般的指导。如果遇到问题,你可以参考Keil的官方文档或者咨询其他开发者的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值