Jump to content
  • 0

How to program the flash device of a Xilinx FPGA board using Raspberry Pi with JTAG HS3?




I currently have a project that requires using Raspberry Pi to configure both a Xilinx FPGA board and a flash device (either serial or parallel SPANSION flash) using the JTAG-HS3. 

Using Adept 2 tools, I can easily configure the FPGA by using Raspberry + the JTAG HS3. However, I prefer that when the power is turned on, the FPGA will be automatically configured a configuration that was stored in the flash device, rather than configure the FPGA every time using Raspberry Pi. It means that I need to find a way somehow programming the flash device on the Xilinx FPGA board, like iMPact or Xilinx Vivado can do. 

On this forum, 5 years ago, some one said that there is no way to program the flash device without using Adept GUI in windows. I hope after these years someone will get a further progress.

Of course, with x86 processors, I can easily use Xilinx tools to do the jobs. However, the problem is that I must use a Raspberry Pi to do the jobs. But it seems only Digilent sets a foot step to support Raspbery Pi. 

I just wonder is there any one here has used Raspberry Pi to program the flash device?

Or is there any hint how to get the job done in Raspberry Pi?

I just don't want to write a tool by myself. It's a fool, isn't it?





Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Hi @Nguyen,

Unfortunately, To configure flash memory from an embedded Linux machine (RPI *) using the JTAG-HS3, or any other Digilent programmer, is by writing your own custom programming software. Programming a serial or parallel flash memory connected to the FPGA via JTAG requires you to first develop a protocol for transferring data from the PC to the flash through the FPGA JTAG user registers. Once you’ve come up with the protocol then you have to write a PC application that uses the Adept SDK to manipulate the scan chain to implement the PC side of the protocol. You also have to implement the logic for the FPGA side. After you have a bitstream you can then download it to the FPGA and use your (3rd party) Adept SDK based application to transfer data to the flash via the JTAG scan chain.

thank you,


Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...