Customizing FSBL in PetaLinux 2018.3

By: Mohammad S. Sadri Last update: Aug-26-2019 Sometimes there are a set of tasks which should be done in system bring up as soon as possible. For example, when we are running PetaLinux on a ZYNQ ultrascale+ platform, typical boot time is around 5 to 10 seconds. Some times this is too late to wait for PetaLinux to come up completely to setup a part of the hardware. Indeed we want to setup some parts as soon as the bitstream is programmed into the PL. FSBL is usually a good place to run such early hardware setup codes. Here i…
Continue Reading »

Zynq Ultrascale+ and Petalinux – part 2 – Software setup and JTAG connectivity (Linux Virtualbox)

In this video I go through the process of installing Xilinx Vivado and PetaLinux on a virtual machine which is running Ubuntu. I briefly talk about Xilinx SmartLynq cable. I show how one can have JTAG connectivity to FPGA board (ZCU102) from within Virtualbox machine. Part 2 Video
Continue Reading »

Zynq Ultrascale+ and Petalinux – part 1 – introduction

This video covers the topics i want to talk about in the new series of videos i am creating. the main target device will be xilinx zynq ultrascale+. target board will be zcu102 and target operating system for ARM cores will be Petalinux. Part 1 Video
Continue Reading »

Vivado 2016.1 and 2016.2 on Ubuntu 16.04 64Bits

Here I share notes for running Vivado and SDK on Ubuntu on an x64 bit CPU. First of all, you will have to set a bunch of environment variables, I use this file that I have created myself. export LC_TIME= export LC_MONETARY= export LC_PAPER= export LC_NAME= export LC_ADDRESS= export LC_TELEPHONE= export LC_MEASUREMENT= export LC_IDENTIFICATION= export LC_NUMERIC= source /opt/Xilinx/ export SWT_GTK3=0 The last line is new in comparison with previous versions of ubuntu and that is for SDK eclipse to be able to run. Now you will need some i386 libraries so that you can compile your applications for the ZYNQ.…
Continue Reading »

use : green-electrons.com/ir

This is just a short notice for any one who wants to reach We have recently noticed that the server who is hosting is not really stable! So if it happened that you wanted to access the online store of green-electrons through and it did not work, then here is the other link: Thanks.
Continue Reading »

Comments on Parallela ZYNQ board

So the guys have created this marvelous looking board : Paralela the board! In this post, which I update gradually I will try to describe why using this board is not a correct decision! First look, the board is amazing ! 18 CPU cores, mind blowing! The thing they don't tell you is that 16 CPU cores on the Epiphany processor do NOT have direct access to the DRAM memory! Indeed this is why the ZYNQ is there, to act as a bridge between the DRAM-less epiphany and the DRAM memory. This introduced memory access latency for performing calculations on…
Continue Reading »

Lesson 13 – ZYNQ PL Reconfiguration

During this lesson we try to focus on the concept of reconfiguration. This feature in FPGA devices is extremely useful since it allows the user at each point in time to reconfigure his FPGA fabric according to the incoming workload and computational and interfacing constraints. First we focus a very basic use case: reconfiguring the ZYNQ PL with a set of bitstreams stored on the SD card. We show the steps required to create a system which allows the user to reconfigure the PL whenever he wants with each of the bitstreams available on the SD Card. Watch video: Online…
Continue Reading »

Maintaining a working Linux kernel level driver for xapp1052 PCI Express bus mastering operation under 64Bits Ubuntu 14

I have been working for a while on making the bus mastering capability of PCI express block in Kintex 7 devices work. The main starting point was Xilinx xapp1052 however the driver provided by the application note is for Fedora core 32Bits system only. Consequently I did some work on the provided application note and made it work fine with KC705 and under 64Bits Ubuntu This was involved some modifications made in the driver as well and the provided user level application. (The updated design is a available for any one who needs upon a donation. )
Continue Reading »

Asus PB278Q 4K Monitor at 60Hz with AMD R9 280 GPU Under Ubuntu 14.04

For some months I was struggling to make the 60Hz refresh rate of my 4K monitor work under Ubuntu The graphics card I use is based on an AMD R9 280 GPU and is connected to the monitor through Display Port. I tried different versions of AMD Catalyst driver and even with the latest I had still the refresh rate of 30Hz. Solution was in the monitor settings: the default stream version for Display Port was , changing it to enabled the 60Hz mode.  
Continue Reading »

awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub

I have encountered this strange error message while trying to compile the linux kernel for the ARM host of the ZYNQ under ubuntu 64Bits. awk works always fine and as soon as you source the xilinx it stops working, consequently you will no more be able to compile the kernel since it needs awk working. Solution, for the console session in which you are compiling the kernel, do not source the file just add the address path for the folder containing arm toolchain to your path environment variable. export PATH=$PATH:/opt/Xilinx/  
Continue Reading »