Skip to content

electronicvisions/oppulance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 

Repository files navigation

PPU toolchain

This repository contains build instructions for the PPU (Plasticity Processing Unit) toolchain. It is the toplevel repository of the compiler/linker toolchain consisting of

  • binutils-gdb: patched linker/assembler, gdb and object file helpers
  • gcc: patched C, C++ compiler and libstdc++
  • newlib: patched C library

How to build

Clone the repositories:

binutils-gdb@binutils-2_25-branch-nux
gcc@nux-on-gcc-4_9_4-release
newlib@master
oppulance@master

Each repository contains numbered build scripts in

repo/ci/*.sh

which are to be executed in the repository order above and in ascending number order inside a repository.

During build, a build folder will be created for each repository, namely

build_binutils
build_gcc
build_newlib
build_libstdc++

and an install folder for installation.

Usage of local build

Prepend PATH with install/bin and LD_LIBRARY_PATH with install/lib. For usage in singularity containers, SINGULARITYENV_PREPEND_PATH and SINGULARITYENV_LD_LIBRARY_PATH are to be set in the same way.

Usage once deployed

The toolchain is built and deployed by a continuous integration Jenkins job. Is can be loaded via

	module load ppu-toolchain

on either a frontend or cluster nodes.

Migrate from toolchain without operating system target (i.e. -eabi)

The operating system target is ppu and the architecture is powerpc, therefore the binaries will be named like:

powerpc-ppu-gcc
powerpc-ppu-nm

For linking the toolchain with libc and libstdc++ using waf, the ordered list of ['stdc++', 'c', 'm', 'g', 'gcc'] needs to be appended to conf.env.STLIB in the configure step of the wscript.

About

Compiler and low-level software toolchain for the BrainScaleS-2 embedded processor

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages