如何将Keil项目移植到Clion,先看几位大佬的文章:

稚晖君的回答:配置CLion用于STM32开发【优雅の嵌入式开发】

野火论坛:DAP仿真器的使用教程

wuxx:nanoDAP使用疑难杂症解析

qq_40947291:OpenOCD下载导致单片机被锁住解决办法


开发环境:

开发板stm32f103指南者,仿真器:野火DAP,Keil_v5,Clion_2022.3.2


首先测试DAP仿真器能在Keil5正常使用,实际上这儿就踩了不少坑,按“野火论坛:Dap仿真器的使用教程”配置无效,但通过串口烧录程序是能跑起来的。于是更改配置如下:启动Keil5->options for target->debug->settings:  debug选项卡:

  • 左上角适配器是普通的CMSIS-DAP,没有显示野火字样。
  • Connect框必须选择 under Reset,作用等同于下载程序时按复位键。
  • Reset框没有自动探测,实际上选 SYSRESETTREQ 也是可以的。
  • 除了Debug选项卡外,FLASH DownLoad选项卡中的 Reset And Run 可能也要勾选。


测试仿真器下载有效,接下来开始写代码。先配置Clion运行环境,再用Clion新建CubeMX工程。参考开篇“稚晖君的回答”配置环境。这里提出几个容易踩坑的地方:在配置Openocd时要加载cfg配置文件,野火DAP仿真器遵循CMSIS-DAP标准,其配置文件dapLinkFire.cfg如下:

# choose st-link/j-link/dap-link etc.
adapter driver cmsis-dap
transport select swd
# 0x10000 = 64K Flash Size
set FLASH_SIZE 0x20000
# 导入OpenOCD\share\openocd\scripts\target下的stm.32f1x.cfg文件,
# 具体导入哪个,和stm32型号有关可以倒网上查找
source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000

将dapLinkFire.cfg另存为ANSI编码。

Clion中锤子代表编译,三角代表烧录下载程序,虫子代表debug。

打开Clion,配置右上角的Openocd,这里Board config file要选择dapLinkFire.cfg(配置文件位置随意)。

打开Settings,配置MinGW64:

配置Debug:这里Generator选MinGW可以生成hex文件。

配置OpenOCD和CubeMX


完成上述配置应该能通过编译了,但此时下载程序还会报错:下载超时,或无法识别芯片等。为了证明开发板没问题,可以尝试通过串口烧录.hex看看结果,如果通过串口烧录没问题,那就是Clion和开发板连接问题。

Error: Error connecting DP: cannot read IDR
in procedure 'program'
** OpenOCD init failed **
shutdown command invoked

识别芯片失败的解决方案:按住开发板RESET按钮,Clion上点击下载,出现这个打印就马上放开,烧录成功Clion会提示。如果提示成功但开发板没效果,再次点击 RESET按钮

后来在网上看到这么一句话:

为什么按住复位键可以识别出目标芯片,松开就不行?原因是开发板中的程序复用了下载口SWCLK和SWDIO,将其作为了普通GPIO来使用。解决方法是先按住复位键,点击下载的同时松开复位键,此时一定要把握好时机,因为系统启动的时候, 还没走到复用下载口的代码,此时无法烧录下载。故一般情况下除非迫不得已,不建议把下载口复用为普通GPIO使用,因其会造成如上的烧录问题。 (另外一种方法是尝试把页面下的debug标签处设置改成under reset)。

报错:

clion提示 cmake-build-debug-mingw“): CreateProcess error=193, %1 不是有效的 Win32 应用程序。

解决方案:大概是因为插件 embeded development support 加载出了问题,重新启用该插件,重新配置下图方框内选项

Clion+dap仿真器,移植stm32项目的更多相关文章

  1. 使用EmBitz开发STM32项目的环境配置

    一.EmBitz软件获取与安装 1.EmBitz软件的获取 EmBitz原名Em::Blocks,是基于Code::Blocks开发的,面向嵌入式的C/C++集成开发环境.支持J-Link和ST-Li ...

  2. 第3章 如何用DAP仿真器下载程序

    第3章     如何用DAP仿真器下载程序 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/f ...

  3. 第3章 如何用DAP仿真器下载程序—零死角玩转STM32-F429系列

    第3章     如何用DAP仿真器下载程序 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...

  4. Mac平台Clion配置GLFW+GLAD的项目

    前期的准备工作详见LearnOpenGL CN 看这篇教程的前提是假设你已经编译好了GLFW文件夹以及下载好了GLAD,不会的话可以看我的另一篇 文章的前部分: 配置 Clion新建一个项目,CMak ...

  5. STM32——项目需求之低功耗的停机模式

    在说低功耗之前,先要明白一个东西,那就是stm32中的事件和中断. 事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断.在STM32中,中断与事件不是等价的,一个中断肯定对应一个事件 ...

  6. 在IAR(EWARM)中移植STM32固件库

    一.移植环境说明 (1).win10系统 (2).IAR(EWARM)7.7 (3).STM32标准固件库3.5.0 http://www.st.com/content/st_com/en/produ ...

  7. 使用emIDE创建STM32项目

    emIDE是一个开源的嵌入式集成开发环境,基于Code::Blocks开发,能够支持多个平台和多个厂家的嵌入式硬件,继承了Code::Blocks的有点. 下载emIDE并安装,也可选择绿色版.若需要 ...

  8. 【STM32项目笔记】STM32CubeMX+Keil+Proteus联合实现LED闪烁

    摘要 利用STM32CubeMx配置STM32芯片的功能,然后将配置后的内容生成代码,并导出成可以使用Keil打开编辑的文件,在Keil中添加控制代码后,下载到Proteus仿真中,使用仿真观察代码执 ...

  9. 项目移植过程中报:“Project facet Java version 1.7 is not supported.” 错误

    转载: http://my.oschina.net/nly/blog/349081 在移植eclipse项目时,如果遇到 报:“Project facet Java version 1.7 is no ...

  10. 手把手教你使用 Clion 开发 Linux C++ 项目

    手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员 ...

随机推荐

  1. 内存、cpu、硬盘使用率测试方法

    平时测试过程中经常需要测试页面展示的系统资源信息是否正确,比如CPU.内存.硬盘等,一般是需要测试服务器的资源情况,服务器一般部署在linux上,今天总结一下测试方法: 1.CPU测试:(使用shel ...

  2. ubuntu16.04openssh升级

    wget http://zlib.net/zlib-1.2.11.tar.gz tar xf zlib-1.2.11.tar.gz && cd zlib-1.2.11/ ./confi ...

  3. 接口文档API、剖析http协议, 原生http请求函数

    http协议:超广本传输协议 特点: 短连接 请求完成后就断开 无状态  对于事务处理无记忆能力 媒体独立 客户端要指定适合的传输内容类型,如json http  是建立在tcp/ip协议之上的应用层 ...

  4. 针对“RuntimeError: each element in list of batch should be of equal size” 问题解决

    第一次运行代码出现了这个问题: 这个问题的出现主要来源于DataLoader类中的collate.py文件造成的问题,由于每个batch里的长度不一致,因此导致出现了该问题. 通过百度方法和查看源码去 ...

  5. 弹框tabel

    <el-dialog title="删除数据类型" :visible.sync="isDataType" width="60%" :b ...

  6. flink 启动job命令

    0. 启动flink-session ./bin/yarn-session.sh -n 4 -s 3 -jm 2048 -tm 6144 高版本 bin/yarn-session.sh -d -s 3 ...

  7. jenkins新建用户,设置权限

    jenkins新建用户,设置权限 一.新建用户 1.1 登录jenkins,点开 manage Jenkins 1.2进入Manage Users 1.3 新建用户 1.4填入新建用户信息 1.5用户 ...

  8. Pytorch slp singleLayerPerceptron 单层感知机

    单层感知机 \[\begin{aligned} & y = XW + b \\ & y = \sum x_i*w_i+b\\ \end{aligned} \] Derivative \ ...

  9. java学习笔记(五)运算符

    ++ --   自增自减 a++ 执行完这行代码后,先给b赋值,再自增 ++a 执行完这行代码前,先自增,再给b赋值 Math类

  10. CV入坑

    https://www.cnblogs.com/fldev/p/14360149.html