shakti-c.rst (2275B)
1 Shakti C Reference Platform (``shakti_c``) 2 ========================================== 3 4 Shakti C Reference Platform is a reference platform based on arty a7 100t 5 for the Shakti SoC. 6 7 Shakti SoC is a SoC based on the Shakti C-class processor core. Shakti C 8 is a 64bit RV64GCSUN processor core. 9 10 For more details on Shakti SoC, please see: 11 https://gitlab.com/shaktiproject/cores/shakti-soc/-/blob/master/fpga/boards/artya7-100t/c-class/README.rst 12 13 For more info on the Shakti C-class core, please see: 14 https://c-class.readthedocs.io/en/latest/ 15 16 Supported devices 17 ----------------- 18 19 The ``shakti_c`` machine supports the following devices: 20 21 * 1 C-class core 22 * Core Level Interruptor (CLINT) 23 * Platform-Level Interrupt Controller (PLIC) 24 * 1 UART 25 26 Boot options 27 ------------ 28 29 The ``shakti_c`` machine can start using the standard -bios 30 functionality for loading the baremetal application or opensbi. 31 32 Boot the machine 33 ---------------- 34 35 Shakti SDK 36 ~~~~~~~~~~ 37 Shakti SDK can be used to generate the baremetal example UART applications. 38 39 .. code-block:: bash 40 41 $ git clone https://gitlab.com/behindbytes/shakti-sdk.git 42 $ cd shakti-sdk 43 $ make software PROGRAM=loopback TARGET=artix7_100t 44 45 Binary would be generated in: 46 software/examples/uart_applns/loopback/output/loopback.shakti 47 48 You could also download the precompiled example applications using below 49 commands. 50 51 .. code-block:: bash 52 53 $ wget -c https://gitlab.com/behindbytes/shakti-binaries/-/raw/master/sdk/shakti_sdk_qemu.zip 54 $ unzip shakti_sdk_qemu.zip 55 56 Then we can run the UART example using: 57 58 .. code-block:: bash 59 60 $ qemu-system-riscv64 -M shakti_c -nographic \ 61 -bios path/to/shakti_sdk_qemu/loopback.shakti 62 63 OpenSBI 64 ~~~~~~~ 65 We can also run OpenSBI with Test Payload. 66 67 .. code-block:: bash 68 69 $ git clone https://github.com/riscv/opensbi.git -b v0.9 70 $ cd opensbi 71 $ wget -c https://gitlab.com/behindbytes/shakti-binaries/-/raw/master/dts/shakti.dtb 72 $ export CROSS_COMPILE=riscv64-unknown-elf- 73 $ export FW_FDT_PATH=./shakti.dtb 74 $ make PLATFORM=generic 75 76 fw_payload.elf would be generated in build/platform/generic/firmware/fw_payload.elf. 77 Boot it using the below qemu command. 78 79 .. code-block:: bash 80 81 $ qemu-system-riscv64 -M shakti_c -nographic \ 82 -bios path/to/fw_payload.elf