Learn with SHAKTI

Using Arty-7 100T with SHAKTI-SDK


STEP 1: Setting up the SHAKTI-SDK


1. Download the SHAKTI-SDK repository

2. Open a new terminal and Run the following commands to verify the SHAKTI-TOOLS Installation :

3. Please ensure Arty-7 100t board connected to the system using the microUSB cable, is up and running.

Board connected to system

STEP 2: Write a simple C program to print Hello world


1. The device required is UART. Move inside the uart_applns folder under shakti-sdk

2. Create a folder first under uart_applns.

3. Open a file in text editor and Copy paste the below content in it and save it as first.c under uart_applns/first folder.


STEP 3: Compile


To compile programs more efficiently, GNU’s make utility is used. This is useful when we need to include several source files and header files in our application.

To use the make utility, a Makefile is needed. The Makefile includes the commands to compile and link a program and generate the required executables.

It has support for different target boards and applications. SHAKTI-SDK hosts the Makefiles to support development in Arty-7 boards.

For the application "first", Please follow the below steps:
  1. Copy and paste the Makefile from hello folder to first folder.
  2. Make a new entry for the application in the ’existing Makefile’ under examples folder.
make help:

It lists the possible commands supported in the Makefile.


STEP 4: Build


1. Move inside the shakti-sdk folder and compile the first.c created under uart_applns for shakti-sdk.

  • Note: first.shakti, which is the executable required for SHAKTI is generated under shakti-sdk/software/examples/uart_applns/first/output.

STEP 5: Execution


The Arty-7 100T board is programmed with SHAKTI C class SoC. Please ensure Arty-7 100T board is connected to the the Host PC.

The following steps list out the actions to be taken,

If you face any error while running any command, Please refer FAQ section.

  • TERMINAL 1: Open a serial port in this terminal, Here the output of the C program is displayed.

    Note: "/dev/ttyUSB0" - ttyUSB means "USB serial port adapter" and the "0" ( "0" or "1" or "2") is the USB device number to which the board is connected and 19200 is the default baud rate.

  • TERMINAL 2: Open a new terminal and move to shakti-sdk folder. Here, run OpenOCD with the ftdi.cfg.

  • TERMINAL 3: Open a new terminal and move to shakti-sdk folder. Now start the gdb debugging session by running below command. What are the most used RISC-V GDB Commands?

  • Switch to TERMINAL 1 to view the output of the C program.