Changes

Jump to: navigation, search

Bare metal RISC-V GCC 9.3.0 cross compiler instructions

224 bytes removed, 12:49, 17 March 2020
m
== Get GCC, GDB and binutils ==
curl https://ftp.gnu.org/gnu/binutils/binutils-2.33.134.tar.gz | tar -C $HOME/src -xf - curl https://ftp.gnu.org/gnu/gdb/gdb-89.31.tar.gz | tar -C $HOME/src -xf - curl https://ftp.gnu.org/gnu/gcc/gcc-9.23.0/gcc-9.23.0.tar.gz | tar -C $HOME/src -xf - curl ftp://sourceware.org/pub/newlib/newlib-3.13.0.tar.gz | tar -C $HOME/src -xf -
== Download prerequisites ==
cd $HOME/src/gcc-9.23.0
./contrib/download_prerequisites
cd $HOME/obj/binutils-build
../../src/binutils-2.33.134/configure --prefix $HOME/riscv xgcc --bindir $HOME/bin --target riscv64-unknown-elf --enable-multilib
make -j8 && make install
cd $HOME/obj/gdb-build
../../src/gdb-89.31/configure --prefix $HOME/riscv xgcc --bindir $HOME/bin --target riscv64-unknown-elf --enable-multilib --with-python=/usr/local/bin/python3
make -j8 && make install
cd $HOME/obj/gcc-build
../../src/gcc-9.23.0/configure --prefix $HOME/riscv xgcc --bindir $HOME/bin --target riscv64-unknown-elf --enable-multilib --enable-languages=c --without-headers
make -j8 all-gcc && make install-gcc
cd $HOME/obj/newlib-build
../../src/newlib-3.13.0/configure --prefix $HOME/riscv xgcc --bindir $HOME/bin --target riscv64-unknown-elf --enable-multilib
make -j8 all && make install
rm -rf $HOME/obj/gcc-build && mkdir -p $HOME/obj/gcc-build
cd $HOME/obj/gcc-build
../../src/gcc-9.23.0/configure --prefix $HOME/riscv xgcc --bindir $HOME/bin --target riscv64-unknown-elf --enable-multilib --enable-languages=c --with-newlib
make -j8 all && make install
== Build and install riscv-openocd (optional) ==
cd $HOME/src
# brew install pkg-config libtool automake autoconf # required by bootstrap
./bootstrap
./configure --prefix=$HOME/riscv --bindir $HOME/bin--enable-remote-bitbang --enable-jtag_vpi
make -j8 && make install
 
== Add tools to PATH and set RISCV ==
 
printf 'PATH=$HOME/riscv/bin:$PATH\nRISCV=$HOME/riscv\nexport RISCV\n' >> $HOME/lib/profile.local
 
Also, if you have installed spike from a repository, you might want to symlink it into <code>RISCV/bin</code>.
 
ln -s /usr/local/bin/spike $HOME/riscv/bin/spike

Navigation menu