All Projects → pulp-platform → Ariane Sdk

pulp-platform / Ariane Sdk

Ariane SDK containing RISC-V tools and Buildroot

Labels

Projects that are alternatives of or similar to Ariane Sdk

Stanford Drupal Profile
A dev / test-only version of the Drupal Hosting Service Configuration
Stars: ✭ 13 (-53.57%)
Mutual labels:  makefile
Android device samsung toroplus
Stars: ✭ 15 (-46.43%)
Mutual labels:  makefile
Vault Auth Plugin Example
An example @HashiCorp Vault auth plugin
Stars: ✭ 27 (-3.57%)
Mutual labels:  makefile
Slugrunner
Buildpack application runner for Deis Workflow.
Stars: ✭ 14 (-50%)
Mutual labels:  makefile
Codk A
Stars: ✭ 15 (-46.43%)
Mutual labels:  makefile
Android Audioplayer
An AudioPlayer For Android Platform
Stars: ✭ 16 (-42.86%)
Mutual labels:  makefile
Ferret
Ferret is a free software lisp implementation for real time embedded control systems.
Stars: ✭ 878 (+3035.71%)
Mutual labels:  makefile
Ansible Environment
Ansible role which adds /etc/environment variables
Stars: ✭ 27 (-3.57%)
Mutual labels:  makefile
Ris
a simple cross-platform resource compiler for c++ projects
Stars: ✭ 15 (-46.43%)
Mutual labels:  makefile
Bashmultitool
A library for bash shell program containing useful functions. Can be imported into scripts to create colourful and functional scripts and TUIs.
Stars: ✭ 27 (-3.57%)
Mutual labels:  makefile
Fdgw2
Build minimal NetBSD bootable disk image
Stars: ✭ 14 (-50%)
Mutual labels:  makefile
Android device huawei next
LineageOS device tree for the Huawei Mate 8 - [Unmaintained]
Stars: ✭ 15 (-46.43%)
Mutual labels:  makefile
Hubot Slack Docker
Docker container running Github Hubot.
Stars: ✭ 21 (-25%)
Mutual labels:  makefile
Cocos2d Lua Sproto
cocos2d-lua集成sproto协议
Stars: ✭ 14 (-50%)
Mutual labels:  makefile
Mvvm C Templates
Templates for MVVM-C architecture
Stars: ✭ 27 (-3.57%)
Mutual labels:  makefile
Xsensors
a fork of Xsensors with various improvements (GTK3, cleanup, bugfixes, enhancements)
Stars: ✭ 13 (-53.57%)
Mutual labels:  makefile
Openpht
OpenPHT for AML
Stars: ✭ 20 (-28.57%)
Mutual labels:  makefile
Jmap
JSON Meta Application Protocol Specification (JMAP)
Stars: ✭ 942 (+3264.29%)
Mutual labels:  makefile
Qubes Roadmap
High-level milestone planning for Qubes OS
Stars: ✭ 27 (-3.57%)
Mutual labels:  makefile
Node Tab
Unix-style tables for command-line utilities
Stars: ✭ 21 (-25%)
Mutual labels:  makefile

Ariane SDK

This repository houses a set of RISCV tools for the ariane core. It contains some small modifications to the official riscv-tools. Most importantly it does not contain openOCD.

Included tools:

  • Spike, the ISA simulator
  • riscv-tests, a battery of ISA-level tests
  • riscv-pk, which contains bbl, a boot loader for Linux and similar OS kernels, and pk, a proxy kernel that services system calls for a target-machine application by forwarding them to the host machine
  • riscv-fesvr, the host side of a simulation tether that services system calls on behalf of a target machine
  • riscv-gnu-toolchain, the cross compilation toolchain for riscv targets

Quickstart

Requirements Ubuntu:

$ sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev libusb-1.0-0-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev device-tree-compiler pkg-config libexpat-dev

Requirements Fedora:

$ sudo dnf install autoconf automake @development-tools curl dtc libmpc-devel mpfr-devel gmp-devel libusb-devel gawk gcc-c++ bison flex texinfo gperf libtool patchutils bc zlib-devel expat-devel

Then install the tools with

$ git submodule update --init --recursive
$ export RISCV=/path/to/install/riscv/toolchain # default: ./install
$ make all

Environment Variables

Add $RISCV/bin to your path in order to later make use of the installed tools and permanently export $RISCV.

Example for .bashrc or .zshrc:

$ export RISCV=/opt/riscv
$ export PATH=$PATH:$RISCV/bin

Linux

You can also build a compatible linux image with bbl that boots linux on the ariane fpga mapping:

$ make vmlinux # make only the vmlinux image
# outputs a vmlinux file in the top directory
$ make bbl.bin # generate the entire bootable image
# outputs bbl and bbl.bin

Booting from an SD card

The bootloader of ariane requires a GPT partition table so you first have to create one with gdisk.

$ sudo fdisk -l # search for the corresponding disk label (e.g. /dev/sdb)
$ sudo sgdisk --clear --new=1:2048:67583 --new=2 --typecode=1:3000 --typecode=2:8300 /dev/sdb # create a new gpt partition table and two partitions: 1st partition: 32mb (ONIE boot), second partition: rest (Linux root)

Now you have to compile the linux kernel:

$ make bbl.bin # generate the entire bootable image

Then the bbl+linux kernel image can get copied to the sd card with dd. Careful: use the same disk label that you found before with fdisk -l but with a 1 in the end, e.g. /dev/sdb -> /dev/sdb1.

$ sudo dd if=bbl.bin of=/dev/sdb1 status=progress oflag=sync bs=1M

OpenOCD - Optional

If you really need and want to debug on an FPGA/ASIC target the installation instructions are here.

Ethernet SSH

This patch incorporates an overlay to overcome the painful delay in generating public/private key pairs on the target (which happens every time because the root filing system is volatile). Do not use these keys on more than one device. Likewise it also incorporates a script (rootfs/etc/init.d/S40fixup) which replaces the MAC address with a valid Digilent value. This should be replaced by the unique value on the back of the Genesys2 board if more than one device is used on the same VLAN. Needless to say both of these values would need regenerating for anything other than development use.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].