ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

【官方原创】LAT1696 编译与调试STM32CubeMX2生成的Open-CMSIS工程

【官方原创】LAT1696 编译与调试STM32CubeMX2生成的Open-CMSIS工程 01 | 前言STM32CubeMX2与STM32CubeMX比较支持的工程格式有相同的部分例如CmakeIAR格式也有全新的格式例如Open-CMSIS格式。首先要理解什么是Open CMSIS格式。本文所说的Open-CMSIS工程实际对应的是基于CMSIS Solution的工程组织方式通常以.csolution.yml作为顶层描述文件。CSolution项目格式可以支持多种编译器包括AC6IAR和GCC的命令行调用。而IAR和GCC的命令行调用可以直接使用STM32CubeMX2支持的IAR和CMake格式来完成同样功能所以我们这里只使用AC6。谈到AC6编译器我们就不陌生了。我们常用的Keil uVision5就是使用AC6编译器。所以从这个角度我们看到STM32CubeMX2继承了STM32CubeMX所支持的三类编译器IARKeil AC6以及GCC。那么,CSolution使用的IDE环境是什么呢CSolution正式的IDE环境叫Keil Studio Pack它和STM32CubeIDE for Visual Studio Code相同的地方都是基于VSCode。02 | 生成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然后通过打开文件夹的方式打开这个文件夹。03 | 使用Keil Studio打开打开csolution工程文件的前提是你已经在VSCode中安装了Keil Studio Pack例如版本1.20.1注意keil-studio的插件可能会被自动更新如果你使用本文发现现象并不匹配则应当严格使用本文指定的版本并取消自动更新。如果已经被自动更新了对于发生错误的组件则卸载以前的版本重启环境安装特定的版本例如选择Arm CMSISDebugger为1.3.0且指定不自动更新。打开之后可以看到图标。点击它可以看到在右边显示如下菜单首先点击【Manage Solution Settings】进行工程的配置。其中Debug选择【ST-LINKpyOCD】然后选择底边栏配置工具链它会弹出选择【Add Arm Tools Configuration to Workspace】它会弹出【Arm Registry】界面。注意上述界面已经包含我所选择的工具链。保存弹出的vcpkg-configuration.json界面。也可以在这个界面回顾一下所选的版本。注意没有特别的版本要求第一次选最新就可以了第二次为了节省下载时间可选择上次已经安装的工具相应版本。请注意在编译之前一定要等到系统配置成功直接点击进行编译就可以了。需要的工具链会被自动进行下载。编译的效果如下04 | 调试我们已经选择了pyocd进行调试那么调试的执行就是一个按钮就可以了。点击按钮就能快速启动调试界面(如果不能下载后不能跳到main可以尝试将目标板断电再试)。其他单步调试和寄存器查看不在这里赘述。05 | 小结本文介绍了STM32CubeMX2中Open-CMSIS项目格式的使用流程包括工程生成工程打开编译配置调试配置编译以及调试启动。点击下载《编译与调试STM32CubeMX2生成的Open-CMSIS工程》原文档。重要通知 - 请仔细阅读意法半导体公司及其子公司 “ST”保留随时对 ST 产品和 / 或本文档进行变更的权利恕不另行通知。买方在订货之前应获取关于 ST 产 品的最新信息。 ST 产品的销售依照订单确认时的相关 ST 销售条款。 买方自行负责对 ST 产品的选择和使用 ST 概不承担与应用协助或买方产品设计相关的任何责任。 ST 不对任何知识产权进行任何明示或默示的授权或许可。 转售的 ST 产品如有不同于此处提供的信息的规定将导致 ST 针对该产品授予的任何保证失效。 ST 和 ST 徽标是 ST 的商标。若需 ST 商标的更多信息请参考 www.st.com/trademarks。所有其他产品或服务名称均为其 各自所有者的财 产。 本文档是ST中国本地团队的技术性文章旨在交流与分享并期望借此给予客户产品应用上足够的帮助或提醒。若文中内容存有局限或与ST 官网资料不一致请以实际应用验证结果和ST官网最新发布的内容为准。您拥有完全自主权是否采纳本文档包括代码电路图 等信息 我们也不承担因使用或采纳本文档内容而导致的任何风险。 本文档中的信息取代本文档所有早期版本中提供的信息。 © 2020 STMicroelectronics - 保留所有权利
返回列表