sky 发表于 2021-3-12 01:12:00

软件生态篇:RISC-V处理器嵌入式开发者必看(下)

本帖最后由 sky 于 2021-3-12 01:12 编辑

硬件芯片篇:RISC-V处理器嵌入式开发者必看(上)
软件生态篇:RISC-V处理器嵌入式开发者必看(下)



上篇文章介绍了:①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 是目前市场知名度比较高的两款产品。


开源处理器RISC-V行业展览推荐

2021年9月1-3日,ELEXCON深圳国际电子展暨嵌入式系统展将专门打造『 RISC-V技术专区 』,汇聚行业内领先企业,全面展示RISC-V软硬件开发、RISC-V开发工具、RISC-V处理器应用、开源技术等新技术、新产品和新方案,迎接芯片行业发展的历史性机遇!联系我们:☎ (86)755-88311535
▼2021部分参展商



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 的授权方法很友好,包括高校老师和学生非商业使用都是免费的,同意使用协议后就能使用。


图6 Embedded Studio for RISC-V


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。




开源处理器RISC-V行业展览推荐


2021年9月1-3日,ELEXCON深圳国际电子展暨嵌入式系统展将专门打造『 RISC-V技术专区 』,汇聚行业内领先企业,全面展示RISC-V软硬件开发、RISC-V开发工具、RISC-V处理器应用、开源技术等新技术、新产品和新方案,迎接芯片行业发展的历史性机遇!联系我们:☎ (86)755-88311535

▼2021部分参展商


参考文献

1. 胡振波RISC-V发展现状与应用
https://mp.weixin.qq.com/s/7SBGzYSEg81vP0jL66GCKQ
2. History of RISC-Vhttps://riscv.org/about/history/
3. DAVID PATTERSON, ANDREW WATERMAN,翻译:勾凌睿、黄成、刘志刚
RISC-V 手册:一本开源指令集的指南 P23-33
4. 胡振波 RISC-V 架构与嵌入式开发快速入门 人民邮电出版社 P34-39
5. RISC-V MCU 中文社区 https://www.riscv-mcu.com/
6. IAR Getting started with IAR RISC-V GD32V Eval board www.iar.com
7. K210技术规格书https://canaan-creative.com/developer
8. V32M1-VEGA Development Board User Guide https://github.com/open-isa-org/ ... 0/Documentation.zip
9. Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集芯片验证https://www.cnblogs.com/zjutlitao/p/9745365.html
10. MultiZone Security for RISC-V
https://github.com/hex-five/multizone-iot-sdk
11. RISC-V Foundation RISC-V - Getting Started P5.P14 Guide 2019.5.13
12. Rolf Segger The SEGGER Compiler
https://blog.segger.com/the-segger-compiler/
13. 何小庆 3种物联网操作系统分析与比较微纳电子与智能制造杂志 2020.3
14. https://kernelnewbies.org/Linux_5.8#RISCV
15. “RVfpga: Understanding Computer Architecture” includes teaching materials and hands-on exercises for students
https://riscv.org/2020/09/imagination-announces-the-first-risc-v-computer-architecture-course/
16. rCore OS 开发文档 https://rcore.gitbook.io/rust-os-docs/
17. 嵌入式与物联网开发技术线上讲座课程(第三期)
http://hexiaoqing.net/courses/
18. Samuel Greengard Will RISC-V Revolutionize Computing? COMMUNICATIONS OF THE ACM | MAY 2020 | VOL. 63 | NO. 5


2021年9月1-3日 深圳国际会展中心·宝安

深耕电子产业近30年,由博闻创意(深圳)主办的ELEXCON电子展暨嵌入式系统展将充分发挥本土资源优势,推动中国电子全产业链的共享式发展,2021年将以“聚焦电子技术创新与产业链重塑”为主题,全面展示5G、AIoT、大数据、嵌入式技术、医疗电子、汽车智能技术、智能制造、北斗卫星等领域的新技术、新产品和新方案,同期举办数十场专业技术论坛,邀请超百位全球产业智囊和专家演讲。届时,Informa英富曼集团将全力打造“光+电”全产业链航母旗舰大展!同期总面积达20万+,参观观众达13万+。
联系我们☎ (86)755-88311535




页: [1]
查看完整版本: 软件生态篇:RISC-V处理器嵌入式开发者必看(下)