c++ 调用python clion mac_Mac下stm32开发(clion)

d5b762faa332d4d0a46d6755d17ad6ae.png
最近项目告一段落,上班比较闲。因为做的物联网项目,趁此机会学习一下硬件开发。 于是购买了正点原子stm32的开发板,看b站正点原子stm32的视频学习。
作为一个软件开发者习惯了mac环境下idea,xcode这些优秀ide, 再去用keil5总觉得不顺手 于是google了一下,看看如何在mac下进行stm32的开发。找到了clion(jetbrains全家桶中的一员),根据教程折腾了一番,发现完全可以进行stm32的开发。目前已经学习了几天-可以说完全脱离了win+keil,决定总结一下,以便以后参考。

1.简要说明

  1. 适用对象: 熟悉了mac的生态,想在mac上进行stm32开发调试
  2. 我买的是正点原子的精英版,mcu型号是stm32f103ze. 对于不同的mcu,只要是stm32的应该都适用。不同的只是stm32cubemx的配置。
STM32CubeMX是啥? 官方说明 STM32CubeMX is a graphical tool that allows a very easy configuration of STM32 microcontrollers and microprocessors. 简单来说就是gui工具可以配置mcu,生成一些基础代码简化开发流程。
  • 如果你想用clion进行stm32开发,此文只适用于mac环境.win按理来说也是一样的,只是某些配置不同
  • mac环境-我的mac系统版本是 macOS catalina

2.环境配置

1.CLion

下载
CLion​www.jetbrains.com

版本需要在CLion2019.2以上

2.ARM toolchain

  • 命令行运行前两行,安装ARM toolchain, 这里使用homebrew
 brew tap ArmMbed/homebrew-formulae   
 brew install arm-none-eabi-gcc
 //安装完成测试
 arm-none-eabi-gcc -v

3.OpenOCD

brew install open-ocd

4.STM32CubeMX

你可能需要验证邮箱进行下载
STM32CubeMX - STMicroelectronics​www.st.com
3f443db3bc31538adc262a236b2fe970.png
  • 1. 下载解压后直接双击是无法安装的(至少我的是这样)

ac1cfb149ebf99f21b401e794632907b.png
  • 2.参考readme.发现需要通过命令行执行(需要替换成你自己的版本和路径)
sudo java -jar SetupSTM32CubeMX-4.14.0.exe
 例: sudo java -jar /Users/t/Downloads/en.stm32cubemx_v5.4.0/SetupSTM32CubeMX-5.4.0.exe
  • 3. 弹出安装界面,一步步安装

9a61bf99b35dc1fa44c3b5ddfddb6288.png

5. Clion配置

  • 1. 打开CLion配置openOCDSTM32CubeMX路径。 Test没有错误就可以

188d736a4dd31fa1fed99a299d0934d8.png
  • 2. Toolchain -> debugger -> 选择Bundled GDB (不设置不能正常进入debug模式)

c89b0012a7e0e7b538d56c1c8516ec50.png

3. 环境安装完成, 新建一个工程(点亮led)

本工程基于正点原子的开发板(精英版 mcu:stm32f103ze),如果你用的别的开发板,有一些设置需要根据原理图进行调整

1. 新建一个工程,选择STM32CubeMX

c8e171af4a4bfd42cda65d21544a602b.png

2. 工程新建好了,发现只有一个led.ioc文件。点击Open with STM32CubeMX系统会打开stm32CubeMX

21bde03a492ea341e315b29fa356f36e.png

3. MCU更换

系统默认使用 STM32F030F4Px.点击更换mcu型号, 我这边替换成 STM32F103ZE
  1. 替换前

b540577cb3965da7d74a498a51323531.png

2.替换后

9df01951b27432289c4ca96722b35fe0.png

4. SYS配置

Debug 选择 serial Wire 。 (这里如果不配置每次下载程序都要按复位键)

13f000a232c67c3dd9c5c3fc99559289.png

5. RCC配置

点击 System Core-> RCC配置: HSE选择 Crystal/Ceramic Resonator

18c1157b04907afced2793a5ce4a1a09.png

6. clock配置

上方tab栏选择 Clock ConfigurationHCLK改成 72MHZ. (会弹框问你是否选择其他源,确认就ok)

16234caa4c17f214160ab458f54d3967.png

7. GPIO配置

在图中我们可以看到芯片,选择引脚可以进行配置。 我这块开发板 LED0接的是 PB5口,所以在这里进行PB5口的配置。

63c3fa0e3a7706656f02d798d65d6cbc.png

8. 生成代码

上方tab选择 Project Manager. 1. 设置工程名称 2. Toolchain / IDE 选择 SW4STM32(很重要) 3. 生成代码 这里会询问你是否替换ioc,选择替换

bc4cd6ca3661e280eb0787afac6186e4.png

9. 回到工程选择Board Config file

  1. 选择st_nucleo_f103rb.cfg 选择 copy to Project & Use
  2. 这个文件可以自己配置一个,供你后续的工程使用

c8ea491a4756a7d2776a0866e53f6e56.png

10. 修改Board Config file

8fe6132c8ebc02e9b14c28c08b3342f2.png
我这边使用的是stlink-v2. 所以 stlink-v2-1 修改为 stlink-v2。 其他不变,
source [find interface/stlink-v2.cfg]

transport select hla_swd

source [find target/stm32f1x.cfg]

reset_config srst_only

11. led点亮代码

main.c 中拉低LED对应引脚电平

81aa51f3c55cd6c66ccbf1e18a51d262.png

12. 编译-> 运行

  1. 通过stlinkv2和单片机连接
  2. 运行会出现** OpenOCD init failed **

1499ff5245cca728c663886b48079485.png


3.解决方案:按下复位键的同时点击运行,等待控制台输出

Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints

时松开复位按钮。这个过程比较快,大约按住复位键1秒就可以。屏幕出现

** Programming Finished **

说明已经下载成功。 观察开发板led已经被点亮

c9dabfeb30f2fcf2bb30141de5bbbc50.png

27a29c135a297f98a4a0685ffb7b68ec.png


4. 第三步只要进行一次,以后运行都不需要按复位键。直接可以下载程序 (前提条件: stm32cubemx ->sys -> debug 选择了 serial wire. 不然每次下载好像都需要复位)

4.下面放上github链接

https://github.com/wlixcc/stm32f103ze​github.com
1424e341ca6e393e27dbff6d7f3a505e.png

5. 参考连接

  • https://www.jetbrains.com/help/clion/2019.3/embedded-development.html?utm_campaign=CL&utm_content=2019.2&utm_medium=link&utm_source=product
  • CLion for Embedded Development, Part III
  • 用clion自带的嵌入式开发功能和stm32cubeMX开发stm32!!!

6.串口通讯可以看下面这篇

wlzz:MAC&串口调试​zhuanlan.zhihu.com
aa1212aebb0547b67937d1f453db13a3.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值