Learn with SHAKTI

Using Arty-7 100T with SHAKTI-SDK


STEP 1: Setting up the SHAKTI-SDK


1. Download the SHAKTI-SDK repository

2. Exporting the SHAKTI-SDK Path :

Export the SHAKTI-SDK Path to the PATH variable. This will help in using the toolchain everywhere in linux.

Note: Please put the above lines in .bashrc in home folder.

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

4. 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 Arty-7 100T board should be attached to the OpenOCD debugger, in order to debug your program using the RISC-V GNU Debugger (GDB) software.
  • Since we have built the application, already. We can straight away load it to the Arty-7 100T board and test.
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.

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