Shakti C 参考平台(shakti_c)

Shakti C 参考平台是基于 Arty A7 100T、面向 Shakti SoC 的参考平台。

Shakti SoC 基于 Shakti C-class 处理器核心。Shakti C 是一个 64 位 RV64GCSUN 处理器核心。

关于 Shakti SoC 的更多详情,请参见: https://gitlab.com/shaktiproject/cores/shakti-soc/-/blob/master/fpga/boards/artya7-100t/c-class/README.rst

关于 Shakti C-class 核心的更多信息,请参见: https://c-class.readthedocs.io/en/latest/

支持的设备

shakti_c 机器支持以下设备:

  • 一个 C-class 核心

  • 核心级中断器(CLINT)

  • 平台级中断控制器(PLIC)

  • 一个 UART

启动选项

shakti_c 机器可使用标准 -bios 功能加载裸机应用或 OpenSBI 并启动。

启动机器

Shakti SDK

可以使用 Shakti SDK 生成裸机 UART 示例应用。

$ git clone https://gitlab.com/behindbytes/shakti-sdk.git
$ cd shakti-sdk
$ make software PROGRAM=loopback TARGET=artix7_100t
二进制文件将生成在:

software/examples/uart_applns/loopback/output/loopback.shakti

也可以使用以下命令下载预编译的示例应用。

$ wget -c https://gitlab.com/behindbytes/shakti-binaries/-/raw/master/sdk/shakti_sdk_qemu.zip
$ unzip shakti_sdk_qemu.zip

随后可以使用以下命令运行 UART 示例:

$ qemu-system-riscv64 -M shakti_c -nographic \
   -bios path/to/shakti_sdk_qemu/loopback.shakti

OpenSBI

也可以运行带测试载荷的 OpenSBI。

$ git clone https://github.com/riscv/opensbi.git -b v0.9
$ cd opensbi
$ wget -c https://gitlab.com/behindbytes/shakti-binaries/-/raw/master/dts/shakti.dtb
$ export CROSS_COMPILE=riscv64-unknown-elf-
$ export FW_FDT_PATH=./shakti.dtb
$ make PLATFORM=generic

fw_payload.elf 将生成在 build/platform/generic/firmware/fw_payload.elf。使用以下 QEMU 命令启动:

$ qemu-system-riscv64 -M shakti_c -nographic \
   -bios path/to/fw_payload.elf