GithubHelp home page GithubHelp logo

Run LiteX on ArtyA7 about 2d-gpu HOT 17 OPEN

kmezynski avatar kmezynski commented on July 25, 2024
Run LiteX on ArtyA7

from 2d-gpu.

Comments (17)

kgugala avatar kgugala commented on July 25, 2024 1

@kmezynski the problem you have means that xc3sprog couldn't access the USB <-> serial converter on the board. This can be caused by many things:

  1. insufficient privileges (try sudo)
  2. the board was not connected (e.g. cable is bad). Try lsusb and check if you can see the board
  3. if you're using a virtual machine the USB device has to be forwarded to VM

as for the next steps there are a few things:

  1. run a system with video output (@rw1nkler please provide info about it)
  2. add simple GPIO controller to the system (to figure out how to do it)
  3. proceed with DMA integration

from 2d-gpu.

rw1nkler avatar rw1nkler commented on July 25, 2024 1

I've sent you e-mails about the next meeting

from 2d-gpu.

kmezynski avatar kmezynski commented on July 25, 2024

We're ready for further instructions. We both managed to compile LiteX on Arty.
I couldn't only upload the bitstream via xc3sprog to ArtyA7 board. I got following error:

xc3sprog -c nexys4 top.bit
...
Could not open FTDI device (using libftdi): unable to fetch product description
Unable to access FTDI device with either libftdi or FTD2XX

@kacperchmiel97 was successful at this point.
We suspect problem is related to hardware... either board or my PC

from 2d-gpu.

rw1nkler avatar rw1nkler commented on July 25, 2024

Hey, here you can find the repositories which will help you to prepare bitstream and Linux binaries with framebuffer support. This will allow you to observe the framebuffer memory on your screen - You should observe small penguin icon on your monitor if you connect it to the HDMI port of your expansion board

https://github.com/antmicro/linux-on-litex-vexriscv-build

  1. First, you should follow the instructions from: (install direnv, invoke make init)
    https://github.com/antmicro/linux-on-litex-vexriscv-build/blob/master/README.md

  2. Next, you can apply the patches for LiteX repositories, with the expansion board support:
    https://github.com/antmicro/linux-on-litex-vexriscv-build/tree/master/patches/arty_hdmi_expansion_board

from 2d-gpu.

kmezynski avatar kmezynski commented on July 25, 2024

@kgugala Thank you for help, sudo worked perfectly!

from 2d-gpu.

rw1nkler avatar rw1nkler commented on July 25, 2024

Hey, what is the progress in this task? Have you managed to run the LiteX with Linux and framebuffer?

from 2d-gpu.

kmezynski avatar kmezynski commented on July 25, 2024

@rw1nkler He've realised we hadn't picked up HDMI extension boards, could we arrange meeting?
On the other hand we managed to control GPIO, however we still have doubts about it and DMA. Some video conference would be kindly appreciated.

from 2d-gpu.

rw1nkler avatar rw1nkler commented on July 25, 2024

Have you run this HDMI example on the board?

from 2d-gpu.

kacperchmiel97 avatar kacperchmiel97 commented on July 25, 2024

We have a few questions regarding the DMA integration and GPIO - would it be possible to arrange a short meeting?

from 2d-gpu.

kgugala avatar kgugala commented on July 25, 2024

Sure we can. In #13 (comment) proposed a date. Can we all meet then?

from 2d-gpu.

kmezynski avatar kmezynski commented on July 25, 2024

@rw1nkler @kgugala I managed to upload the bitstream according to the instruction described in repo. Unfortunately my monitor doesn't see HDMI signal from ArtyA7 extension board. Am I missing something? Details of my progress:

  • Before compiling litex I found these python packages were necessary to run make br/all command:
pip install git+https://github.com/litex-hub/pythondata-cpu-vexriscv.git
pip install git+https://github.com/litex-hub/pythondata-software-compiler_rt.git

To do so, python >=3.5 has to be set as default

sudo apt-get install python
sudo apt-get install python3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
python --version
  • I've installed TFTP server according to this website.

  • I've changed PC IP address to 10.0.0.1/24
    ifconfig enp0s3 10.0.0.1/24

  • Suprisingly I had to install OpenOCD manually
    sudo apt-get install openocd

  • I changed ttyUSB0 and ttyUSB1 permission to read and write for other groups (must be repeated after reconnecting the board)
    sudo chmod o+rw /dev/ttyUSB0 /dev/ttyUSB1

from 2d-gpu.

kgugala avatar kgugala commented on July 25, 2024

did Linux on LiteX boot correctly?

from 2d-gpu.

kmezynski avatar kmezynski commented on July 25, 2024

@kgugala I had no errors during the whole process.

from 2d-gpu.

kgugala avatar kgugala commented on July 25, 2024

do you have any other display to test on?

from 2d-gpu.

kmezynski avatar kmezynski commented on July 25, 2024

@kgugala I don't have. I've checked both working HDMI ports on my monitor.

from 2d-gpu.

rw1nkler avatar rw1nkler commented on July 25, 2024

Please paste here the Linux booting log. You should have there information about framebuffer driver:

simple-framebuffer c8000000.framebuffer: framebuffer at 0xc8000000, 0x7e9000 bytes, mapped to 0x(ptrval)

from 2d-gpu.

kmezynski avatar kmezynski commented on July 25, 2024

@rw1nkler After make apply-patches from repo I got following errors:

error: patch failed: litex/boards/platforms/arty.py:255
error: litex/boards/platforms/arty.py: patch does not apply
error: patch failed: litex/boards/targets/arty.py:28
error: litex/boards/targets/arty.py: patch does not apply

from 2d-gpu.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.