版本需要在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 - STMicroelectronics1. 下载解压后直接双击是无法安装的(至少我的是这样) 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. 新建一个工程,选择STM32CubeMX2. 工程新建好了,发现只有一个led.ioc文件。点击Open with STM32CubeMX系统会打开stm32CubeMX3. MCU更换 系统默认使用STM32F030F4Px.点击更换mcu型号, 我这边替换成STM32F103ZE 替换前2.替换后
4. SYS配置
Debug 选择 serial Wire 。 (这里如果不配置每次下载程序都要按复位键)5. RCC配置
点击System Core->RCC配置: HSE选择Crystal/Ceramic Resonator6. 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&串口调试