/petalinux_notes

Notes after working with Zynq platform using vivado and petalinux

Primary LanguageSystemVerilog

Petalinux notes

Petalinux notes i would love to see, when start to work with Xilinx Zynq-7000 Soc.

How to create petalinux project:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install gawk build-essential net-tools xterm autoconf libtool libtinfo5 texinfo zlib1g-dev gcc-multilib libncurses5-dev libncursesw5-dev zlib1g:i386

How to create Vivado peoject:

  • Follow this HDL repo.
    Using this you would be able to create a skeleton Vivado project for your board.
    Try to use TCL from start to be able to recreate your project from scratch.

Petalinux project notes:

  • If you got and error like below, while building project, you should clean up your project with petalinux-build -x mrproper.
    Sometimes it happened when you stop your build unexpectedly, update your XSA file and start build again.
     | ps7_init.c:7867:5: note: (near initialization for 'ps7_post_config_2_0[4]')
     | ps7_init.c:7880:5: error: initializer element is not constant
     |  7880 |     EMIT_WRITE(0XF8898FB0, 0xC5ACCE55U),
     |       |     ^~~~~~~~~~
     | ps7_init.c:7880:5: note: (near initialization for 'ps7_debug_2_0[0]')
     | ps7_init.c:7885:5: error: initializer element is not constant
     |  7885 |     EMIT_WRITE(0XF8899FB0, 0xC5ACCE55U),
     |       |     ^~~~~~~~~~
    

Xilinx DMA:

  • DMA is the way to communicate between logic and CPU.
    • This repo contains driver, user library, example applications.
    • This wiki describe how to use DMA in Vivado project, give one-file driver and user space application,
      much easier to read and to understand.
  • Check axis_example folder for simple examples of AXIS master.