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 »

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 »

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 »

Idea for Bachelor Thesis – A low-cost babysitter!

The ideas for doing micro-controller projects for bachelor thesis are numerous. Here is an example list. In addition to all of those possible directions to go, here is a simple idea: Let's create a small and low-cost micro-controller board which does a part of baby-sitting tasks. We implement a small audio processing engine on our micro-controller. Our board has microphones and listens to the surrounding sounds. It compares the received audio stream with known patterns and makes very basic conclusion about the current situation. the baby is asleep, or hungry or ... Our board can also contain other types of…
Continue Reading »

Lords of the Fallen, waste of Time and Money!

I have recently made a mistake and by looking at nice pictures posted from this game every where decided to purchase it for my PS4. The game comes with absolutely no new idea or innovation. In terms of weapons and how battles are performed in the game, it is way behind many other similar games being created several years ago. The only eye catching thing in this game is big soldiers with heavy armor. Even in terms of graphics it is not comparable with other games being released for consoles. In lack of innovative content to show to the gamers,…
Continue Reading »

OpenCV Error: Gpu API call (no CUDA-capable device is detected)

In case you are trying to use OpenCV with CUDA, you might first like to make sure that your OpenCV code is actually seeing the GPU. So in the early part of your OpenCV code, you will have a small call like this: cv::gpu::setDevice(0); cv::gpu::printShortCudaDeviceInfo(cv::gpu::getDevice()); Running the code, you may receive an error message like the following: OpenCV Error: Gpu API call (no CUDA-capable device is detected) in terminate called after throwing an instance of 'cv::Exception' And you are sure that the CUDA enabled graphics card is there. There are a set of things to check when the above happens.…
Continue Reading »