Simple runtime for Pulp platforms
Find a file
Corrado Bonfanti 18ab940220 Add AVS BUS support and basic test
* Add configuration register to set AVS mode
* Add connections to the SPI controller and txrx interface
* Set idle level of sdio[0] signal of SPI master to '1', according to
the AVS protocol
* Add SPI slave device capability to trigger an event for requesting a read from
master by driving low the MISO (SDATA for AVS) when AVS mode is set.
This happens during tx/rx idle phases
* Add basic Write commit/Read test with pulp-runtime. AVS slave is
simulated in tb_avs.sv and tb_avs_fpga.sv.
2022-02-10 20:03:42 +01:00
bin Add support for running from flash 2021-05-05 17:39:24 +02:00
configs pulp-runtime: Fix uart frequency and bad fll access 2021-11-04 17:47:57 +01:00
drivers Fix for setting frequency on fpga 2020-03-05 15:18:06 +01:00
include Add AVS BUS support and basic test 2022-02-10 20:03:42 +01:00
install/rules Added symbolic link for pulp_rt.mk 2019-12-19 14:40:05 +01:00
kernel pulp-runtime: Fix uart frequency and bad fll access 2021-11-04 17:47:57 +01:00
lib/libc/minimal Make access to reg volatile 2020-07-07 17:24:36 +00:00
rules pulp-runtime: Link vsim work dir into build dir 2021-11-09 08:49:15 +01:00
scripts Add pulptrace v0.1.1 script 2020-11-16 16:39:02 +01:00
README.md Added info about exmples 2020-01-14 17:19:46 +01:00

PULP runtime

About

This module is a simple runtime for the Pulp architecture.

Runtime build

You need to first install the Linux dependencies (see below).

Choose the configuration for which you want to compile the runtime, for example:

$ source configs/pulp.sh

Then you can get one of the pulp example, compile and run it.

Linux dependencies

Here are the required system dependencies for building the runtime and its dependencies.

Ubuntu 16.04

Starting from a fresh Ubuntu 16.04 distribution, here are the commands to be executed to get all required dependencies:

$ sudo apt install git python3-pip gawk texinfo libgmp-dev libmpfr-dev libmpc-dev
$ sudo pip3 install pyelftools

Dependencies

Build

Have a look at the dependencies documentation to see how to build them.

You can have a look here for the toolchain.

Setup

The toolchain must be built separately and the following environment variable should set:

$ export PATH=<path to the folder containing the bin folder of the toolchain>/bin:$PATH

RTL platforms should also be built separately (see the platform documentation for that) and the following environment variable must point to the folder where the platform was installed (this example is for pulpissimo):

$ export VSIM_PATH=<pulpissimo root folder>/sim

Examples

Some examples can be found here: git@github.com:pulp-platform/pulp-runtime-examples.git

Useful options

The vsim gui can be opened with this option:

$ make run gui=1

The uart can be selected for the printf with this option:

$ make all run io=uart

The baudrate can also be specified with:

$ make all run io=uart CONFIG_IO_UART_BAUDRATE=9600