功能强劲的Freedom Metal软件环境

2019年06月28日

随着季度发布计划的推出,SiFive正以前所未有的速度在硬件领域进行创新。在SiFive CoreDesigner及核心IP的更新中,我们可以了解到SiFiveCore IP新增的功能以及通过SiFive Core Designer和SaaS快速访问这些功能的方式。我们一直在努力,确保我们的软件支持与我们的硬件一样可配置,并且易于访问。

Freedom Metal是一种便携式裸机环境,它提供便捷的软件接口,用于控制SiFive Core IP功能和SiFive的外围设备。我们在第一季度首次发布了Freedom Metal测试版,并且一直在努力改进接口并为第二季度更新添加必要的新功能支持。以下是Freedom Metal的新功能的一些例子:

  • 多核启动 -  Freedom Metal现在具有多核功能,可支持新的SiFive Core Designer生成多核嵌入式设备。

  • RV32E支持 -  Freedom Metal还支持添加到E2系列的RV32E扩展,将SiFive核心市场扩展到极受面积限制的设计节点,这些设计节点需要使用减少整数寄存器计数的微架构。

  • 用户模式和PMP API -  SiFive的嵌入式设备可配置为支持RISC-V的用户模式。通过Freedom Metal API调用以及对PMP区域编程的驱动程序支持,Freedom Metal现在支持创建和进入用户模式环境的功能。

Freedom Metal如此特别的原因在于,任何针对其API编写的软件都可以在任何具有Freedom Metal Board支持包(BSP)的设备上运行。SiFive提供了一种基于设备树(Device Trss)文件自动生成BSP的工具。使用此工具,我们能够为使用SiFive Core Designer创建的所有SiFive Core IP自动生成Freedom Metal BSP。随着2019年第二季度的更新,我们将把Freedom Metal BSPs与所有SiFive Core IP产品打包在一起,并确保软件与Freedom Metal兼容。

构建在Freedom Metal之上的是Freedom E SDK,这是我们基于命令行的软件开发工具包。Freedom E SDK旨在通过一系列基于Freedom Metal的示例,用于SiFive开发板的Freedom Metal BSP、脚本、实用程序和makefiles,使SiFive设备上的软件开发尽可能简单。在2019年第二季度的Freedom E SDK版本中,我们更新了Freedom Metal BSP,并添加了许多新的示例,包括:

  • 测试基准 -  Dhrystone和Coremark示例,可轻松复制SiFive基准测试分数

  • Multicore Hello  - 演示启动多核SiFive目标

  • 用户模式 - 演示通过Freedom Metal API调用进入用户模式

  • 还有很多其他的更新…….

在SiFive Core IP可交付产品中包含的Freedom Metal BSP具有针对给定设计定制的Freedom E SDK的示例。例如,如果Core IP设计没有用户模式,则Freedom E SDK将不包括用户模式示例。将SDK示例集中在Core IP的功能上可以加快对功能的理解并且节省时间。 

构建在Freedom Metal和Freedom E SDK的基础上的Freedom Studio将整个软件体验连贯地融合在一起。Freedom Studio提供基于Eclipse的IDE以及提供为您选择的操作系统所预先构建的所有必要工具链和实用程序。作为2019年第二季度更新的一部分,SiFive开发了一键访问Freedom E SDK新项目向导。 

使用包含32位和64位目标的基于QEMU的仿真器,为SiFive设备编写代码变得非常简单。无论是针对核心IP、FPGA还是开发板的目的,Freedom Studio均可提供给您基于SiFive设备进行软件开发的一站式下载,SiFive可以从Github上的Freedom Tools存储库中的源代码访问所有工具链和实用程序,以及所有必需的构建脚本。。

对于2019年第二季度的工程技术更新,SiFive专注于终端用户和开箱即用的体验,这使得面向SiFive产品的软件受到了广泛关注。2019年第二季度软件更新将带来了出色的用户体验,与此同时也会有助于我们的合作伙伴推出一系列出类拔萃的产品!

返回