Reading from SD – Part 1

It’s been a while since my last post, my apologies for that. Anyways I hope you can find this post useful as me; I used the next information in a project that consisted in perform a grayscale filter to an image using an AXI-Stream IP in the programmable logic part. To do so, I stored the image into the SD then read the raw of the file (which is the data without any compression or file headers) and sent it to the IP using AXI Stream functions at the associated addresses. On this post I am going to show you, how to configure the hardware in order you to do tasks like the mentioned above. So, by the end of this post, you will be able to:


  • Understand how the SD slot is to connect to the Zynq on the Zybo board.
  • Perform the necessary configuration in the Zynq to enable transfer SD to PS.
  • Write a software application which can read and write from/to the SD card, using FATFs library.

Tools and materials:

Main steps:

  • Vivado
    • Create new project
    • Create block design
    • Configure Zynq IP
  • Xilinx SDK
    • Import Xilffs libraries into board support package (BSP)
    • Create new project with the modified BSP
  • Preparing the SD card

Contine reading