来源:意法半导体博客
当面对STM32Cube生态系统这样一个庞大而丰富的开发世界时,工程师难免会产生疑问,从哪里开始才好?
ST的许多合作伙伴和客户都希望有更多的产品能够利用STM32Cube开发环境。开发人员很享受开发环境的图形用户界面和工具的易用性,如STM32CubeMX、免费的STM32CubeIDE以及许多软件包、驱动程序和中间件,这些都有助于更快地将产品推向市场。随着越来越多的企业选择ST的产品,越来越多的工程师在ST的生态系统中迈出了第一步。为了降低开发人员的进入门槛,ST推出了STM32开发者社区。开发者社区如何为开发团队提供帮助,ST如何将STM32生态系统整合在一起?让我们详细聊聊。
STM32开发者社区
为开发者提供新工具
当前,新兴市场越来越多地采用嵌入式系统,工程师需要尽快熟悉各种复杂的设计方法。比如,开发人员需要快速学习如何利用微控制器上的AI功能,创建专为恶劣环境设计的低功耗无线应用,或采用强大的安全措施以满足新的监管要求。因此,帮助团队更快地做出正确的产品选择非常重要。之前推出的STM32 MCU开发者社区已经发挥出重要作用,在ST.com上的客户满意度排名第一。
▲STM32 MCU开发者社区
为进一步帮助开发人员,ST推出了新的STM32 MPU开发者社区。此外,ST还开发了一种新的以应用为导向的方法,以补充现有产品或STM32CubeIDE等工具所使用的软件选择器。其中的“解决方案” 选项,包含GUI、电机控制、USB-C PD等,而“开发人员资源” 选项为新手和资深开发人员提供相关的技术文档。工程师在这里能够快速找到合适的开发板和软件工具,迅速迈出设计的第一步。
开发者社区中文版
为了帮助中国的STM32开发人员,ST推出了STM32 MCU和MPU开发者社区的中文版。功能与英文网站一致,提供中文技术文档,如信息安全白皮书。
操作系统和官方Visual StudioCode扩展
STM32开发者社区保持着高频度更新。STM32开发者社区也将推广官方的Visual StudioCode扩展。开发人员能够在自己的环境中进行设备烧录、跟踪变量和获取错误消息,大大简化了工作流程。在STM32开发者社区,还会向开发者提供新发布的STM32H5和STLINK-V3PWR的软件更新。
▲STM32Cube 生态系统
STM32Cube 生态系统
STM32Cube生态系统STM32Cube软件诞生于2014年,为开发人员的产品设计和应用提供帮助。该软件生态系统包括两大支柱:嵌入式软件包和软件工具。嵌入式软件包有两种类型:MCU包和扩展包。MCU包(比如STM32CubeF4)包含Nucleo和Discovery板的驱动程序、驱动API和演示及示例代码。STM32Cube扩展包通过提供另外的中间件或驱动程序来补充设备包,比如X-CUBE-AI,它是业界第一款将神经网络模型转换为STM32 MCU优化代码的软件包。
我们的合作伙伴对STM32Cube软件工具很倚重,因为反映他们的项目因采用了STM32CubeMX或STM32CubeProgramer等实用工具,极大地简化了开发复杂度。ST还提供很多其他类型的STM32Cube软件工具。比如STM32CubeMonUCPD是一种监测工具,可与ST所有的USB-C PD接口和库配合使用,以帮助测试和操作实施。而STM32CubeProgramer是一种编程工具,可简化STM32 MCU的使用,提升开发效率。
STM32Cube生态系统中的工具如何协同工作?
STM32Cube生态系统中的工具和软件包一直持续整合迭代。我们将STM32CubeMX整合到STM32CubeIDE中。多年来,因STM32工具链的便利性,开发人员的粘性越来越强。当然,ST还将继续为使用其他工具链的开发人员推出STM32Cube工具的独立版本,确保所有开发者都能轻松从STM32Cub生态系统中受益。而ST的工程师和研究人员也将继续开发迭代STM32工具链,例如STM32CubeIDE的更新,让STM32的生态系统,更贴近我们的开发者。
STM32Cube生态系统中的软件包如何协同工作?
之前,想使用STM32Cube扩展包的开发人员必须找到适配的扩展包,下载、解压缩。这意味着要将源文件添加到IDE中,甚至还要研究源代码。此外,如果应用程序使用特定的MCU引脚或IP,从一个MCU移植到下一个MCU就比较复杂。安装驱动程序、库或中间件也必不可少。开发者可以通过ST提供文档和教程来获得帮助。这种情况在只有几个扩展包时,相对简单,但随着STM32Cube生态系统日渐庞大,也会出现很多问题。
ST的解决方案是将STM32Cube扩展包集成到STM32CubeMX中,开发人员可以直接从MCU配置工具中选择X-CUBE包。它要求我们更新现有的软件包,并提供兼容解决方案的列表。未来,我们确保新推出的大多数STM32扩展包都支持这一功能。将这些软件包集成到STM32CubeMX中后,用户可以选择软件包、生成文件,轻松地开始编码。对生态系统不太熟悉的开发人员来说,大大降低了他们的进入门槛。
ST授权合作伙伴如何将其软件包嵌入STM32Cube生态系统?
开发人员会遇到的另一个问题是如何共享他们的定制化解决方案。有特定需求的公司通常都会创建自定义的扩展包。合作伙伴很希望在开发者社区分享他们的解决方案,例如 SEGGER的embOS和Rowebots的Unison RTOS等等。这些解决方案可在I-CUBE 方案中(I-CUBE initiative)找到,可以帮助工程师添加功能并体验不同的技术。但在社区内共享自定义包是有难度的,而我们希望合作伙伴能够轻松地创建高质量的共享软件包。
为了解决这个问题,ST将STM32CubeMX开放给I-CUBE包。现在所有开发人员都可以使用ST为STM32扩展包(X-CUBE)的集成功能。任何人都可以使用STM32CubePackCreator构建自定义包,来创建可以展示在STM32CubeMX中的解决方案。然而,我们还在规划MCU配置工具中,默认情况下可见的内容。在此过程中会提供文档指导开发人员,确保STM32Cube生态系统内的一致性和兼容性。ST还提供STM32PackCreator,该实用程序已集成在STM32CubeMX中,便于开发者从头开始创建软件包。
扩展软件遵循CMSIS Pack(Cortex微控制器软件接口标准)。许多还可以在STM32CubeMX的GUI中进行配置。为了遵守CMSIS包规范,开发人员必须拥有PDSC(包描述)文件。这样的文档需使用XML格式,并要求提供有关软件包所有内容的详细信息。同样,为了使X-CUBE或I-CUBE在STM32CubeMX中可配置,STM32PackCreator使用专用UI。STM32PackCreator可自动生成PDSC文件,并确保软件组件可在STM32CubeMX中进行配置。用户只需动动手指就能构建具有丰富UI特性的系统,无需通过编写代码手动配置所有内容。
在STM32开发者社区,不论是新手小白,还是资深专家,都能迅速get你所需的技术资料,一起畅游技术知识海洋。来STM32开发者社区,即刻开启你的STM32之旅!