|
点击下载详情:【实战经验】LAT1696 编译与调试STM32CubeMX2生成的Open-CMSIS工程 0 1 前言 STM32CubeMX2与STM32CubeMX比较,支持的工程格式有相同的部分,例如Cmake,IAR格式,也有全新的格式,例如Open-CMSIS格式。首先,要理解什么是Open CMSIS格式。本文所说的Open-CMSIS工程,实际对应的是基于CMSIS Solution的工程组织方式,通常以.csolution.yml作为顶层描述文件。 CSolution项目格式可以支持多种编译器,包括AC6,IAR和GCC的命令行调用。而IAR和GCC的命令行调用可以直接使用STM32CubeMX2支持的IAR和CMake格式来完成同样功能,所以我们这里只使用AC6。 谈到AC6编译器,我们就不陌生了。我们常用的Keil uVision5就是使用AC6编译器。所以从这个角度,我们看到,STM32CubeMX2继承了STM32CubeMX所支持的三类编译器,IAR,Keil AC6以及GCC。 那么,CSolution使用的IDE环境是什么呢?CSolution正式的IDE环境叫Keil Studio Pack,它和STM32CubeIDE for Visual Studio Code相同的地方都是基于VSCode。 0 2 生成Open-CMSIS AC6工程 和其他格式相比,生成Open-CMSIS AC6工程,区别就在STM32CubeMX2的【Project Settings】中的【IDE Project Generation】。选择【Format】为OpenCMSIS,然后选择【Open-CMSIS toolchain】为AC6,最后点击【Generate IDE project】
生成的工程顶层目录结构为一个ioc2文件以及demo_open-cmsis文件夹。
demo_open-cmsis文件夹目录结构为
其中demo.csolution.yml就是我们需要使用的csolution工程文件。那么,你就可以直接在当前目录右键使用【Open with Code】打开该工程。
如果不能打开,先打开VSCode,然后通过打开文件夹的方式打开这个文件夹。 0 3 使用Keil Studio打开 打开csolution工程文件的前提是你已经在VSCode中安装了Keil Studio Pack,例如版本1.20.1:
注意keil-studio的插件可能会被自动更新,如果你使用本文发现现象并不匹配,则应当严格使用本文指定的版本,并取消自动更新。如果已经被自动更新了,对于发生错误的组件,则卸载以前的版本,重启环境,安装特定的版本,例如,选择Arm CMSIS
Debugger为1.3.0且指定不自动更新。
打开之后可以看到图标。
点击它可以看到在右边显示如下菜单:
首先点击
【Manage Solution Settings】进行工程的配置。其中Debug选择【ST-LINK@pyOCD】
然后选择底边栏
配置工具链,它会弹出
选择【Add Arm Tools Configuration to Workspace】它会弹出【Arm Registry】界面。
以及
注意上述界面已经包含我所选择的工具链。 保存弹出的vcpkg-configuration.json界面。也可以在这个界面回顾一下所选的版本。注意,没有特别的版本要求,第一次选最新就可以了,第二次为了节省下载时间,可选择上次已经安装的工具相应版本。
请注意在编译之前,一定要等到系统配置成功,
直接点击
进行编译就可以了。需要的工具链会被自动进行下载。 编译的效果如下:
0 4 调试 我们已经选择了pyocd进行调试,那么调试的执行就是一个按钮就可以了。点击按钮,就能快速启动调试界面(如果不能下载后,不能跳到main,可以尝试将目标板断电再试)。
其他单步调试和寄存器查看,不在这里赘述。 0 5 小结 本文介绍了STM32CubeMX2中Open-CMSIS项目格式的使用流程,包括工程生成,工程打开,编译配置,调试配置,编译以及调试启动。 |
STM32CubeMX2 1.1.0新版本发布
嵌入式必看!STM32CubeMX2 更换界面配色超简单
STM32CubeMX2如何更换界面主题配色
如何使用STM32CubeMX2生成VS Code代码
新版STM32CubeMX2有多香?官方中文教程带你一次性上手
如何为STM32CubeMX2配置Visual Studio Code配置方案
【STM32C5】简而不凡,锋芒自显——Nucleo-STM32C562RE快速上手
留言赢礼 | STM32CubeMX2来了!新一代STM32CubeMX正式亮相,邀你亲测体验
留言赢礼 | 适用于STM32C5系列的STM32Cube嵌入式软件包
一文看懂 STM32CubeMX2:核心差异、适用场景与升级建议
微信公众号
手机版