elexcon深圳国际电子展|华南电子展|电子展|嵌入式展|半导体展|SiC展|GaN展|chiplet展|芯片展
首页 > 行业 >
软件生态篇:RISC-V处理器嵌入式开发者必看(下)
返回
软件生态篇:RISC-V处理器嵌入式开发者必看(下)
发布时间: 2021-03-22
浏览次数: 565

 
上篇文章介绍了:①RISC-V 指令集的起源和发展历史,②讨论各种RISC-V CPU核、SoC设计平台和芯片产品的技术特点及选型要点,③重点阐述RISC-V 给嵌入式系统带来了益处,④RISC-V指令扩展的特点与安全应用。本期推文还将继续介绍:⑤支持RISC-V开源和商业软件开发工具和操作系统的现况,最后⑥展望RISC-V 在教育和产业应用的发展趋势。
 
 
RISC-V 嵌入式软件生态
 
 

RISC-V 软件生态是开源为主,商业软件作为辅助支撑力量。开源GNU 工具链支持 RISC-V ,包括有 riscv gcc GCC 编译器 ,riscv binutils :二进制工具 链接器 汇编器,riscv gdb GDB 调试工具以及OpenOCD ,这是一款 运行于PC上的开源调试软件,控制JTAG硬件,可以将它理解为一种GDB服务程序。 

 
5.1 开源GNU工具链的软件
 

目前市场上开源的GUC 工具软件常见的有SiFive Freedom Studio ,AndesSight 和Nuclei Studio IDE。这些软件基本针对自家企业RISC-V 处理器核开发和优化, 集成开发环境基于 Eclipse 开发而成。如果开发者自己有兴趣,自己完全可以下载jdk-8u101-windows-x64.exe,Eclipse IDE for C/C++ developers,GNU MCU Eclipse Windows Build Tools,OpenOCD,以及riscv32-unknown-elf-gcc自己搭建一个RISC-V开发环境。

QEUM 处理器模拟器已经支持RV32和RV32 指令集,这对于CPU种类繁多的RISC-V 家族是一件好事,开发者可以执行软件代码和操作系统,比如FreeRTOS ,Zephyr和 Linux 11 。

商业嵌入式软件公司已经开始支持了通用的RISC-V ISA RV32 和一些公司处理器核和芯片 比如GD32VF103 芯片和SiFive E310, 瑞典IAR的 Embedded Workbench for RISC-V和 德国Segger Embedded Studio for RISC-V 是目前市场知名度比较高的两款产品。


 
 
5.2 IAR EMBEDDED WORKBENCH
 

这是一款与KEIL MDK 在嵌入式和MCU 市场同样知名度的开发工具,针对代码尺寸和效率提供了出色的优化能力, 开发者完全可以信赖这个工具来做精美的编译,分析和调试应用代码。IAR Embedded Workbench for RISC-V 最新版本是 1.40,该版本有以下特点:

(1)编译器和运行库的进一步优化, 运行库中包含了对软件乘除法的实现,可以支持不带M Extension(硬件乘除法指令)的芯片。。
(2)支持P Extension(Packed SIMD)DSP指令, 支持DSP和Packed SIMD specification(草案), Intrinsic functions支持Andes DSP libraries。
(3)进一步完善Trace调试功能,支持基于Nexus IEEE-ISTO 5001™协议的Trace调试环境 ,支持SiFive Insigh解决方案,注意许多RISC-VSoC 芯片 没有支持Trace。
(4)中断向量表的自动建立,无需手工编写汇编代码,支持SiFive,Andes和GigaDevice处理器核和芯片。
(5)在已经支持Andes D25F,CloudBear BM-310,SiFive,Microchip,Syntacore基础上支持GigaDevice GD32V系列10 余款MCU和芯来Nuclei N200/300/600 SoC处理器。

IAR 计划将支持第三方调试器(目前仅支持I-JET),RV64I指令集、C-RUN (代码运行时分析)和功能安全版本均在计划中。


 
5.3 Segger Embedded Studio
 

早在2017 Embedded Studio开始支持 RISC-V ,Segger 公司知名的嵌入式产品是硬件JLINK 调试器 ,当然Embedded Studio 是使用JLINK,也可以通过GDB支持其他调试接口比如OpenOCD和GD-Link。。Embedded Studio 单核 RV32指令集 支持很完善,包括RV32I,RV32IMA, RV32IMAC,RV32IMAF, RV32IMAFC,RV32G, 和RV32GC, Embedded Studio支持芯来科技RISC-V 处理器核(见图5)。据悉RV64 和多核支持在测试中。Embedded Studio支持与主机调试器间高速通信(RTT),支持Segger Systemviwe 软件分析工具。

Embedded Studio是一个集成开发工具,Segger 官方声称这个工具使用的编译器是Clang / LLVM和GCC C/C++编译器,支持外部工具链,比如芯来Embedded Studio工程中缺省配置是使用芯来自己优化的GCC 工具链。Segger 创始人Rolf Segger 在2020年2月一篇名为“The SEGGER Compiler ” 博文中指出:“我们有三个选择:从头开始构建,基于GCC构建,基于CLANG/ LLVM构建。Clang具有更现代的设计,并且通常被认为比GCC更先进。除此之外,Clang还获得了更为宽松的许可,该许可允许制造可商购的衍生物。ARM / Keil从Clang派生了一个编译器,从而停止了其先前专有编译器的开发。考虑到所有这些,我们决定更深入地研究Clang,以使用它创建我们自己的编译器为目标” 12。这样我们不难看出Segger编译器指的就是一个“Clang交叉编译器”,SEGGER将所有内容打包到一个易于下载的“软件包”中,完全集成并且可以立即使用,SEGGER将所有内容打包到一个易于下载的“软件包”中,完全集成并且可以立即使用。

Embedded Studio 的授权方法很友好,包括高校老师和学生非商业使用都是免费的,同意使用协议后就能使用。


 
5.3 嵌入式操作系统
 

RISC-V 处理器嵌入式和物联网应用离不开嵌入式操作系统的支持,FreeRTOS、Zephyr OS、 Thread X(现已被微软收购 Azure RTOS)、μC/OS、RIOT 已经有移植好的参考实例,比如FreeRTOS 10.3 版本就有 NXP VEGA 和 SiFive freedom HiFIve1-revB开发板的移植,编译器支持GCC和IAR ,Segger embOS 有在 GD32VF103-Eval 开发板 embOS 和emWin 演示, SiFive 在Git 发布了Amazon FreeRTOS移植代码, 目前有SiFive Learn Inventor 教育开发板和Andes Corvette-F1 N25 平台可运行。中国内的开源的 RT-Thread 有在HiFIve1-revB 演示、Huawei LiteOS 有在GD32VF103-EVAL 展示其物联网操作系统、腾讯TencentOS Tiny 有在GD32VF103 的PM2.5监测终端的演示,Sylix OS支持Andes RISC-V核的开发板13。

RISC-V 指令集架构要进入 高端计算市场,Linux 内核的支持和进入Linux 开源的主线(Linux tree)是至关重要的。目前在Andes、西部数据和 SiFive 工程师的努力下有一些进展,比如Fedora和Debian在 SiFive HiFive Unleashed上演示。RISC-V是开源Linux开发者感兴趣的新处理器,由于缺乏经济实惠的RISC-V开发板,限制了开发人员在这种架构上的更多工作。Linux内核对RISC-V 支持近期有所改善, Linux 5.8 版本正式支持K210 改变了过去K210只有no-mmu Linux 支持的局面 14,重要的是社区可以很容易找到一个K210 (RV64GC) 的开发板。平头哥最近成功移植了Android 10 ,并在其一个3核C910平台ICE EVB SoC板运行,未来基于RISC-V 通用OS的生态将越来越好。



教育和发展
 

2020年9月Imagination宣布推出针对本科教学的RISC-V计算机体系结构课程,课程名字是“ RVfpga: Understanding Computer Architecture”。课程是Imagination与Sarah Harris副教授共同开发的,她是备受欢迎的《数字设计与计算机体系结构》教材的合著者。Sarah Harris说:“RISC-V以各种可能的方式对前几代处理器进行了改善,从功耗到性能,还提升安全性。作为计算机体系结构的又一次巨大进步,从基础层面上认识RISC-V对学生而言是很重要的 15。

清华大学陈渝副教授和他的团队自2019年开始尝试使用RUST 语言在RISC-V 处理器上实现了一个称为rCore OS,它是uCore的RUST移植版本。致力于使用现代编程语言,提升OS的开发体验和质量,探索未来OS的设计实现方式 16 。

笔者参与麦克泰(BMR)联合IAR 与SiFive,以及与兆易创新和芯来科技推出了第二期和第三期嵌入式与物联网开发技术线上分享讲座课程,课程旨在帮助开发者和高校教师、学生学习和掌握最新RISC-V处理器知识和嵌入式开发技术和工具使用,课程实验代码和科技均开放给社区17。

RISC-V 的嵌入式应用发展还面临许多困难,嵌入式系统需要的通用和标准”开发平台,目前市场上还非常少。RISC-V进入高端应用,更需要商业级开源软件,比如Linux支持才刚开始,短期很难看到Android 可以运行在RISC-V 处理器上。RISC-V 生态非常很活跃,但积累成果还不足。

RISC-V 产业界需有远大抱负和持久的耐心,发展不仅是追求 “芯片数量” 增长,而且需要有数量多、门类齐全-“RISC-V Inside   产品” ,这样RISC-V开发者也会多了! 

 毫无疑问,RISC-V 非常适合高校电子信息相关研究项目和教育课程,一种全新开源硬件模式,构建当今社会不可多得的合作创新环境!华盛顿大学计算机工程学院 Michael Taylor 教授说:“RISC-V没有重要的技术与实践有关的问题,它将最终取代以x86,ARM为主的微处理器指令集,从根本上改变计算的世界18。


 
#作者简介#
 
何小庆是知名的嵌入式系统专家,中国软件行业协会理事、嵌入式系统联谊会秘书长,长期从事嵌入式与物联网技术、市场和教育工作。有《嵌入式操作系统风云录》,《嵌入式实时操作系统μC/OS-III应用开发》和《嵌入式软件精解》多本中英文著译作, 2021年将出版《深入RISC-V 软件开发》和《嵌入式实时操作系统》。
来源 | 本文刊登在《单片机与嵌入式系统应用》2020年11期 ,授权博闻创意会展(深圳)有限公司转载,谢谢。


深耕电子产业近30年,由博闻创意会展主办的ELEXCON深圳国际电子展暨嵌入式系统展2021年将展示5G、物联网、边缘AI、国产芯片、RISC-V、嵌入式系统、可穿戴技术、SiP与先进封测、自动驾驶与车联网、共享充换电技术、第三代半导体等技术新品和方案,现场举办20+场高峰论坛。届时,Informa英富曼集团将全力打造“光+电”全产业链航母旗舰大展!同期总面积达20万+,参观观众达13万+。
 

展会时间:2021年9月1日-3日

地点:深圳国际会展中心(宝安)5/6/7/8号馆

参展咨询☎ (86)755-88311535