본문 바로가기

RISC-V

[RISCV] Toolchain Install

반응형

RISC-V의 툴체인은 GCC를 비롯한 일련의 S/W 를 말한다. 

 

RISC-V 를 사용하기 위해서는 이 툴체인이 설치되어야 하며, 

 

아래가 공식 툴체인이다. 

https://github.com/riscv/riscv-gnu-toolchain  

 

그리고  물론 LLVM도 최신 버젼에서 riscv를 지원하때문에 , gcc대신에 LLVM으로 사용도 가능하다. 

하지만, 현재 인터넷에 널려있는 자료들이 대부분 gnu gcc기준으로 작성되어 있기떄문에, 

gnu gcc로 어느정도 툴을 익히고 llvm등을 사용하는게 좋을듯 하다. 

 

gcc 전체를 만드는 것은 컴파일 하는데 꽤 시간이 오래 걸리기때문에, 

OS별로 pre-compile  해놓은 버젼도 있다.  잘 안되면 이 버젼을 그냥 가져다 쓰는 것도 나쁘지 않다. 

 

그리고 gcc도 modern c++지원하면서 버젼이 빠르게 올라가고 있고

또, 이와 관련된 라이브러리 버젼 문제들이 복잡하게 얽혀있어서,. 

 

우분투와 같은 패키지 시스템이 잘 갖춰진 머신을 사용하는게 좋다. 

별도의 리눅스 시스템이 없는 사람.. 특히 윈도우 사용자는 WSL이 구세주이다.

저 패키지들을 윈도우에서 하나하나 설치하는것은 사실 어렵고, 

윈도우의 WSL위에 ubuntu를 올려서 동일하게 테스트 해볼수 있다. 

 

이 글은 Window WSL기준으로 RISC-V를 설치하는 것을 작성하였다. 

아래 설치는 버젼에 따라서 조금씩 달라질수 있으므로 github원본 페이지에서 확인

 

아래와 같이 riscv-gnu-toolchain을 다운 받는다. 

$ git clone https://github.com/riscv/riscv-gnu-toolchain

# 아래와 같이 관련 패키지들을 일괄적으로 설치한다. 
$ sudo apt-get install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev

 

이 다음에 newlib등을 설치해야한다. 원페이지에 있는대로 실행. 

 

그리고 risc-v는 대부분 패키지가 아니라 직접 컴파일을 하기 때문에 아래와 같은 형태로 compile및 install을 하게 된다. 

prefix는 보통 설치할 디렉토리를 지정한다. risc-v 문서들 보면 /opt/riscv 를 이 기본 저장소로 쓰고 있기때문에 동일하게 따라가면 좋으나 local 설치시에는 이 위치를 바꾸면 된다. 

export RISCV=/opt/riscv/
./configure --prefix=$RISCV
make -j `nproc` # core 개수만큼 multithread로 수행
sudo make install

 

 toolchain install은 c컴파일러는 만드는 과정이기 때문에 순차적으로 컴파일 하면, 시간이 꽤 오래걸린다. 

make -j 명령어로 최대한 parallel수행하는것이 유리다. 

 

그리고 어떤 종류의 명령어셋을 사용하는 machine에 따라서, 

compiler도 달라져야 하므로 이런것 주의해서 확인할 필요가 있다. 

 

기본적으로 risc-v toolchain은 64bit 가 default로 사용하나. risc-v 마켓 포지션상 32bit도 많이 사용하므로 이것 구분해서 설치해야한다. 

반응형

'RISC-V' 카테고리의 다른 글

[RISCV] Tang nano로 Hello RISC-V  (0) 2022.06.08
[RISCV] Chisel  (1) 2022.06.04
[RISCV] Tang nano 9K  (0) 2022.05.29