请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【文末有奖】18年,出货150亿颗,STM32何以深入人心  

[复制链接]
STMCU-管管 发布时间:2026-1-4 09:28
2025年12月,意法半导体全球交付了第150亿颗STM32芯片。从2007年第一颗STM32F103诞生至今,历经18年,STM32以“开发者优先”的战略,凭借超级产品矩阵、持续迭代的工艺技术、完善的生态体系、独特的垂直应用方案和稳健的供应链体系,从行业跟跑者成长为全球通用微控制器(MCU)领军者,不仅是嵌入式领域最懂开发者的“同行者”,更成为亿万电子设备的“智能大脑”。

芯途启航:一次前瞻抉择,铺就百亿征程
STM32的传奇,始于一次改写行业格局的关键抉择。2004年,当Arm带着当时鲜为人知的Sandcat内核IP(后更名Cortex®-M3)造访ST Agrate时,ST团队敏锐捕捉到这一内核的颠覆性潜力,它将为通用微控制器带来性能与兼容性的双重突破。被誉为“STM32之父”的Daniel Colonna,这样评价对Cortex®-M内核的“All in”布局:“选择这款内核,是基于当时对Arm未来登顶行业标准的战略预判,如今我们收获了这个决策的时代红利。”
STM32堪称嵌入式行业的变革者。在2007年问世之初,就以超凡的性价比优势,树立起32位微控制器的行业新标杆。这一突破性成就的背后,是来自意法半导体产品定义、架构设计、生产运营、质量管理、技术支持等多个团队的协同赋能。它不仅弥合了16位与32位产品的性能与应用鸿沟,更重塑了微控制器市场格局。此后十八载,STM32的技术迭代始终围绕“实用创新”展开。这些创新涵盖内存容量提升、内核性能增强、边缘AI集成、安全特性升级与连接功能拓展等关键方向。从2021年开始,STM32登顶全球通用MCU市场榜首,并连续四年蝉联桂冠。2025年12月,STM32迎来了全球出货150亿颗的里程碑。
历程26.png

STM32,何以致胜?
问世之初,STM32还只是MCU市场的后发参与者,如今已跻身全球MCU领域的领航者之列。是什么力量,让STM32完成这样的蜕变?

超级产品矩阵
STM32的核心竞争力,在于构建了覆盖“入门级到高性能”的全维度产品生态,形成五大产品类别:超低功耗MCU、主流MCU、高性能MCU、无线MCU与MPU,拥有4000余种型号,90余种封装形式,内存配置灵活,丰富的外设可满足不同场景需求。
210.png
生产工艺不断迭代
STM32的生产工艺从成熟向先进制程不断迭代,横跨多代技术节点,工艺研发聚焦嵌入式存储器这一核心领域,包括130nm与110nm嵌入式存储器(EEPROM)、90nm与40nm闪存和eSTM技术,以及突破传统闪存性能瓶颈的18nm相变存储器(ePCM)技术。这些核心工艺均已实现规模化应用,稳定支撑STM32超4000种型号的供货需求。

让开发更高效的完善生态
STM32的成功,不止于芯片本身,更在于它构建了一套“以开发者为中心”的全栈生态系统,以“硬件+软件+社区+服务”的生态模式,让STM32成为开发者的“省心之选”。

化繁为简的工具链
2014年推出的STM32Cube开发框架,整合了STM32CubeMX可视化配置工具、驱动库、中间件与调试环境,通过HAL/LL双驱动库设计,通过CubeMX拖拽配置即可生成初始化代码,HAL库保障跨系列代码复用性,LL库满足资深开发者对代码精简性的需求。如今,这套工具已汇聚150万+活跃用户,配套的评估板从10美元的Nucleo开发板到500美元的高端评估板,帮助开发者快速启动项目、开展原型设计。
211.png
连接同行者的社区服务
STM32深知,开发者的成长离不开交流与支持。始于15年前的ST社区,如今每年吸引超200万访客,在此共享经验、解决技术难题;新增的AI助手STM32 Sidekick,进一步优化社区体验,通过智能检索提升文档查询效率,让开发者聚焦创意实现。同时,ST整合全球合作伙伴资源,形成涵盖硬件配套、软件服务、工程支持的协同网络,为超过10万客户提供服务。

独特的垂直应用生态
针对GUI界面开发、边缘AI、功能安全、信息安全、电机控制、数字电源这六大垂直应用场景,STM32配备了专属工具套件,助力开发者高效推进项目开发。
  • GUI开发,TouchGFX是STM32专属的图形开发工具,支持可视化设计,提供GUI代码示例和图形资源库,可助力开发者高效构建高级HMI界面;
  • 边缘AI应用,ST Edge AI Suite是包含10余款免费软件和工具、50+示例、20+资源文档的工具套件,可快速落地边缘AI应用;
  • 功能安全领域,STM32配备了两类安全包:一类是适配工业领域IEC 61508标准的SIL包,另一类是适配家电相关标准的Class B包,满足不同场景的安全合规要求;
  • 信息安全领域,STM32提供STM32Trust安全框架,包含可扩展的安全服务和可信执行环境(TEE),不仅支持安全启动、加密引擎等关键功能,还通过PSA/SESIP认证,为嵌入式系统筑牢安全防线;
  • 电机控制领域,STM32推出了电机控制软件开发套件(MC SDK),包括永磁同步电机(PMSM)的FOC控制固件库,还搭配了可视化STM32电机控制工作台,方便开发者直观配置各项参数;
  • 数字电源领域,STM32提供了一系列开发资源,包括含DP SDK的开发平台、PFC/PSU固件包,再搭配硬件开发板、eDesignSuite工具、X-CUBE-POWER套件等生态产品,助力开发者快速搭建数字电源转换方案。

稳健的供应链体系
可靠的质量与灵活的供应链是STM32稳定交付的核心保障。ST新增了中国本地化40nm STM32供应链,成功实现“同一个设计,国内外双供应链”的布局,让客户享有更高的灵活性,获得更强的供应链安全保障。采用全球统一的STM32设计标准与质量控制体系,确保不同供应链产出的产品性能、品质完全一致。首款STM32H7已于今年12月在合作伙伴华虹宏力量产并已交付客户。

芯向未来:下一个百亿,赋能更多可能

150亿颗出货的里程碑并非终点,而是新征程的起点。STM32未来将持续以“开发者优先”为发展战略,扩容产品型号、深耕工艺技术、更新升级生态,丰富垂直应用方案,赋能全球开发者跨越技术壁垒,推动嵌入式创新走向更广阔天地。


4.gif
有奖活动:
活动时间:1月04日~1月31日
活动规则:(四选一)评论区分享即可
①分享与STM32的故事:回忆首次使用STM32产品:产品型号、为什么选用、使用过程、感受
②老项目考古:分享使用STM32最早/最印象深刻的项目:简介、图片、代码片段
③展示从STM32F1到H7、N6、MP1、MP2等系列其一的项目移植历程
④分享首次使用STM32软件的感受

活动奖励:
评论区分享有机会获得板卡一块,走心着必得。
1、STM32C0116-DK  15块
2、NUCLEO-G031K8 15块
若按照上方①~④中规则分享2个以上,则有5个名额获得2块板卡的机会。

彩蛋奖:每人说一句恭喜STM32出货150亿颗的话,抽10位送STM32开发板!





1 收藏 1 评论49 发布时间:2026-1-4 09:28

举报

49个回答
HyunYong 回答时间:2026-1-4 12:00:02

恭喜STM32出货150亿,再出个新芯片出个新板卡,做大做强再创辉煌😄

latera 回答时间:2026-1-13 22:56:47
①分享与STM32的故事:回想我首次使用的STM32的芯片应该使用STM32F103C8T6,这已经是十几年前(2011)了。当时是用来做一个检测汽车车轮转动的角度的测量仪器。STM32F1系列在当时是相当的火。网上的教程和开发板都很多,而且在电子论坛和qq技术群上的讨论和学习的热度都很高。这个项目需要用到stm32的定时器来检测编码器,还有I2C,串口,spi来控制传感器和保存数据。对应我当时一个初学者来说,也是相对有难度,特别是当时发现,转速较快的时候,定时器获得的编码器读数不对。好在通过社区论坛得到帮助,发现中断中的处理时间过长,只要将计算处理放到中断外部就可以解决。这次也让我发现闭门造车很容易闭塞自己的想法。只有不断跟进新的技术才能有新的想法和解决问题的不同思路。

②老项目考古: 分享一下我的毕业设计,是一个具有VGA格式输出的摄像头设计, stm32f103c8作为主控芯片,OV9650摄像头获取拍摄数据,TrueView5725转码器将摄像头的YUV数据转为VGA数据并输出。stm32f103c8通过I2C控制摄像头和转码器,并且IO连接控制的按键和显示状态的led。
QQ20260113-213757.png QQ20260113-213815.png
主要代码实际为I2C控制OV9650和TrueView5725,包括控制他们的视频格式和启动。
  1. int main (void )
  2. {
  3.   SysInit();
  4.         RCC->APB2ENR|=1<<2;
  5.         GPIOA->CRH&=0xffff000f;
  6.         GPIOA->CRH|=0x00003330;
  7.         GPIOA->ODR|=0<<9|1<<10|0<<11;
  8.        
  9. //        ModuleInit();
  10. sccb_init();
  11. Ov9650Init();
  12. TrueView5725Init();
  13.         while(1)
  14.         {
  15.                 TaskControl();
  16.                
  17.                
  18.         }
  19. }
复制代码
其中 OV9650的初始化:
  1. u8 Ov9650Init()
  2. {
  3.         u16 num;
  4.         u16 i;
  5.         u8 val;
  6.         u8 rs=1;
  7.         unsigned char addr;

  8.         RCC->APB2ENR|=1<<2;
  9.         GPIOA->CRL&=0xffff0fff;
  10.         GPIOA->CRL|=0x00003000;

  11.         GPIOA->ODR|=0<<3;
  12.        
  13.         addr=CAM_OV9650;
  14.         sccb_senddata(0x12,0x80,addr);                                //软件复位

  15.         DelayMs(1);                                                                //手册要求

  16.         val=sccb_receivedata(0x0A,addr);

  17.         val=sccb_receivedata(0x0B,addr);       
  18.        
  19.         val=sccb_receivedata(0x11,addr);        
  20.        
  21. //        num=sizeof(OV9650Sxga565Set)/2;
  22.         num=sizeof(OV9650SxgaYuvSet)/2;
  23.         for(i=0;i<num;i++)
  24.         {
  25. //                sccb_senddata(OV9650Sxga565Set[i][0],OV9650Sxga565Set[i][1]);
  26.         sccb_senddata(OV9650SxgaYuvSet[i][0],OV9650SxgaYuvSet[i][1],addr);
  27.         }

  28.         #if 1                //用于TV5725 (YUV)
  29.         num=sizeof(OV9650Tv5725)/2;
  30.         for(i=0;i<num;i++)
  31.         {
  32.                 sccb_senddata(OV9650Tv5725[i][0],OV9650Tv5725[i][1],addr);
  33.         }
  34.         #endif
  35.         //读出1个看看是否写成功了
  36.         val=sccb_receivedata(0x11,addr);
  37.   
  38.         val=val;

  39.         return rs;

  40. }
复制代码
和 TrueView5725的初始化:

u8 TrueView5725Init()
{
        u16 num;
        u16 i;
        u8 val;
        u8 rs=1;
        unsigned char addr;

        RCC->APB2ENR|=1<<2;
        GPIOA->CRL&=0xfffff0ff;
        GPIOA->CRL|=0x00000300;

        GPIOA->ODR|=0<<2;
        Delayms(2);
        GPIOA->ODR|=1<<2;


        addr=TV_ADDR;

        num=sizeof(TrueView5725_5)/2;

        for(i=0;i<num;i++)
        {

        sccb_senddata(TrueView5725_5[0],TrueView5725_5[1],addr);
        }


        val=sccb_receivedata(0xf0,addr);
       
        val=sccb_receivedata(0x20,addr);
                 
        val=val;

        return rs;

}
这个项目在现在已经已经是相当淘汰的方案了,但是当时完成后,我也是相当满意。

④分享首次使用STM32软件的感受: 在开始学习stm32时,一般是直接调用标准库,但是后来意法半导体出了stm32cubemx的软件后,发现程序开发的通用性高了很多。因为我在一个项目中切换芯片,不用重新再网上下载对应库文件,和比较不同系列芯片的差异,只需要在本来做好的cubemx工程中修改相应的芯片,在重新生成便可以直接编译出新的执行文件,并且stm32cubemx提供官方库文件和像freertos等第三方库文件也是生成即可使用,不用重新移植。当然在当时的stm32cubemx也有挺多问题,主要是HAL库效率比较低。但是随着芯片的性能越来越高,还有LL库和HAL库的互相补充。使得stm32cubemx的应用越来越多。



恭喜STM32出货150亿颗,用STM32芯片的人越来越多,软件生态越来越来完善,STM32在中国的发展越来越好。

meiyao 回答时间:2026-1-4 19:51:51

①回想了一下,第一次使用STM的MCU时,是用的F103,那个时候是做一个智能小车,主要是它拥有丰富的外设资源,像定时器、PWM、ADC等,能满足智能小车多种功能需求;其性能相较于当时常见的51单片机有显著提升,处理速度更快;STM32有庞大的社区和丰富的资料,遇到问题容易找到解决方案。结合这几点,感觉在实现小车电机控制时,利用定时器生成PWM波来调节电机转速,通过编码器反馈实现闭环控制。这个过程并非一帆风顺,编码器信号处理曾让我头疼不已,经过多次调试和查阅资料才解决。最终看到小车按照指令灵活行驶,那种成就感难以言表。初次使用STM32,我感受到了它强大的性能和开发潜力,也坚定了深入学习的决心。

②老项目那我就要说一下温控了,使用STM32F103的智能温控风扇,我印象最深刻的项目是使用STM32F103C8T6制作的智能温控风扇。这个项目是在根据环境温度自动调节风扇转速,实现节能和舒适的效果。








#include "stm32f10x.h"
#include "delay.h"
#include "adc.h"
#include "pwm.h"

#define TEMP_THRESHOLD 30  // 温度阈值

int main(void)
{
    uint16_t tempValue;
    float temperature;

    // 初始化
    ADC_Init();
    PWM_Init();

    while(1)
    {
        // 读取温度传感器值
        tempValue = ADC_GetConversionValue(ADC1);
        // 转换为实际温度
        temperature = (float)tempValue * 3.3 / 4095 * 100;

        if(temperature > TEMP_THRESHOLD)
        {
            // 根据温度差值计算PWM占空比
            uint16_t duty = (temperature - TEMP_THRESHOLD) * 10;
            PWM_SetDutyCycle(duty);
        }
        else
        {
            PWM_SetDutyCycle(0);  // 温度低于阈值,风扇停转
        }

        delay_ms(500);
    }
}

③从F系列到H系列的开发与移植,其实算蛮多的,我记得之前做一下电源曲线处理,刚开始是用的446做图像处理,反正就是各种不流畅,后面换成了H7后,不知道这个是多完美,因为STM32H7拥有更高的主频和更强大的浮点运算能力,能更好地满足图像处理的需求。移植过程中,首先要解决的是时钟配置问题,STM32H7的时钟系统比F系列的复杂得多,需要仔细配置PLL和分频系数。其次是外设驱动的移植,由于H7的外设寄存器地址和功能与F有所不同,需要重新编写驱动代码。要重新配置DMA和DCMI模块。

总结一下,H7处理速度大幅提升,原本需要几秒才能完成的图像处理任务,现在只需几百毫秒,效果十分显著。

④那我说一下首次使用STM32CUBEMX的感受,刚开始的时候是自己去弄那个寄存器,自从首次使用STM32官方软件STM32CubeMX时,我被它的图形化配置界面所吸引。通过简单的拖拽和设置,就能快速生成初始化代码,大大节省了开发时间。同时,它还能对芯片的外设进行直观的配置和预览,方便开发者理解和调试。

不过呢,使用STM32CUBEMX还是有很多的不顺利,也有需要手动调整的,不过总体来说还是降低了开发难度与加快了开发效率。

EPTmachine 回答时间:2026-1-4 09:46:12

恭喜STM32出货150亿颗,完成150个小目标

七七baba 回答时间:2026-1-4 09:47:59

恭喜STM32出货150亿颗,ST最大的优势就是用的人多,生态完善,杠杠滴!

liuxingkeji 回答时间:2026-1-4 09:55:58

恭喜STM32出货150亿颗,其中也有我对一点贡献

北方 回答时间:2026-1-4 10:11:02

恭喜STM32出货150亿颗,再创新高

lospring 回答时间:2026-1-4 10:27:21

恭喜STM32出货150亿颗

liloooo 回答时间:2026-1-4 10:38:17

恭喜STM32出货150亿颗,做大做强再创辉煌

liloooo 回答时间:2026-1-4 10:38:41

恭喜STM32出货150亿颗,做大做强再创辉煌

VegardCheng 回答时间:2026-1-4 11:05:13

恭喜STM32出货150亿颗,足够绕地球几圈呢?要是能统计正在服役的STM32芯片就更厉害了

linghz 回答时间:2026-1-4 11:19:38

恭喜STM32出货150亿颗,150亿颗STM32,150亿次创新启航!

lxl666 回答时间:2026-1-4 11:19:41

祝贺STM32系列突破150亿颗里程碑!以创新驱动未来,用芯成就无限可能!

Lucki 回答时间:2026-1-4 13:36:36

第一次接触 STM32 是在 STM32F103C8T6(Blue Pill) 时代。当时项目需要从 8 位 MCU 升级到 32 位,综合性能、生态、成本后选择了 STM32。真正上手后最大的感受是:这不是一颗“芯片”,而是一整套为开发者准备的体系

第一次用 STM32CubeMX 配置时,GPIO、时钟、外设一目了然,自动生成初始化代码,大大降低了入门门槛;HAL 库让不同系列之间的代码迁移成本明显降低,而后续深入项目后,又可以切换到 LL 甚至直接寄存器,新手和老手都能找到舒服的工作方式。从 2007 年第一颗 STM32F1,到今天全球 累计出货 150 亿颗,STM32 能成为无数工程师的“第一颗 32 位 MCU”,也成为大量产品背后的“智能大脑”,绝非偶然。

恭喜 STM32 全球出货突破 150 亿颗! 感谢 18 年来持续陪伴开发者成长,期待下一个百亿继续同行!

〃聪聪哥哥 回答时间:2026-1-4 13:38:13

作为一个从事了ST开发10年的工作经验的码农,祝贺ST在18年里出货150亿颗,想想自己也是使用了,这150亿颗的一部分。恭喜恭喜!!!!

lospring 回答时间:2026-1-4 14:44:52

我与STM32的初次邂逅:从“点灯”开始的信任 我的第一块STM32开发板是经典的STM32F103C8T6蓝色核心板。当时为一个小型智能家居控制器选型,需要在51单片机的性能和ARM9的复杂度之间找一个平衡点。选择它,纯粹因为论坛上所有人都说“资料多,好上手”。

真正使用过程却意外“平淡”。按照教程安装好Keil,用STM32CubeMX生成初始化代码,复制一段点灯程序——整个过程比预想的顺利太多。最深的感受是 “安静靠谱”。它不像有些芯片需要反复折腾底层驱动,ST的标准库(后来是HAL库)让所有操作都有迹可循。项目顺利完成后,那块蓝色的小板子就静静地躺在我的元件盒里,像一位沉稳的老朋友。它不是最强大的,却是我最放心把基础任务交给它的那一个。

1234下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版