Original work on https://github.com/pulp-platform/pulpino.git
PULPino is an open-source single-core microcontroller system, based on 32-bit RISC-V cores developed at ETH Zurich. PULPino is configurable to use either the RISCY or the zero-riscy core.
First to use PULPino, clone the repository:
$ git clone https://github.com/pulp-platform/pulpino.gitSecond you need update a ips files
$ python update-ips.pyNow we work in fpga folder to compile and change some files. In fpga/sw edit Makefile, in the line 16 change the git clone by git clone https://github.com/Xilinx/linux-xlnx.git, in the u-boot section line 38 change by git clone https://github.com/Xilinx/u-boot-xlnx.git and finally in line 71 change by git clone https://git.busybox.net/buildroot
Or clone the repository:
$ git clone https://github.com/franderg/PULPino.gitThis synthesis flow has been tested with Vivado 2015.1 and Debian 9 (Stretch)
In fpga folder:
-
Make sure you have the Vivado toolchain and the Xilinx SDK toolchain in your PATH before continuing.
-
Set the environment variable to select which core you want to synthesize.
setenv USE_ZERO_RISCY 1andsetenv ZERO_RV32M 1for zero-riscy, you need install csh program.apt install csh -
$ make all
It is possible depending on the version of GNU / Linux that vivado shows an error about awk and gmake, if so, it is solved by doing the following:
$ export LD_LIBRARY_PATH=”” awk $ ln -s /usr/bin/make /usr/bin/gmake -
Prepare the SD card and the ZedBoard for booting via SD card. To prepare the card, follow the Xilinx guide .
-
Copy the BOOT.BIN, uImage and devicetree.dtb files to the first partition of the SD card. Those files can be found inside the
fpga/sw/sd_imagefolder. -
Extract the content of the rootfs.tar archive and put it on the second partition of the SD card. You are ready now
-
Put the SD card into the ZedBoard and boot the system. You can use minicom (
apt install minicom) or any other terminal emulator tool to communicate withthe UART of the ZedBoard.$ minicom -D /dev/ttyACM0 -b 115200
And if you obtain a prompt indicating
zynq-uboot>, type inbootand login with root user.
