经常接触STM32开发的朋友一定对STM32CubeMX这个工具不陌生,得益于STM32CubeMX的高度集成化,使得STM32开发的门槛大幅度降低,是ST开发环境和生态的重要组成部分。
作为一个快速初始化工具,STM32CubeMX可以非常快速的完成时钟配置,外设初始化配置,内存设置等等一系列操作,CubeMX极大的提高了STM32系列的开发效率和降低了上手难度。
这两天博主看到STM32CubeMX居然出了2,也就是STM32CubeMX2!
官网已经可以看到下载地址了,让我们来看看STM32CubeMX2有哪些不太一样。
1、引脚配置
首先最大的区别就是,STM32CubeMX2抛弃了JAVA框架,启动和运行突出了一个字:快,整体UI风格相较于CubeMX更像是一个“现代软件”,完完全全的改头换面。
相比于CubeMX先配置芯片再选择工程的方案,CubeMX2首先要先选择好工程路径再进一步配置。
STM32CubeMX2的引脚配置相较于原版增加了很多细节,例如引脚信息,功能分类等。值得一提的是,引脚信息中还有该引脚是不是5V容忍这些需要特意去查手册才能得到的信息,电源域等信息。
2、时钟配置
配置时钟的界面也有很大的不同,值得一提的是相比于CubeMX1的只标识时钟名,CubeMX2还会标识改时钟对应的功能。
同时不仅仅有时钟树的类型,还有表类型可以查看。
3、功能外设配置
外设配置界面也有非常多的变化,多了更多的细节,例如外设的时钟显示。
同时在涉及到引脚复用的时候,可以直接在外设配置中选择复用的引脚,而不用去引脚配置选择,这点可以说是非常的友好。
同时也可以直接在外设配置中修改对应的GPIO设置,不像MX1一样统一在GPIO设置中修改,这些改动让各个外设结构更加清晰,当外设开启的比较多的时候,也不会晕头转向。
4、扩展界面
软件包界面同样得到了很大的改变。和外设配置一样,结构得到了很大的优化。但是目前来看好像没有把其他的软件包支持CubeMX2还有待进一步更新。
5、模块
相比于CubeMX1,MX2多了一个Part部分,这一块个人猜测好像是想做类似于一些标准驱动如Arduino的那些第三方库,暂时还得探索一下用途。
Part部分可以添加一些具体功能,目前有按键、LED灯、CAN总线等,可能是做一些芯片级标准包支持以接入第三方芯片。
6、工程配置
从工程创建来看,STM32CubeMX2似乎只支持IAR、Cmake和Open-CMSIS,Open-CMSIS则对应了MDK6,也就是说STM32CubeMX2不再支持MDK5的早期版本了(Keil5也快成为记忆中的那个她了)
总结
总体来看,STM32CubeMX2放弃了原来的JAVA框架,界面流畅度迎来了史诗级加强,配置界面的UI也迎来了从头到尾的大改变,很多地方应该是吸取了CubeMX的使用经验,注意到了很多细节优化了使用体验。
非常可惜的是,STM32CubeMX2目前并不支持除C5以外的其他芯片,但是后续的芯片都会支持到CubeMX2中。
而且CubeMX2并不支持创建AC5工程转而投入AC6的怀抱(ARM官方是宣布了AC5进入维护期不在更新)这些标准的变化代表着未来的STM32系列开发要从AC5的“作坊式”的私有标准,推向AC6的“通用化”标准。
247
