This repo is meant to provide a VP solution for the Pulpissimo chip to quickly develop & test SW. Initially this is forked from TGC-VP project in VP-Vibes.
-
you need to have a C++14 capable compiler, make, python, and cmake installed
-
install conan.io (see also http://docs.conan.io/en/latest/installation.html):
pip3 install --user conan==1.59.0
It is advised to use conan version 1.5x or newer. In case of an older version please run
pip3 install --user --upgrade conan
Installing conan for the first time you need to create a profile:
conan profile create default --detect
-
checkout source from git
git clone --recursive https://github.com/VP-Vibes/Pulpissimo-VP
-
start an out-of-source build:
cd Pulpissimo-VP/ # for Pulpissimo-VP simulation specific changes to `dbt-rise-tgc` submodule, we have to apply a patch cd tgc-iss/dbt-rise-tgc/src/sysc/ patch < /Pulpissimo-VP/core_complex.patch cd ../../../../ # now we can build VP cmake -B build/ -S . -DCMAKE_BUILD_TYPE=Release cmake --build build/ --target tgc-vp -- -j4
-
run the VP with pre-built firmware [TODO]
To rebuild the firmware you need to install a RISC-V toolchain like https://github.com/riscv/riscv-tools.
TODO
-
uDMA configuration regs
-
clean up TGC-VP stuff (models, target-SW)
-
SPI-M model in UDMA subsystem
-
I2S model in UDMA subsystem
-
report issue with standalone RDL generator that includes duplicated headers (i2c_channel.h for UDMA) default values? read/write masks? trailing #endif?
-
modification in generated source -> RDL files
-
merge to main/master
-
core-complex patch (i. break in wfi_evt ii. redirect udma::interrupt peripheral mapped calls)
-
use VPVibes::vpvper as submodule
-
rest of SoC peripherals and support
-
testing via FreeRTOS apps
-
is there something useful to merge from Trax-VP (private minres space)?