neorv32/README.md

205 lines
48 KiB
Markdown
Raw Normal View History

2024-02-24 08:22:30 +00:00
# neorv32
2024-02-27 23:53:49 +00:00
neorv32 with modiefied Makefiles, compatible with MSYS2 64 for cross compilatation on Windows and Linux.
2024-02-24 09:34:09 +00:00
2024-02-27 23:48:10 +00:00
# 1. Windows Installation, and test.
# 2. Linux Installation, and test.
2024-02-24 09:34:09 +00:00
2024-02-24 09:57:18 +00:00
## 1. Windows Installation
2024-02-24 08:36:08 +00:00
2024-02-24 09:34:09 +00:00
You must download the latest RISCV precompiled binaries for your platform from: https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/
in this case the architecture x64 for windows binaries(https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v13.2.0-2/xpack-riscv-none-elf-gcc-13.2.0-2-darwin-x64.tar.gz), then extract these under the folder C:\riscv_precompiled\
2024-02-28 00:05:51 +00:00
<span style="color:red">Note: if you change the location where you installed the RISCV precompiled binaries, you need to modify the line 42 of the of file common.mk, this will be explained further on this manual on the point number 8</span>.
<br>
2024-02-24 09:34:09 +00:00
<br>
<img src="data:image/png;base64,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
style="float: left; margin-right: 10px;" />
1. clone or download this repository on your windows machine.
```
$ git clone https://gitea.squirrelnut.synology.me:5001/FPGALover/neorv32
```
2024-02-24 08:36:08 +00:00
2. download and install MSYS2(msys2-x86_64-20240113.exe) --> https://www.msys2.org/
2024-02-24 09:34:09 +00:00
3. once MSYS2 is installed, run MSYS2, and run the command(pacman -S mingw-w64-ucrt-x86_64-gcc)
2024-02-24 08:36:08 +00:00
```
2024-02-24 09:34:09 +00:00
$ pacman -S mingw-w64-ucrt-x86_64-gcc
2024-02-24 08:36:08 +00:00
```
4. Select ALL dependencies by pressing Enter and select Y[yes].
2024-02-24 09:34:09 +00:00
```
resolving dependencies...
looking for conflicting packages...
Packages (15) mingw-w64-ucrt-x86_64-binutils-2.41-2
mingw-w64-ucrt-x86_64-crt-git-11.0.0.r216.gffe883434-1
mingw-w64-ucrt-x86_64-gcc-libs-13.2.0-2 mingw-w64-ucrt-x86_64-gmp-6.3.0-2
mingw-w64-ucrt-x86_64-headers-git-11.0.0.r216.gffe883434-1
mingw-w64-ucrt-x86_64-isl-0.26-1 mingw-w64-ucrt-x86_64-libiconv-1.17-3
mingw-w64-ucrt-x86_64-libwinpthread-git-11.0.0.r216.gffe883434-1
mingw-w64-ucrt-x86_64-mpc-1.3.1-2 mingw-w64-ucrt-x86_64-mpfr-4.2.1-2
mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-4
mingw-w64-ucrt-x86_64-winpthreads-git-11.0.0.r216.gffe883434-1
mingw-w64-ucrt-x86_64-zlib-1.3-1 mingw-w64-ucrt-x86_64-zstd-1.5.5-1
mingw-w64-ucrt-x86_64-gcc-13.2.0-2
Total Download Size: 49.38 MiB
Total Installed Size: 418.82 MiB
:: Proceed with installation? [Y/n]
[... downloading and installation continues ...]
```
2024-02-24 08:36:08 +00:00
5. after the installation is completed, add the *Path* *"C:\msys64\ucrt64\bin"* under the enviroments variable on Windows.
2024-02-24 09:34:09 +00:00
<br>
<img src="data:image/png;base64,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"
style="float: left; margin-right: 10px;" />
2024-02-24 08:36:08 +00:00
2024-02-24 09:34:09 +00:00
6. open a cmd and run the command (gcc --version)
2024-02-24 08:36:08 +00:00
```
2024-02-24 09:34:09 +00:00
$ gcc --version
gcc.exe (Rev2, Built by MSYS2 project) 13.2.0
2024-02-24 08:36:08 +00:00
```
2024-02-24 09:46:47 +00:00
7. go to the folder C:\msys64\ucrt64\bin make a copy of the file **mingw32-make.exe** and name it **make.exe**
<br>
<img src="data:image/png;base64,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"
style="float: left; margin-right: 10px;" />
2024-02-28 00:05:51 +00:00
2024-02-24 09:46:47 +00:00
8. go to the directory where you cloned or donwloaded this repository to the directory **neorv32\sw\example\demo_blink_led_asm**
```
$ cd neorv32\sw\example\demo_blink_led_asm
```
2024-02-28 00:05:51 +00:00
<span style="color:red">Note: if you changed the location of the precompiled RISCV binaries, you need to modify the file "neorv32\sw\common\common.mk" on the line # 42, otheris</span>.
```
...
# Compiler toolchain
RISCV_PREFIX = **<your directory to where you installed the prebuilt compiler>\riscv-none-elf-**
...
```
9. run the command **make all** (make sure all antivirus are disabled)
2024-02-24 09:46:47 +00:00
```
$ make all
2024-02-24 09:49:52 +00:00
"Memory utilization:"
text data bss dec hex filename
432 0 0 432 1b0 main.elf
"Generationg APP BIN"
"OK - APP BIN"
"Generationg APP IMG VHD"
"OK - APP IMG VHD"
"Generationg RAW HEX"
"OK - RAW HEX"
"Generationg RAW BIN"
"OK - RAW BIN"
"Generationg BOOT IMG VHD"
"OK - BOOT IMG VHD"
"Memories Generated"
2024-02-24 09:34:09 +00:00
2024-02-24 09:46:47 +00:00
```
2024-02-28 00:05:51 +00:00
10. list the generated files and you will see
2024-02-24 09:49:52 +00:00
```
$ ls -l
-rw-rw-rw- 1 adriz 0 6781 2024-02-24 01:45 main.asm
-rw-rw-rw- 1 adriz 0 432 2024-02-24 01:45 main.bin
-rw-rw-rw- 1 adriz 0 8708 2024-02-24 01:45 main.elf
-rw-rw-rw- 1 adriz 0 5456 2024-02-23 16:14 main.S
-rw-rw-rw- 1 adriz 0 2764 2024-02-24 01:45 main.S.o
-rw-rw-rw- 1 adriz 0 274 2024-02-24 01:16 makefile
-rw-rw-rw- 1 adriz 0 1882 2024-02-24 01:45 neorv32_application_image.vhd
-rw-rw-rw- 1 adriz 0 1878 2024-02-24 01:45 neorv32_bootloader_image.vhd
-rw-rw-rw- 1 adriz 0 444 2024-02-24 01:45 neorv32_exe.bin
-rw-rw-rw- 1 adriz 0 432 2024-02-24 01:45 neorv32_raw_exe.bin
-rw-rw-rw- 1 adriz 0 972 2024-02-24 01:45 neorv32_raw_exe.hex
```
2024-02-28 00:05:51 +00:00
11. you have been able to Assemble assembly code for the RISCV on windows.
12. go con the folder **neorv32\sw\example\demo_blink_led** which is the same example as the previous one but written on C code., and run the line "make all"
2024-02-24 09:55:28 +00:00
2024-02-27 23:48:10 +00:00
```
$ make all
"Memory utilization:"
text data bss dec hex filename
1092 0 0 1092 444 main.elf
"Generationg APP BIN"
"OK - APP BIN"
"Generationg APP IMG VHD"
"OK - APP IMG VHD"
"Generationg RAW HEX"
"OK - RAW HEX"
"Generationg RAW BIN"
"OK - RAW BIN"
"Generationg BOOT IMG VHD"
"OK - BOOT IMG VHD"
"Memories Generated"
```
2024-02-28 00:05:51 +00:00
13. now you have cross-compiled sucessfuly on windows for C and Assembly code.
14. if you go to the folder **neorv32\sw\example**, and run the command "make all" you will be able to build all the projects within this folder.
2024-02-27 23:48:10 +00:00
Enjoy!
2024-02-24 09:55:28 +00:00
2024-02-24 09:57:18 +00:00
## 2. Linux Installation
2024-02-24 09:55:28 +00:00
1. Open shell and run:
```
sudo apt-get update
sudo apt-get install autoconf automake autotools-dev curl python3 python3-pip libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev
git clone https://github.com/riscv/riscv-gnu-toolchain
cd riscv-gnu-toolchain/
mkdir build/
cd build
sudo mkdir /opt/riscv32im
sudo chown $USER /opt/riscv32im
./configure --with-arch=rv32im --prefix=/opt/riscv32im
make -j$(nproc)
```
2. clone this repository.
3. go to the directory where you cloned or donwloaded this repository to the directory **neorv32\sw\example\demo_blink_led_asm**
```
$ cd neorv32\sw\example\demo_blink_led
```
2024-02-28 00:05:51 +00:00
<span style="color:red">Note: if you changed the location of the RISCV compiler, you need to modify the file "neorv32\sw\common\common.mk" on the line # 448, otheris</span>.
```
...
# Compiler toolchain
RISCV_PREFIX = **<path where you installed your compiler under linux file system>/bin/riscv32-unknown-elf-**
...
```
2024-02-24 09:55:28 +00:00
4. run the command **make all**
```
$ make all
Memory utilization:
text data bss dec hex filename
1012 0 0 1012 3f4 main.elf
Executable (neorv32_exe.bin) size in bytes:
1024
Installing application image to ../../../rtl/core/neorv32_application_image.vhd
```
5. list the generated files and you will see
```
$ ls -l
-rw-r--r-- 1 adrizcorp adrizcorp 18160 Feb 24 01:54 main.asm
-rw-r--r-- 1 adrizcorp adrizcorp 1012 Feb 24 01:54 main.bin
-rw-r--r-- 1 adrizcorp adrizcorp 4314 Feb 23 15:08 main.c
-rw-r--r-- 1 adrizcorp adrizcorp 7696 Feb 24 01:54 main.c.o
-rwxr-xr-x 1 adrizcorp adrizcorp 42856 Feb 24 01:54 main.elf
-rw-r--r-- 1 adrizcorp adrizcorp 141 Feb 23 15:08 makefile
-rw-r--r-- 1 adrizcorp adrizcorp 3704 Feb 24 01:54 neorv32_application_image.vhd
-rw-r--r-- 1 adrizcorp adrizcorp 1024 Feb 24 01:54 neorv32_exe.bin
-rw-r--r-- 1 adrizcorp adrizcorp 1012 Feb 24 01:54 neorv32_raw_exe.bin
-rw-r--r-- 1 adrizcorp adrizcorp 2277 Feb 24 01:54 neorv32_raw_exe.hex
2024-02-24 10:10:44 +00:00
```
6. now you have been able to compile C code for the RISCV processor.
Enjoy!