这两年只要在做嵌入式,隔三差五就能听到 RISC-V 的名字。它到底凭什么这么火,和我们用了十几年的 ARM 又有多大区别?答案其实没那么玄乎。拿大家最熟悉的两块芯片来说最直观:STM32 全系列都是 ARM 内核,而新出的 ESP32-C3、ESP32-C6 用的则是 RISC-V 内核。先补一句,指令集说白了就是芯片认识的一整套“命令表”,加减乘除、读写内存全靠这张表。ARM 的这张表归厂商私有,RISC-V 的这张表则完全公开。把这几个实在的区别捋一遍,你就明白为什么 RISC-V 越来越受待见了。
![]()
开放式指令集与封闭内核,是两者最根本的分野
最大的区别不在性能,在自由度
很多人第一反应是比跑分、比算力,但两者最大的差别偏偏不在性能,而在开发权限和芯片自由度。ARM 是彻底封闭的。它的商业模式是 IP 授权,把 Cortex-M 这类内核设计授权给各家芯片厂,芯片厂要付授权费,自然也就无权改动内核。用 STM32 的时候,内核架构、指令集、底层模块全都被固化死了,作为开发者,你没有权限去动内核里的任何东西,只能老老实实按厂商定好的规则去调用。
RISC-V 正好相反。公开资料显示,它最早是 2010 年由加州大学伯克利分校的一群研究者发起的开源项目,目标就是做一套谁都能自由使用的指令集,如今由非营利的基金会维护。它的指令集完全开源,可裁剪、可扩展。拿 ESP32-C3 来说,芯片厂商完全能根据需求自由地增强指令、优化架构。这么一来,RISC-V 芯片可以做到迭代更快、功耗更低、针对性更强——这几件事,封闭的 ARM 恰恰做不到。说白了,一个是你只能照着说明书用,一个是你还能自己改说明书。
定制化能力,正好踩中物联网的痛点
第二个关键差别是定制化能力。做物联网低功耗的智能传感器项目时,我们往往只需要一个极简的内核,可 ARM 的指令集太臃肿,一大堆根本用不上的指令,你也删不掉。RISC-V 是模块化设计的,基础指令集之外,需要什么扩展就加什么,用不到的模块直接省掉。
像 ESP32-C3 这种极简的物联网芯片,靠的就是精简架构,把成本压得更低、功耗做得更小。这也是眼下大批量物联网设备纷纷转向 RISC-V 内核的核心原因。省掉的不只是硅片面积,还有实打实的成本。
![]()
低功耗物联网设备,是 RISC-V 落地最积极的领域
选型时,先挑芯片而不是挑架构
不少初学者以为 RISC-V 和 ARM 是个二选一的问题,但真实项目里的逻辑完全不是这样。绝大多数嵌入式开发者,其实是在选芯片,而不是选架构。做产品时,我们首先盯的永远是 Flash、RAM、外设、成本和供货,架构往往要往后放。
比如项目要用到 CAN、ADC、工业控制,那就直接上 STM32 或者 GD32;要用 WiFi、蓝牙,自然就选 ESP32-C3。往往是拿到具体型号之后,才顺便知道:哦,原来这个是 ARM,那个是 RISC-V。架构是选型的结果,不是出发点。
写代码到底差多少
那拿到两种芯片,写代码的流程差别大吗?说实话,写上层应用代码时基本没有任何区别。不管是 STM32 还是 ESP32,C 语言的逻辑是一样的,传感器采集、队列状态机、FreeRTOS 任务这些业务代码,几乎一模一样。真正的分水岭在底层。
一是工具链。ARM 阵营常用 ARM GCC 或者 MDK 来编译,RISC-V 就得用专门的 RISC-V GCC;由于部分 IDE 原生对 RISC-V 的支持有限,不少 RISC-V 项目只能转向开源工具链。别小看这一步,编译不过、断点对不上,项目就得卡在原地。
二是启动文件和汇编。芯片上电后最先跑的那段汇编代码是和架构绑定的:STM32 用 ARM 汇编去处理复位、向量表和栈初始化,ESP32-C3 用的是 RISC-V 汇编,异常向量、CSR 寄存器、中断现场的保存方式全都不一样。所以往后调试代码,遇到具体问题的排查思路也会跟着变。
省下的授权费,和要付的生态成本
RISC-V 听起来全是好处,但真到了选型桌上,还有一笔账要算,那就是生态。指令集开源、免授权费,看着省钱,可配套的编译工具、调试器、商业 IDE、现成例程和文档,整体成熟度目前还是不如深耕几十年的 ARM。尤其是刚上手的时候,资料少、踩坑多,遇到一个冷门问题可能得在社区里翻半天。
对个人开发者来说还有个现实问题:网上 STM32 的教程和开源项目铺天盖地,RISC-V 的现成资料相对少一些。所以很多人是先靠 STM32 入门,把底层摸熟之后,再回过头去看 RISC-V 的芯片。
当然,ARM 也没有坐等。公开资料显示,它同样有面向低功耗、低成本场景的精简内核,像 Cortex-M0 系列,成本和功耗都能压得很低。所以不少时候,两者是在同一张选型表上正面竞争的,最后比的还是整套方案的成熟度,而不是单看指令集开不开源。
![]()
应用层几乎通用,差异集中在上电后最底层的几行汇编
RISC-V 和 ARM 从来不是谁取代谁,而是各司其职。对写业务代码的工程师来说,两者上手几乎通用;真正的门槛,藏在底层工具链和启动那几行汇编里。眼下的局面也很清楚:成本敏感、量大的物联网产品越来越多地上 RISC-V,而对生态成熟度、供货稳定性和长期维护要求高的项目,仍然会优先考虑 ARM。与其纠结架构,不如先想清楚:你的产品到底需要什么。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.