【Mac+CLion+STM32+ST-Link】Mac(apple sillicon)上使用STM32CubeMX和CLion搭建嵌入式开发环境

这篇具有很好参考价值的文章主要介绍了【Mac+CLion+STM32+ST-Link】Mac(apple sillicon)上使用STM32CubeMX和CLion搭建嵌入式开发环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

软件安装

Clion

官网安装或者brew安装,我用的是2023.2版本。

stlink server

https://www.st.com/en/development-tools/st-link-server.html
不安装的话检测不到stlink。

STM32CubeMX

https://www.st.com/en/development-tools/stm32cubeide.html#overview&secondary=st-get-software
用来快速搭建一个工程。

环境搭建

Arm-toolchain

用来编译和debug的组件。

brew install --cask gcc-arm-embedded
# 以下命令有输出说明安装成功
arm-none-eabi-gcc -v
arm-none-eabi-gdb -v

P.S.: 有的教程里说用 brew install arm-none-eabi-gcc这个是旧版本,安装以后在我的电脑上会导致编译失败。

Openocd

用于下载程序到单片机的的组件。

brew install open-ocd
# 以下命令有输出说明安装成功
openocd -v

stlink

brew install stlink
# 插入stlink后以下命令应该能检测到该stlink
st-info --probe

如果显示指令不存在,说明stlink没装好,重新用brew再装一遍。
如果检测不到,可能是server有问题。

Clion配置

Step 1:设置插件

Clion应该自动装好了Embeded Development Support插件,如果没有就手动装一下。然后在设置里写上路径,点测试会显示版本而不是报错:
mac嵌入式开发,macos,stm32,嵌入式硬件
STM32CubeMX应该会自动检测到。如果不确定openocd路径的话,在命令行输入:

 which openocd

Step 2:新建工程和设置

新建一个工程,选择嵌入式里的STM32CubeMX。
会自动生成一个.ioc文件,在Clion中打开这个文件,会引导打开STM32CubeMX,在这个软件中设置一下使用的单片机信息。需要注意的是,在project manager中,设置的时候要和在Clion中设置的project信息一致,最后会覆盖这个项目的文件夹。且务必要在Toolchain/IDE中选择STM32CubeIDE!设置完成后点右上角的Generate Code覆盖该文件夹。
mac嵌入式开发,macos,stm32,嵌入式硬件之后会自动回到Clion,让选择一个cfg文件,按照自己的芯片型号选一个,我的是stm32f103c8t6,所以选这个blue pill的,然后选择复制到项目并使用:mac嵌入式开发,macos,stm32,嵌入式硬件
打开这个cfg文件,往里面加一些关于烧录的信息,改成(中间两行是新加的):

set FLASH_SIZE 0x20000
source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]

Step 3:设置debugger

在clion的上边这里,点这个编辑:
mac嵌入式开发,macos,stm32,嵌入式硬件

在这里选自定义GDB可执行文件,然后输入一下arm-none-eabi-gdb的路径:
mac嵌入式开发,macos,stm32,嵌入式硬件

如果不确定路径的话,在命令行输入:

 which arm-none-eabi-gdb

正常来说,做完这里就可以运行和debug了,每次运行会自动烧录程序。

Step 4:修改stm32f1x.cfg(如果不幸买到假芯片)

因为不幸买到了假的stm32f103c8t6,运行烧录的时候一直报错,报错信息如下:

Warn : UNEXPECTED idcode: 0x2ba01477
Error: expected 1 of 1: 0x1ba01477

该文件的路径如下,如果没有改过homebrew的默认路径应该都是一样的,但是版本号可能会变:

/opt/homebrew/Cellar/open-ocd/0.12.0/share/openocd/scripts/target/stm32f1x.cfg

如果找不到的话可以用命令行:

sudo find /opt/homebrew -name stm32f1x.cfg

在该文件大概40多行(44行?),有一句set _CPUTAPID 0x1ba01477,把它注释掉,改成set _CPUTAPID 0x2ba01477

# set _CPUTAPID 0x1ba01477
set _CPUTAPID 0x2ba01477

现在就可以正常烧录和调试了。

遇到的问题

调试时显示端口问题

报错信息:

Info : tcl server disabled
Info : Listening on port 4444 for telnet connections

端口被占用了,用命令行看看是什么程序占用:

lsof -i :4444

知道pid后,再用kill指令杀掉。

调试时显示"pretty-printer"

弹窗报错:

Undefined info command: "pretty-printer". 

不用管他,不影响使用。文章来源地址https://www.toymoban.com/news/detail-721263.html

到了这里,关于【Mac+CLion+STM32+ST-Link】Mac(apple sillicon)上使用STM32CubeMX和CLion搭建嵌入式开发环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stm32f407 st-link v2的正确使用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、安装ST-LINK/V2 二、使用步骤 1.接线 2.配置 总结 之前一直在用串口下载,比较麻烦。在淘宝上看到10多块的ST-LINK/V2下载器,小巧,接线少,还可以在线调试。但是到货后使用却一直连不上,

    2024年02月15日
    浏览(46)
  • STM32烧写程序:Keil5使用ST-link下载程序

    首先需要连接ST-link到电路板: STM32烧写程序:ST-link V2调试下载器实物和连接方式 然后安装ST-link驱动: STM32程序烧写:ST-link驱动下载和安装 编译一个无错误的工程 点击工具栏的魔法锤 点击Debug,选择ST-Link Debugger 然后点击Settings ST-LINK/V2适配器,SW模式,看芯片是否被识别

    2023年04月08日
    浏览(88)
  • STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误

    ST-LINK V2 ST-Link是ST意法半导体为评估、开发STM8/STM32系列MCU而设计的集在线仿真与下载为一体的开发工具,支持JTAG/SWD/SWIM三种模式。 支持所有带SWIM接口的STM8系列单片机 支持所有带JTAG/SWD接口的STM32系列单片机 我们使用C8T6开发时,往板子里面下载程序,使用ISP串口比较繁琐,

    2023年04月08日
    浏览(52)
  • 5、STM32—Keil在线调试(ST-Link)

           (1)打开keil点击option for target选项          (2)点击Debug进行对调试模式的设置(使用硬件仿真前需连接好相应连线)   二、进入调试模式         (1)点击Keil工具栏的Start/Stop Debug Session按钮(或者按快捷键Ctrl+F5)         (2)调试模式界面      

    2024年04月27日
    浏览(33)
  • 《 STM32 ST-LINK Utility 》__代码下载工具下载、安装和使用说明(小白也能懂)

    目录 一、什么是STM32 ST-LINK Utility? 二、STM32 ST-LINK Utility有什么用? 三、官方途径下载软件! 四、我的资源 五、安装 六、怎么用? 1、比如我们经常使用的Keil是如何生成hex 2、读取STM32内部FLASH及芯片信息 3、打开hex程序 4、下载程序  (* ̄︶ ̄)创作不易!期待你们的 点赞、

    2024年02月06日
    浏览(44)
  • STM32烧写程序:ST-Link驱动下载和安装

    在进行STM32微控制器的烧写程序之前,我们需要先安装ST-Link驱动程序,并确保其能够正确连接到目标设备。本文将提供详细的步骤说明,以帮助您下载和安装ST-Link驱动程序。 步骤1:下载ST-Link驱动程序 首先,我们需要从STMicroelectronics官方网站下载ST-Link驱动程序。请按照以下

    2024年01月15日
    浏览(63)
  • 【STM32开发环境搭建】 - st-link驱动安装和串口驱动安装

    下载地址:https://download.csdn.net/download/weixin_39035140/86248921 包含软件如下: 1、下载线我们使用了st-link,为了能够下载程序到开发板,需要先安装st-link驱动。打开设备管理器,可以通过热插拔法确认是哪一个设备(STM32 STLink显示感叹号就是缺少驱动),右击更新驱动,选择浏览

    2024年02月12日
    浏览(41)
  • 0503-stm32的调试工具:st-link详细解析 (命令行/ st utility/ cubePorbrammer)

    从事stm32开发的话,肯定绕不开stlink,使用stlink开发stm32时用到的知识点。对于常规开发而言,80%时候会使用keil或vscode对目标芯片进行下载与在线调试,简单的bug我们一般反复下载就行了,复杂的bug需要进行单步调试、查看寄存器、输出swo信息等。本文简单介绍stlink的两个工

    2024年02月05日
    浏览(41)
  • STM32——ST-Link v2调试下载器的连接方法【详解】

    在网上购买了STM32F103C8T6的最小系统开发板,由于手头上没有官方的STM32调试器,所以也同时购买了一个便宜的st-link v2下载调试器  这种下载器和STM32的最小系统板之间完成调试通信需要连接四根线,连接图如下所示  其实这里最需要注意的是方向问题,这种插针座都是有一个

    2023年04月09日
    浏览(70)
  • 【STM32】自举模式 和 程序下载(ST-Link和串口示例)

    STM32官方网站 STM32中文社区 如果遇到不清楚的概念,可以看之前的文章。 STM32有一个特殊的功能,就是可以通过不同的方式启动程序,这就是所谓的自举模式(Boot Mode)。 STM32的自举模式由两个引脚控制,分别是 BOOT0 和 BOOT1 ,它们可以接到不同的电平(高电平或低电平),

    2024年02月04日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包