联系方式

    深圳市英瑞尔芯科技有限公司

    电话:

    186 6591 0262

    E-mail:

    sally@szinter.com.cn

    地址:

    深圳市福田区振华路现代之窗A座7B

Mac下stm32开发(clion)

发布时间:2022/9/8 21:57:00

来源:http://www.szinter.com.cn/news866037.html

最近项目告一段落,上班比较闲。因为做的物联网项目,趁此机会学习一下硬件开发。 于是购买了正点原子stm32的开发板,看b站正点原子stm32的视频学习。 作为一个软件开发者习惯了 ** c环境下idea,xcode这些优秀ide, 再去用keil5总觉得不顺手 于是google了一下,看看如何在 ** c下进行stm32的开发。找到了clion(jetbrains全家桶中的一员),根据教程折腾了一番,发现完全可以进行stm32的开发。目前已经学习了几天-可以说完全脱离了win+keil,决定总结一下,以便以后参考。1.简要说明 适用对象: 熟悉了 ** c的生态,想在 ** c上进行stm32开发调试我买的是正点原子的精英版,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开发,此文只适用于 ** c环境.win按理来说也是一样的,只是某些配置不同 ** c环境-我的 ** c系统版本是 ** cOS catalina2.环境配置1.CLion下载CLion

版本需要在CLion2019.2以上

2.ARM toolchain 命令行运行前两行,安装ARM toolchain, 这里使用homebrew brew tap ArmMbed/homebrew-formulae brew install arm-none-eabi-gcc //安装完成 arm-none-eabi-gcc -v3.OpenOCDbrew install open-ocd4.STM32CubeMX你可能需要验证邮箱进行下载STM32CubeMX - STMicroelectronics

1. 下载解压后直接双击是无法安装的(至少我的是这样)

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.exe3. 弹出安装界面,一步步安装 5. Clion配置1. 打开CLion配置openOCD和STM32CubeMX路径。 Test没有错误就可以 2. Toolchain -> debugger -> 选择Bundled GDB (不设置不能正常进入debug模式)

3. 环境安装完成, 新建一个工程(点亮led) 本工程基于正点原子的开发板(精英版 mcu:stm32f103ze),如果你用的别的开发板,有一些设置需要根据原理图进行调整1. 新建一个工程,选择STM32CubeMX

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

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

2.替换后

4. SYS配置

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

5. RCC配置

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

6. clock配置

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

7. GPIO配置

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

8. 生成代码

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

9. 回到工程选择Board Config file

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

10. 修改Board Config file 我这边使用的是stlink-v2. 所以stlink-v2-1 修改为 stlink-v2。 其他不变,source [find inte ** ce/stlink-v2.cfg] transport select hla_swd source [find target/stm32f1x.cfg] reset_config srst_only11. led点亮代码 ** in.c 中拉低LED对应引脚电平 12. 编译-> 运行通过stlinkv2和单片机连接 运行会出现** OpenOCD init failed **

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

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

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

** Programming Finished **

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

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

4.下面放上github链接 >github.com/wlixcc/stm32f103ze5. 参考连接 >jetbrains.com/help/clion/2019.3/embedded-development.html?utm_campaign=CL&utm_content=2019.2&utm_medium=link&utm_source=productCLion for Embedded Development, Part III用clion自带的嵌入式开发功能和stm32cubeMX开发stm32!!!

6.串口通讯可以看下面这篇wlzz:MAC&串口调试

相关标签: