Mudancas Recentes - Buscar:

Principal

 Objetivos  
 Ementa  
 Livros 

OAC

LOAC

Professores:

  JOSEANA
  ELMAR

CONTATO

CRÉDITOS

editar



Como simular em seu PC em casa

Instalar a toolchain do RISC-V

Para Ubuntu 17.10, faça download deste script e como root dê os comandos:
chmod +x install_tools_riscv_ubuntu.sh
./install_tools_riscv_ubuntu.sh

Para outros sistemas operacionais segue o passo-a-passo.

Em CentOS:
yum install autoconf automake libmpc-devel mpfr-devel gmp-devel gawk  bison flex texinfo patchutils boost-devel
yum install git dtc gcc gcc-c++ zlib-devel expat-devel
Em Ubuntu:
sudo apt-get install make gcc g++ libpng-dev zlib1g-dev libz-dev texinfo git gawk flex bison libfl-dev libboost-all-dev
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential
sudo apt-get install bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev device-tree-compiler
Em Ubuntu 18.04, faça download deste arquivo de 494MB com a toolchain já compilada.
Em Ubuntu 20.04, faça download deste arquivo de 553MB com a toolchain já compilada.
Em Ubuntu 21.04, faça download deste arquivo de 542 MB com a toolchain já compilada.
instale o arquivo num local da sua escolha, por exemplo
sudo mv Downloads/riscv_ubuntu*.sfs /opt/riscv.sfs
mounte ele
sudo mkdir /usr/local/riscv; sudo mount /opt/riscv.sfs /usr/local/riscv
alternativamente, ou em caso de outra versão de Ubuntu, procede com a compilação da toolchain.
Em Windows (em teste ), instale Msys2 e abre um shell mingw64:
pacman -S autoconf automake curl gawk bison flex texinfo gperf libtool patchutils bc pkg-config libexpat-devel
pacman -S dtc mingw-w64-x86_64-python-bcrypt mpfr-devel gmp-devel gcc zlib-devel make mingw-w64-x86_64-toolchain
msys2-runtime-devel 
para riscv-pk.
* antes do make install tem que fazer nano Makefile e retirar o $(DESTDIR)/ antes do $(prefix) do INSTALLDIR
Até agora só funciona compilador C e assembler, simulador spike não. Recomendamos o uso do simulador web.

Continue para todos os sistemas operacionais:

Como usuário (neste exemplo uso como nome de usuário "voce"), faça:
export RISCV=/usr/local/riscv
sudo mkdir -p $RISCV
sudo chown voce $RISCV
export PATH=$PATH:$RISCV/bin 
Dê a seguinte sequencia de comandos:
git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
cd riscv-gnu-toolchain
mkdir build && cd build
../configure --prefix=$RISCV --with-arch=rv32i --with-abi=ilp32
make

cd ../..
git clone https://github.com/riscv/riscv-pk.git
cd riscv-pk
mkdir build && cd build
../configure --prefix=$RISCV --with-arch=rv32i --host=riscv32-unknown-elf --target=riscv32-unknown-elf
make
make install

cd ../..
git clone https://github.com/riscv/riscv-isa-sim.git
cd riscv-isa-sim
rm -rf build && mkdir build && cd build
../configure --prefix=$RISCV --with-isa=rv32i --target=riscv32-unknown-elf --with-target=riscv32-unknown-elf --enable-histogram
make
make install
cd ../..

Crie o seguinte arquivo chamado $RISCV/link.ld:

OUTPUT_ARCH( "riscv" )
ENTRY( main )
SECTIONS
{
/* text: test code section */
. = 0x80000000;
.text :
{
*(.text)
}
/* data: Initialized data segment */
.data :
{
*(.data)
}
/* End of uninitalized data segement */
_end = .;
}

Agora a toolchain está instalada.

Preparar o seu diretório de trabalho

Em cada sessão na qual você quer usar a toolchain, verifique se a toolchain está no seu PATH, se não faça:
export RISCV=/usr/local/riscv
export PATH=$PATH:$RISCV/bin

Para quem quiser que a variável RISCV esteja disponível para todas as sessões de shell do usuário, basta adicionar no arquivo ~/.bashrc (de preferência no final) com um editor de texto qualquer, como o vim, as duas linhas acima.

Instalação adicional para o simulador FPGA de Ícaro

(Simulador de Ícaro )

Para Ubuntu 18.04, faça download do arquivo RISCV_sim

Para Ubuntu 19.04, faça download do arquivo RISCV_sim

Para Ubuntu 19.10, faça download do arquivo RISCV_sim

Para Ubuntu 20.04, faça download do arquivo RISCV_sim

Para Ubuntu 21.04, faça download do arquivo RISCV_sim

e dê o comando
chmod +x RISCV_sim

Executar o compilador e assembler

Segue as explicações deste link

© 2008 Profs. Elmar Melcher e Joseana Fechine. Monitores: Sergio Espinola e Fabricio Lelis - DSC/UFCG
Modificada em September 27, 2021, at 09:09 AM