Установка разбита на шаги. Если какое-то ПО из списка уже установлено на вашей машине, то можно попробовать пропустить его установку. Однако, если версия ПО не совпадает c указанной в заголовке, то автор не гарантирует его корректной работы в рамках данного курса.
Подразумевается, что репозиторий склонирован способом, который указан в разделе работа с репозиторием основого README, а также что вы на каждом этапе находитесь в корневой директории riscv-tests-basic
.
Устанавливаем общие зависимости:
sudo apt-get install git make gcc g++ python3 python3-pip \
libyaml-dev libpython2.7-dev -y
sudo pip install pathlib3x typeguard typing_utils
Определяем директорию установки:
export INSTALL_DIR=/usr/bin
Переходим в директорию и устанавливаем:
cd submodules/aapg-miriscv
sudo python3 setup.py install
sudo python3 setup.py install
Да, setup.py
действительно нужно выполнить дважды.
Переходим в директорию и устанавливаем зависимости:
cd submodules/riscv-gnu-toolchain
sudo apt-get install autoconf automake autotools-dev curl \
python3 python3-pip libmpc-dev libmpfr-dev libgmp-dev gawk \
build-essential bison flex texinfo gperf libtool patchutils bc \
zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev \
libslirp-dev -y
Создаем директорию сборки и переходим в нее:
mkdir build
cd build
Конфигурируем:
../configure --prefix=$INSTALL_DIR/riscv-gnu-toolchain \
--with-arch=rv32im_zicsr --with-abi=ilp32
Собираем и устанавливаем (в зависимости от мощности машины время сборки ~5-30 мин):
sudo make -j $(nproc)
Добавляем в PATH для всех рользователей:
echo "PATH=$INSTALL_DIR/riscv-gnu-toolchain/bin"':$PATH' | sudo tee -a /etc/profile
source /etc/profile
или текущего:
echo "PATH=$INSTALL_DIR/riscv-gnu-toolchain/bin"':$PATH' >> ~/.profile
source ~/.profile
Переходим в директорию и устанавливаем зависимости:
cd submodules/riscv-isa-sim
sudo apt-get install device-tree-compiler -y
Создаем директорию сборки и переходим в нее:
mkdir build
cd build
Конфигурируем:
../configure --prefix=$INSTALL_DIR/spike
Собираем:
sudo make -j $(nproc)
Устанавливаем:
sudo make install
Добавляем в PATH для всех рользователей:
echo "PATH=$INSTALL_DIR/spike/bin"':$PATH' | sudo tee -a /etc/profile
source /etc/profile
или текущего:
echo "PATH=$INSTALL_DIR/spike/bin"':$PATH' >> ~/.profile
source ~/.profile
Переходим в директорию и устанавливаем зависимости:
cd submodules/verilator
sudo apt-get install git help2man perl python3 make autoconf \
g++ flex bison ccache -y
sudo apt-get install libgoogle-perftools-dev numactl perl-doc -y
sudo apt-get install libfl2 -y # Ignore if gives error
sudo apt-get install libfl-dev -y # Ignore if gives error
sudo apt-get install zlibc zlib1g zlib1g-dev -y # Ignore if gives error
Конфигурируем:
autoconf
./configure --prefix=$INSTALL_DIR/verilator
Собираем:
sudo make -j $(nproc)
Устанавливаем:
sudo make install
Добавляем в PATH для всех рользователей:
echo "PATH=$INSTALL_DIR/verilator/bin"':$PATH' | sudo tee -a /etc/profile
source /etc/profile
или текущего:
echo "PATH=$INSTALL_DIR/verilator/bin"':$PATH' >> ~/.profile
source ~/.profile
Устанавливаем
sudo apt-get install gtkwave -y
После завершения установки необходимо перезапустить машину.