Table of Contents
RISC-V 개발 시 유용한 웹사이트들을 정리해서 업로드 해둔다.
북마크에만 올려놓으면 나중에 안찾아볼 것 같아서 대충이라도 정리해서 올려둬야겠다.
1. RISC-V instruction Encoder/Decoder
rvcodec.js · RISC-V Instruction Encoder/Decoder
말 그대로 해당 웹사이트는 RISC-V instruction을 encoding, decoding 해주는 사이트이다.
예를 들어 아래와 같은 instruction을 작성했다고 치자.
lw t0, 0x18(t6)
해당 instruction을 사이트에 입력하면 Fig. 2와 같이 결과가 나온다.
Binary, hexadecimal 표현식 뿐만 아니라, 어떤 타입의 instruction인지 다양한 정보를 출력해준다.
반대로, 이 instruction에 대응되는 hexadecimal code인 0x018FA283을 입력하면 Fig.3 과 같이 decoding한 결과도 보여준다.
해당 사이트는 hexadecimal로 변환된 코드를 보면서 프로그램을 해석해야할 때 유용하게 쓸 수 있다.
2. RISC-V Online Assembler
두 번째 사이트는 온라인 상에서 컴파일을 해볼 수 있는 사이트이다.
Assembly 언어로 작성한 코드를 이용해 RTL 기반의 RISC-V 시뮬레이션을 돌리기 위해서는 이전에 작성한 포스팅을 참고하여 개발환경을 셋업해야 한다.
2025.01.07 - [코딩일지/RISC-V] - riscv-gnu-toolchain 설치 관련 기록
2025.01.08 - [코딩일지/RISC-V] - riscv-gnu-toolchain을 이용한 바이너리 -> hex code 변환 방법
지속적으로 개발을 해야 하는 사람이라면 필수적으로 해야하는 일이지만, 취미로 배우거나, 윈도우 환경의 PC밖에 없는 경우에는 매우 번거로울 것이다.
위 사이트에서는 어셈블리 코드 및 링커스크립트를 작성해서 온라인 상에서 컴파일 해 볼 수 있다.
해당 사이트에 접속하면 Fig. 4와 같이 샘플 코드들이 작성되어 있다.
어셈블리 코드나 링커스크립트를 작성해서 컴파일을 해보면 Fig. 5와 같이 결과가 출력된다.
Hexadecimal로 변환된 프로그램도 알려주기는 하지만, 해당 프로그램을 그대로 쓸 수는 없다.
Code section과 data section의 hexadecimal 코드를 따로 보여주기 때문에 주소가 안 맞는다..
어셈블리 코드가 hexadecimal 코드로 어떻게 변환되는지 대략적으로 보는 정도로만 사용하는 것이 좋고, 실제 RISC-V와 물려서 돌리기 위해서는 결국 riscv-gnu-toolchain을 설치하는 것이 좋긴 하다.
'코딩일지 > RISC-V' 카테고리의 다른 글
riscv-gnu-toolchain을 이용한 바이너리 -> hex code 변환 방법 (0) | 2025.01.08 |
---|---|
riscv-gnu-toolchain 설치 관련 기록 (0) | 2025.01.07 |
댓글