RISC-V与arm强强联手?——VEGAboard,想说爱你不容易

 

分享自爱板网评测频道,请您查看...

看到这个标题,肯定有不少明确阵营的拥护者要出来骂粗了,“什么玩意?强强联手?这两个分明是你死我活的争斗状态好吧,”稍安勿躁,先来看看本文怎么说。

平心而论,以分立的角度来看,arm是arm,RISC-V是RISC-V,两家的争斗看似唯有一家倒下才能完结。但这是相对于这两家公司来说的,我们有一点需要明确,这两家公司基本没有属于自己真正意义上的硬件如芯片,都是通过授权等方式去实现自己的市场化。那么问题来了,谁在用这两家的授权IP,怎么用?用户接受度又是如何?这才是这两家争斗以及导向最终什么结果的决定性因素。当然,本文可算是意外中的例外,讲述的是一款放弃仇恨、强强联手,结合了RISC-V以及arm打造的独一无二的芯片以及相应的开发平台VEGAboard。那么,它真的很强吗?

▌RISC-V & Arm强强联手?VEGAboard

对VEGAboard第一眼的印象就是像极了恩智浦的Freedom开发板,开发板板载独特的OpenSDA多功能调试器(开放式嵌入式串行和调试适配器,具有USB存储方式的flash编程下载功能)、兼容Arduino扩展接口,可实现广泛生态、低成本的扩展。但是,这些都不本文要讲的重点,VEGAboard的核心亮点是板载的主控,一款基于4个不同核心的恩智浦RV32M1无线MCU产品,到底有多神奇,接着往下看。
VEGAboard简单来说可以归为几个区块,以恩智浦RV32M1 无线MCU为核心的主控部分,包括了基于主控扩展的两排扩展引脚座,RISC-V JATG调试接口,支持低功耗蓝牙、IEEE 802.15.4标准协议的嵌入式无线通信部分,以及板载的OpenSDA调试器部分,具体的外设接口可以参考下图。
眼尖的同学可能在上图中会发现了一些端倪,板载好多的调试接口,除了板载的MicroUSB OpenSDA调试接口,还包括OpenSDA调试座、ARM SWD调试座、RISC-V JTAG调试座,为何有这么多调试接口?你有这个疑问,那恭喜你,你已经找到这个板子的核心所在了,也就是板载的这颗恩智浦RV32M1主控,这是一颗糅合了RISC-V与arm特征的特殊微控制器,有多特殊?包含了一个ARM Cortex-M4 CPU,一个ARM Cortex-M0+ CPU, 一个RISC-V RI5CY CPU,一个RISC-V ZERO_RISCY CPU,4个核心且每个核心都不同,因此,它需要不同的调试接口对不同的核心就行编程调试,比如像板载的OpenSDA调试器只支持ARM系列的微控制器,所以对于基于RISC-V的核心,你需要额外的诸如J-Link的调试设备,相信看到这,不少工程师会长吁短叹,这是一项增加成本的工程啊。除此之外呢,这颗微控制器还集成了相当大的存储容量,包括1.25MB的Flash以及384 KB SRAM。
所以说换句话说,整个开发板就是围绕NXP RV32M1做的一次功能拓展,其硬件框图如下所示。
有关于VEGAboard开发板详细的功能特性如下:

  • 支持BLE,通用FSK以及IEEE 802.15.4 标准的超低功耗无线MCU平台RV32M1
  • 符合IEEE 802.15.4-2006标准的收发器,支持在5.0 MHz信道下250 kbps O-QPSK数据传输,以及完整的扩频编码和解码
  • 完全兼容BLE v4.2
  • 参考设计区域,占用空间小,采用低成本的RF节点:单端输入/输出端口、外部组件数量少、SMA连接器的可编程输出功率为-30 dBm至+3.5 dBm;SMA连接器的接收器灵敏度为-100 dBm(对于符合IEEE 802.15.4标准的无线应用)、SMA连接器的接收器灵敏度为-95 dBm(对于BLE应用)
  • 集成PCB倒F型天线和SMA RF端口(需要将板载的C122移至C121位号处)
  • 可选择的电源、具有降压和旁路工作模式的DC-DC转换器
  • 32 MHz参考振荡器、32.768 kHz参考振荡器
  • 2.4 GHz频率操作(ISM和MBAN)
  • 带微型USB连接器的USB device模式接口
  • 32-Mbit(4 MB)外部串行闪存,支持空中编程(OTAP)
  • FXOS8700CQ数字传感器,3D加速度计(±2g /±4g /±8g)+ 3D磁力计
  • 集成的开放标准串行和调试适配器(OpenSDA)
  • 一个RGB LED指示灯、一个红色LED状态指示灯、一个绿色LED电源指示灯、一个红色LED复位指示灯、一个琥珀色LED OpenSDA活动指示灯、四个按钮开关


▌NXP RV32M1——这是一个怎样的4核?

回到文章的关键点来,RV32M1这到底是一个怎样的4核,这4核又是如何工作?
一顿操作猛如虎,扒下RV32M1的外衣来看下核心硬件系统框图。
所有的外设基本都是靠两条总线去实现控制,但是让人最吃惊的是4个处理核的组合方式,可以说Cortex-M4与RIS5CY为一个组合,主打高性能;Cortex-M0+与ZERO RISCY为一个组合,主打低功耗;通过查看RISC-V的官方文档不难发现,ZERO RISCY之于RIS5CY就相当于Cortex-M0+之于ARM其它系列的Cortex-M处理核,将流水级减小,将指令集减少,意在平衡成本和功耗的同时控制一些低功耗的操作。这种大小核的组合方式现在大家普遍能接受,无论在微控制器还是应用处理器中都有实实在在的应用基础,而且体验相比单一的高性能或者低功耗芯片要更灵活自由。

但是,在这里,我没明白这么做的目的何在?我的意思是指将RIS5CY与Cortex-M4,ZERO RISCY与Cortex-M0+强行组合在一起究竟有何意义?因为在官方的文档中我没有查看到在这里体现出RISC-V核的优势所在?在RV32M1中,RISC-V就好像是ARM的小弟,从旁协助。懂我的意思不?芯片在介绍存储这块的时候直接是这么说的“1.25MB的Flash中1MB在M4核上,256KB在M0+核上;384KB SRAM中256KB在M4,128KB在M0+;这里压根没提到RISC-V分配的存储,甚至都没提RISC-V”。我的理解是,在这里,RISC-V就如跟着ARM运作的提线木偶,ARM动,它动,ARM不动,它也不动,最多只能算是锦上添花,哪怕撇开ARM做一款单纯的RISC-V的微控制器也要比现在这种强行组合在一起但是没有明显优势的产品要强,这个就像是为了搭上RISC-V而设计的新品,没有彻底感受到这种组合到底有何优势,毕竟从开发的角度来看,目前针对这款产品的开发,ARM与RISC-V还需要不同的调试开发,这无疑是增加了难度以及时间成本,在这寸光阴寸金讲究时间成本的社会,在没有压倒性的优势下,这样做无疑是不智之举。我也有想过这仅仅是想借助RISC-V的热度在现有的产品线中拓展一个产品系列,但马上又否定了,这样趁热度的成本无疑太高了。

纵观NXP的产品线,不难发现双核的产品组合本来就是NXP的一个特色,其具备的基于Cortex-M4与Cortex-M0+组合的LPC54000 系列已经在这条道路上走得很稳,但是,注意它属于同架构,无论开发难度还是移植难度相对于本文中提到的RV32M1要小。RV32M1这个产品就像在LPC54000 系列的基础上画蛇添足,我不否认这样的产品比单一的单核的ARM Cortex-M4与ARM Cortex-M0+的组合性能要强,但是带来的成本无疑会更高,开发时间无疑会更久,这两者之间的问题到底能不能平衡?如何取舍?我没有答案,只能看市场,看开发者的接受度如何。

▌小结

比现实残酷的是势,目前的ARM是大势所趋,RISC-V虽然可以预见一个可以比肩甚至超过ARM的未来,但就目前而言,两者间的距离就如横跨着一个太平洋,两者之间的不对等关系也造就了像RV32M1这种畸形的产品,沦为附庸的RISC-V在这个产品中没有值得闪光的地方,这样的结局可想而知,倒不如潜心修炼一款单纯基于RISC-V的主控来得实用,比如像HiFive1或是GAPUINO这种。或许只有全球志同道合的政府、企业、开发者一起不计成本代价的折腾RISC-V,将它的生态扩展到与ARM平起平坐的地步,那时RISC-V与arm之间才有真正对决的天平,也或是强强联手的基础。但现在,对于阵营站队明显的开发者来说,这样的产品爱你并不容易。
END






欢迎加入微信群

加入与非社群,找到同道,一起切磋技艺、化解难题。当然还有不定期的红包雨等着你哦!



添加小编微信后,回复对应关键词+公司+岗位,方可被拉入社群,否则一律禁止入群,每人只可申请一个技术群。

关键词:嵌入式、模拟、人工智能、RF、传感器、汽车电子、物联网、IC设计、EDA、PCB、开源硬件、树莓派。


    关注 爱板网


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册