历史上的今天
今天是:2025年04月15日(星期二)
2020年04月15日 | 几种STM32开发IDE的比较与选择
2020-04-15 来源:eefocus
用于STM32开发的IDE有很多,ST公司的网站上足足列出了19个,其中,常用的商业版软件有:
MDK-ARM-STM32
IAR-EWARM
这两个商业版软件虽然好用,但终究是商业版软件。免费或评估版的软件要么有器件型号限制,要么有程序容量限制。
免费的STM32开发IDE有很多,基本上都是基于Eclipse+GNU GCC的。
网上有教程介绍如何手工用Eclipse + GNU GCC搭建STM32开发环境的,但是过程比较麻烦,而且因为版本的差异,各个教程的内容有差异,本人做了多次尝试都没有配置成功。
现在STMicroelectronics公司主推HAL+STM32CubeMX的开发方式,STM32CubeMX软件可以可视化地进行芯片资源和管脚配置,并且生成项目所有源程序。目前,STM32CubeMX导出项目支持的IDE或工具链如下图

图中可见免费的IDE只有TrueSTUDIO和SW4STM32这两种,这两种IDE都是基于Eclipse的,安装程序集成了完整的STM32开发需要的各种插件,无需自己做额外的配置。
本人实际安装了这两种软件,并用STM32CubeMX生成一个简单的GPIO控制LED的项目,用开发板进行了测试,发现SW4STM32的Debug很有问题,很简单的程序在DEBUG时就出现死的情况,而相同功能的程序在MDK和TrueSTUDIO里没有问题。
TrueSTUDIO能和STM32CubeMX很好的融合,程序编译、下载和调试都没有问题。
最关键的是:出品TrueSTUDIO的Atollic公司现在被STMicroelectronics收购了。
Atollic官网首页显示如下。

TrueSTUDIO现在完全免费了,STMicroelectronics公司将来必定大力发展自己的IDE工具TrueSTUDIO,STM32CubeMX对TrueSTUDIO的支持也必定是没问题的。这样的情况下,其他基于Eclipse+GCC的免费IDE对于TrueSTUDIO就没有什么优势了。
System Workbench(即SW4STM32)是AC6公司开发的,与STMicroelectronics联合维护的Open STM32 Community社区提供的一个免费工具,算不得是STMicroelectronics官方的开发工具。
另外还有一个免费的开发工具是CooCox的CoIDE,这是在ST官网上列出的IDE里排在第一位置的,也是基于Eclipse+GCC的。除了一个IDE环境,还有用于器件可视化配置的CoSmart,类似于STM32CubeMX(但是目前CoSmart不支持STM32系列器件,只支持Holtek、Nuvoton的器件)。CooCox的系列工具功能虽然比较全面,但是STM32CubeMX导出项目不支持CoIDE,在开发效率上显然不如STM32CubeMX支持的几种IDE。
因为是要针对一个STM32F4的开发板开发一些教学实例,经过各种测试比较,最终选择TrueSTUDIO作为STM32开发工具。
史海拾趣
|
摘要: 本文介绍了一种基于32位高性能处理器的视觉精密测量系统的软硬件设计。图像传感器采集的条码图像通过精密定位算法得到绝对位移值,由以太网接口实现高速图像采集。该系统适用于高精度定位的各种位移测量。 关键词: ARM;嵌入式系统;视觉 ...… 查看全部问答> |
|
NXL LPC系列ARM IIC总线下读写AT24Cxx的总结 最近应用到NXP LPC系列的ARM IIC总线进行读写AT24Cxx EEPROM,总是出现一下错误,经过查阅资料才发现,原来本人范的全是最基本的错误,感觉很惭愧,现在把容易出错的地方进行总结,希望网友遇到这样的问题时 ...… 查看全部问答> |
|
最近在思考一个问题,就是有关SD卡升级的。 我看到过三星发布2442下的SD卡升级,但有个缺陷是只支持FAT格式的小容量卡,而且,在EBOOT里面去读写卡的block、sector,简直有点复杂。 我在想,如果是FAT32格式的(现在基本上都是FAT32格式了)SD卡能 ...… 查看全部问答> |
|
int tmp,i,j; int receiv,send=0x30; *ULCON0=0x03; *UCON0=0x09; *UBRDIV0=0x280; ...… 查看全部问答> |
|
从原理上来说..如果用FSMC驱动彩屏..就是把它当作一个外部的存储器件来操作. 1)只有16bit数据线是不是代表每像素就是16bit的?2)需要LCD内带控制器的屏才可以..这样选型范围应该会缩小很多.而且会贵这种屏一般上批量的话能做到多少钱一片. ...… 查看全部问答> |
|
用的是103F的片子,想把TIM1设置成翻转输出比较模式,但端口不会发生翻转 配置程序如下: GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_OUT_PP_HIGH_FAST); TIM1->CR1 &= 0xFE; // stop TIM1 TIM1->PSCRH = 0; TIM1->PSCRL = 0; ...… 查看全部问答> |




