浅谈 RISC-V 软件开发生态之 IDE

这篇具有很好参考价值的文章主要介绍了浅谈 RISC-V 软件开发生态之 IDE。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

软件开发者是芯片公司非常重要的资产,CPU做出来是不够的,要让更多的软件开发者用这颗芯片才是成功。国际大厂们都有一只较大的软件团队,在做面向开发者的软件工具和SDK等。--张先轶博士:为什么RISC-V需要共建软件生态?

前言

目前RISC-V架构在全球发展迅猛,RISC-V花了差不多5年的时间完成了ARM过去花了二十年积累的软件生态。但是跟ARM相比,RISC-V架构还有很长的路要走,其中面临的最大问题就是生态系统不够成熟,这很大程度上制约了RISC-V的应用和用户接受度。目前大多RISC-V IP和芯片厂商采用的开发环境都是基于社区开源的Eclipse环境、GDB、OPENOCD等。开源环境代码臃肿、运行速度慢、BUG多、用户配置复杂,这直接影响了商业用户的芯片使用体验。另一个方面,随着人工智能、物联网应用的兴起,很多用户需要根据应用定义RISC-V指令和体系结构,现有开源环境无法满足要求。

今天简单谈一些关于 RISC-V 开发的软件生态相关,主要是关于 RISC-V 的开发 IDE,就是集成开发环境。集成开发环境(IDE)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的软件开发服务。

它的重要性不言而喻,直接能影响到 RISC-V的生态。有RISC-V开发者说,IDE种类繁多,用起来真不舒服,主要是IDE用起来真不习惯,相比Keil和IAR来说。

目前来看,RISC-V 的硬件生态已经在蓬勃发展,而 RISC-V 相关的软件生态还在日趋完善的过程中,只是碎片化太严重。这里就来浅谈一点我的个人认识,如有不对,请批评指正。

目前,RISC-V 的软件开发 IDE ,主要是有以下几种解决方案。

0x01 eclipse —— 著名开源 IDE

全开源,需要自行集成 RISC-V Toolchains + eclipse + OpenOCD 来搭建开发环境。

优点:

1.全开源,自由,免费 的 IDE2.有众多公司厂商,组织,支持维护3.可扩展的插件功能

缺点:

1.庞大臃肿,而且需要 java 运行环境。现在的版本在安装过程中会自动安装一个 jre 的运行环境。但是目前国内用户如果自行安装会下载很慢,使用代理相对快很多。如果不使用安装版本,也可以使用 zip 包解压的版本2.集成众多插件,插件数量多了之后会拖慢系统3.需要自行集成编译器及仿真器,打包发布给用户使用

0x02 IAR for RISC-V—— 老牌商业 IDE

IAR for RISC-V 版本目前已经正在和部分芯片厂商进行合作适配、授权支持。主要包括:SiFive、Andes Technology、Nuclei(芯来科技)、CloudBEAR、Syntacore、C-SKY(平头哥)、GigaDevice(兆易创新)、MicroChip。

优点:

1.IAR 有非常优秀的编译器,针对代码的大小和速度有很好的优化;从 coremark 跑分排行榜上的 ARM 芯片来看,相对来说 IAR 的代码性能更高一些,当然各版本之间也会存在差异。但目前 IAR for RISC-V 的版本还未开放下载,暂时还没有相关测评。2.有很优秀的 Trace 工具进行调试

浅谈 RISC-V 软件开发生态之 IDE

coremark

浅谈 RISC-V 软件开发生态之 IDE

IAR for RISC-V

缺点:

1.纯商业 IDE,使用需要授权,相对来说用户不易获得授权使用,尤其是新版本更新了 License 授权方案2.RISC-V 芯片需要通过其 i-jet 来调试

0x03 Embedded Studio for RISC-V —— SEGGER 老牌嵌入式开发工具供应商

Embedded Studio 目前正在适配支持 Andes Technology、Nuclei(芯来科技)、GigaDevice(兆易创新) 、SiFive、Syntacore、Western Digital 的 RISC-V 芯片开发。

优点:

1.个人用户免费,支持全功能, 跨平台支持含 Windows, macOS 和 Linux 版本。2.优于 IAR 的编辑器3.启动速度快,大工程启动速度相对较快4.调试工具丰富,因为是传统嵌入式工具链厂商,有 J-link 系列工具支持5.支持 RISC-V 内核

缺点:

1.目前只支持 J-link 进行 debug2.设置选项较为烦锁

0x04 VS code —— 开发新秀

VS code 在我看来就是一款优秀的开源跨平台代码编辑器,但由于其内置了标准 Debugger Adaptor Protocol,经过各路大神,一些组织,部分企业公司结合各自的需求,开发了各具特色的 Debug 插件。于是乎 VS Code 俨然变成了一款极具竞争力的 IDE,成功跨界抢各类 IDE 的市场,因为其灵活小巧,迅速成为了各路开发者的新宠。但也由于其开发调试功能不是本身内置,也给不同的开发需求带来了一定的门槛,需要开发者自行进行一些开发环境配置,对于新手小白不是特别友好。但还是有很多愿意折腾的大佬。

优点:

1.软件全开源免费,体积小,启动快,界面新颖,更新快,新兴的优秀编辑器代表2.开源众多的插件3.可跨平台使用

缺点:

1.其本身就是一个,优秀的开源编辑器,如果要进行 MCU 开发,需要开发插件,或者使用相应的工具链来自行配置,对用户不是很友好2.目前没有支持 RISC-V 的通用插件3.通过体验 cortex debug 、esp-idf、platformIO 等开发插件,体验也并不是很友好;但也是跟插件开发者的能力、需求和习惯相关4.Cortex Debug 插件,代码在 bootrom 里运行时,反汇编窗口无法显示当前的 bootrom 代码,除非手动反汇编。它执行显示当前 elf 范围内的文件,regs 窗口没法设置显示格式;这些可能是 Cortex Debug 插件的局限。

0x05 KendryteIDE —— 基于 VS code 包装的 IDE 方案

KendryteIDE 是嘉楠勘智,基于开源的 VS code 编辑器,自己定制的 RISC-V 芯片 IDE 解决方案,整体风格继承 VS code。

优点:

1.基于开源 VS code,二次开发,完全自主可控,轻量级2.继承了 VS code 的优秀编辑器,及其优点

缺点:

1.目前不可以直接使用其 IDE,来进行其他的 RISC-V 芯片调试2.需要重新适配自己的 MCU 来做开发,开发工作量和时间周期是不确定的3.定制程度取决于开发人员的能力

0x06 MounRiver Studio--RISC-V单片机(MCU)集成开发环境(IDE)

MounRiver Studio支持在线更新各类模块组件,如SDK、OpenOCD等。您可以通过MounRiver组件发布平台,上传组件供其他用户下载使用。IDE下载地址 www.mounriver.com,

基于Eclipse的方案,做的还不错,支持的芯片还挺多,希望支持更多的芯片厂家,比较看好。

浅谈 RISC-V 软件开发生态之 IDE

0x07 Nuclei Studio IDE

Nuclei Studio IDE是芯来公司,基于Eclipse开发的一款针对芯来公司处理器核产品的集成开发环境工具。Nuclei Studio IDE 是基于eclipse的,软件是免安装的。因此直接去Nuclei官网下载对应的版本即可。希望它更加开放些,一个IDE要想强大光自家的可不行。

IDE下载地址为DOCS & TOOLS_Nuclei-Best RISC-V Processor IP,

0x08 卡姆派乐IDE

这个是后起新秀,希望保持开放,让更多的厂商参与进来携手共建,做好生态吧。卡姆派乐信息科技有限公司总部位于湖南长沙,在北京设有分支机构。公司成立于2019年1月,作为一家新兴的科技公司,卡姆派乐是国内首个专注于芯片基础软件并且具备全套工具链开发能力的信息技术企业,主要提供芯片集成开发环境、编译器、链接器、调试器、二进制翻译、高性能数学库、AI算子优化等服务。

卡姆派乐IDE的发布填补了国内在芯片集成开发环境领域的空白,对于完善RISC-V生态,推动RISC-V架构的应用和推广、推动国产自主芯片开发具有重要意义。专业芯片编译、调试,IDE、OS定制开发、OpenCL、CUDA、AI编译器和编程框架定制开发。 

卡姆派乐

0x09 剑池 CDK 

剑池 CDK 挺强大的,理念也挺先进,是基于平头哥芯片的开发工具。着重在 IoT 领域做开发,是一款集成开发环境,会将平头哥 ioT 的编译器、调试器、模拟器工具都封装在一个整体环境中提供给开发人员。实现整体简洁的界面,带来全新开发体验。就是占用资源比较大,面向平头哥芯片多一点,不够开放,要是能支持其它的就更好了。

剑池 CDK 是平头哥推出的一款专业面向 IoT 开发领域的集成开发环境,该集成开发环境围绕平头哥“1 天上手,5 天出原型,20 天出产品”1520 技术理念,为开发者提供简洁统一的图形开发界面,帮助开发者进行应用开发。该开发环境目前已支持平头哥自研指令集C-SKY 架构和 RISC-V 架构的芯片的开发。传统的嵌入式集成开发环境不同的是,剑池 CDK 内部自动对接芯片开放平台,自动获取芯片开放平台上的开发资源。在芯片开放平台上,包含了一个网络组件超市,能够提供各种类型的组件,通过对接网络平台,开发者可以快速的形成自己的方案。

CDK下载地址:

 https://occ.t-head.cn/community/download?id=575997419775328256

浅谈 RISC-V 软件开发生态之 IDE

0x0A 总结

可能正是由于 RISC-V 硬件的自由更改的属性,各家厂商都可以有自己独特的 RISC-V 架构,所以这也导致了 RISC-V 的编译工具链会有各厂商自己定制,不能像 ARM 那样各个厂商都使用 MDK,只需要做一个 SDK or Pack 包集成到 MDK 中即可。于是乎,我们就看到了市面上的各大 RISC-V 芯片或 IP 公司,都在做自己的 IDE 用自己的工具链。那么为什么各家都在做各自的工具链呢,我认为还是没有形成类似于 ARM 的 CMSIS 这样的嵌入式软件接口标准,来统一管理底层软件接口,于是乎就变成了各自玩各自的,没有统一。这也是导致 RISC-V 软件生态薄弱,碎片化的一个很重要的因素。

但我相信,未来应该也会出现类似于 CMSIS 的标准,来完成一统大业的工作

于是乎现在就是八仙过海,各显神通的局面。但大部分的 RISC-V 厂商的开发 IDE,还是基于开源的 eclipse + gcc toolchains + openocd 的方案来开发和调试芯片产品,相对来说这可能是比较快和相对成熟的方案。

当然,我个人猜测,像 IAR、SEGGER 这种纯商业的第三方 IDE 、嵌入式工具供应商,也希望能够适配市面上的各型号 MCU 开发,稳固自己的工具链生态,所以 SEGGER 率先推出了支持 RISC-V 开发的 IDE,但可能也正是由于 RISC-V 的灵活性,致使全面支持 RISC-V 架构的 IAR 版本还迟迟没有正式推出。

个人认为,如果一个 RISC-V 芯片厂商需要尽快推出自己的 IDE ,那么可能使用 eclipse + gcc toolchains + openocd 的方案会比较快,但是IDE太大太臃肿,且仅支持自家的芯片。如果能基于notepad--用QT实现一款小巧且速度快,像Keil一样好用且支持众多芯片该多好。如果时间不急的话,在目前商业 IDE 还不成熟的情况下,自行研发是个选择,对其自己的芯片开发的适配程度也会更高,但就是各自造轮子更加碎片化。RISC-V委员会应该站出来统一下标准规范,照抄CMSIS也行啊。像ARM这样能有个统一的Keil的IDE支持生态内的所有厂家芯片,且有CMSIS规范统一标准,降低门槛且丰富了生态。自行研发也有两个方向,一个就是基于 VS code 或NDD编辑器做二次开发,参考嘉楠勘智方案;另一个就是从头开发一款自己的 IDE,但由于自己定制调试器也是一个时间周期比较长的过程,所以大概率底层还是 gcc + openocd。当然了,这里也还有未列出的阿里平头哥发布的 剑池 CDK 开发环境,他们有中天微时期的基础,所以他们就是自己完全定制的 IDE,并且有自己的调试器 ck-link,是解决方案比较成熟的厂商了。建议RISC-V 芯片厂商协调委员会统一出来维护一个IDE不香吗?各个芯片厂商负责提供芯片驱动包,类似Keil5的IDE模式。非要各家都搞一个各自为战?那样并不利于生态。

RISC-V 单片机本是国产化弯道超车的机会,但就是碎片化太严重,驱动封装的不太好用,且没有好用的国产IDE。要是像stm32那般好用,想不火都难。各家的IDE各自为战,重复的造轮子,没有统一的支持各个厂家的不同芯片。 RISC-V 的世界缺乏像ARM这种的统一领导和规范,得形成合力避免重复和各自为战,才能扩大生态,开放共建实现共赢。开发者没选一个芯片就得换套IDE?就得重新熟悉一遍操作吗?

最后,期待国产单片机开发IDE软件也能朝着更好用,易用的方向发展,变得更好。

引用

张先轶博士:为什么RISC-V需要共建软件生态?

[RISC-V]国产MCU IDE ——MounRiver Studio(MRS)双核开发项目实战_MounRiver_Studio的博客-CSDN博客

【专访】张先轶博士:手持开源“大刀”,RISC-V如何从“低端量变”到“高端质变”? · Issue #I3J1XA · RV少年 (RV4Kids)/RVWeekly - Gitee.com

平头哥CH2601开发环境(CDK)搭建_zhengyad123的博客-CSDN博客 文章来源地址https://www.toymoban.com/news/detail-498278.html

到了这里,关于浅谈 RISC-V 软件开发生态之 IDE的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RISC-V IDE MRS无感远程协助模块详解

    1.1 概述 针对RISC-V/ARM等内核MCU的嵌入式集成开发环境MRS(MounRiver Studio)从V1.90版本开始内置无感远程协助模块(Sensorless Remote Assistant Module,以下简称SRA模块)。SRA模块是一款支持远程下载、调试、串口数据回显等功能的集成开发环境综合单元,提供了局域网、广域网环境下的专

    2024年02月07日
    浏览(33)
  • K210-CanMV IDE开发软件

    区域①菜单栏:操作文件,使用工具等。 区域②快捷按钮:区域①中的文件和编辑中部分功能的快捷方式。 区域③连接设备:连接设备和程序控制按钮。 区域④代码编辑区:编辑要运行的代码。 区域⑤串行终端:显示串口打印的调试信息。 区域⑥图像预览:显示摄像头的

    2024年02月09日
    浏览(17)
  • 软件的开发工具包(SDK)与集成开发环境(IDE)

    本文重点论述软件的开发工具包(SDK)与集成开发环境(IDE)的基本概念和作用。 通常情形下,无论是安装一个软件还是开发一个软件,实际上主要做两个事情:产生SDK(Software Development Kit,简称SDK,软件开发工具包)和IDE(Integrated Development Environment,简称IDE,集成开发环

    2024年02月16日
    浏览(38)
  • 逐帧分析,Devin如何成为AI软件开发者

    Devin官方Blog https://www.cognition-labs.com/blog 最近一个十人团队的初创公司公布的人工智能模型Devin火了一把,因为其宣称其是首个人工智能软件工程师。铺天盖地的公众号消息无一不打着“程序员干掉了自己的饭碗”的口号在为其卖力宣传着。实际效果如何,以下是我根据上面官

    2024年04月14日
    浏览(40)
  • 浅谈软件开发方向之嵌入式

            软件开发是当前一个很热门的话题,可是你知道软件开发岗位都有哪些吗?其中又有什么联系呢?本文以软件开发的嵌入式方向,来聊聊这个问题。 Linux IO(基本输入/输出)系统架构图          如果说 互联网系统像一个以服务器为中心的星型,大数据系统像一

    2024年02月06日
    浏览(42)
  • RISC-V在快速发展的处理器生态系统中找到立足点

    原文:RISC-V Finds Its Foothold in a Rapidly Evolving Processor Ecosystem 作者:Agam Shah 转载自:https://thenewstack.io/risc-v-finds-its-foothold-in-a-rapidly-evolving-processor-ecosystem/ 以下是正文 But the open source processor architecture will need to find more support from the software dev community before it can rival x86 and ARM archit

    2024年02月13日
    浏览(27)
  • 微软疑断自由软件开发者“活路”,禁止在微软商店发布商业开源

    整理 | 彭慧中 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 几周前,微软更新了其应用商店的政策,增加了新的政策(将于下周开始生效),其中包括以下文字: “「所有定价」…「都不能」…企图从开源或其他普遍免费的软件中获取经济利益。” 图源SFC 原本大家以为,微软是在

    2024年02月10日
    浏览(29)
  • 间谍软件开发商利用漏洞利用链攻击移动生态系统

    导语:间谍软件开发商结合使用了零日漏洞和已知漏洞。谷歌TAG的研究人员督促厂商和用户应加快给移动设备打补丁的步伐。 间谍软件开发商利用漏洞利用链攻击移动生态系统去年,几家商业间谍软件开发商开发并利用了针对 iOS 和安卓用户的零日漏洞。然而,它们的漏洞利

    2024年02月09日
    浏览(38)
  • HTC vive pro & unity开发者软件/SDK版本注意事项

    SteamVR插件是unity中VR开发的基础,必不可少。unity软件上实现对VR设备(头显、控制器、tracker)的渲染、实时追踪等功能。 推荐版本: SteamVR插件v1.2.3 link. VRTK是一套VR动作交互(移动、拾取等)的解决方案,提供了现成的交互代码。开发者也可以基于SteamVR开发自己的交互代码

    2024年02月06日
    浏览(44)
  • 开源软件允许任何人自由查看、修改和使用源代码,这激发了更多的开发者参与到软件的创新和改进中来

    开源软件的影响力主要体现在以下几个方面: 促进技术创新:开源软件允许任何人自由查看、修改和使用源代码,这激发了更多的开发者参与到软件的创新和改进中来。很多新的想法和技术都得到了开发和推广,从而推动了整个技术领域的发展。 提升软件质量:开源软件通

    2024年02月20日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包