zephray / VerilogBoy

A Pi emulating a GameBoy sounds cheap. What about an FPGA?
https://hackaday.io/project/57660-verilogboy
Other
452 stars 56 forks source link

Documentation needed on installing dependencies #19

Open ggsubs opened 5 years ago

ggsubs commented 5 years ago

INSTALL.md:

Getting the dependencies to build the firmware (arm-none-eabi-gcc, arm-none-eabi-newlib) and not documented when targeting Pano G1. Listing the version tested with, and the source would be great.

Not clear which Picorv32 toolchain is needed from https://github.com/cliffordwolf/picorv32

zephray commented 5 years ago

Currently pano-g1 target is not fully working. INSTALL.md is going to be replaced by building instructions located in target folders. I have been working on new documents but that would take some time. I am also going back and forth between different PicoRV32 toolchains, balancing code size and core size. Currently RV32IC, but might change in the future.

ggsubs commented 5 years ago

Great, thanks, will wait. One particular concern the ISE 14.7 Linux VM comes with the aging Oracle EL6 version, and when it's upgraded even within EL6 it breaks the iMPACT USB drivers. At the same time gcc 4.7 required by the rv32 newlib installers.

zephray commented 5 years ago

Yes, that's true. I am using Ubuntu 18.04 LTS + ISE 14.7 WebPACK. There are tutorials online about how to do this, and I managed to get it half working: The iMPACT USB driver only works when I login as root, sudo or su doesn't help. And the iMPACT sometimes refuse to reload the bitstream unless I restart the iMPACT. Probably the best setup would still be Windows 7 + ISE 14.7 WebPACK + Any modern Linux VM. (Note: The ISE 14.7 for Windows 10 (bundled with Linux VM) doesn't support Spartan-3 on Pano Logic G1s so it could not be used.)

tomverbeure commented 5 years ago

Not clear which Picorv32 toolchain is needed from https://github.com/cliffordwolf/picorv32

FWIW: I just compile all versions. It only takes ~180MB per version.

Tom

ggsubs commented 5 years ago

Succeeded building the fw on Ubuntu 16.04. Only when building the versions separately, one by one: make -j$(nproc) build-riscv32i-tools make -j$(nproc) build-riscv32ic-tools make -j$(nproc) build-riscv32im-tools make -j$(nproc) build-riscv32imc-tools Also great instructions on the serial cable: https://github.com/casper-astro/mlib_devel/wiki/How-to-install-Xilinx-ISE No need for tweaking, iMPACT runs stable under regular ise user

zephray commented 5 years ago

Good to hear you have got it to compile. I tried that instruction, it didn't work for me under 18.04. I also tried another instruction for 18.04, with few changes, didn't work under regular user either. I think it has something to do with usb device permissions, during to process of installing the driver in the instruction, it does add the vid/pid pair of Xilinx Platform Cable into a whitelist. I am using a Digilent HS cable, which is, probably not even supported by that driver. I am just glad the Digilent driver comes with ISE 14.7 still works under root privilege.