Jump to content
  • 0

How to download a .hex file to spi flash on Arty A7 100-T using VIVADO?


Rakesh Singanahalli

Question

Hello Everyone Greeting of the day!

I am Rakesh,

I and my team are designing a SoC which uses a picorv32 processor and to test the designed SoC we have written a .c file which will be converted to .hex file and stored in spi flash and it is working good while simulation. Now we are implementing it on Arty A7 100T Board using VIVADO.

We don't have any idea about the dumping process of the .hex file to spi flash onto the board.

Any help would be great!

 

Thanking you,

Regards Rakesh.

 

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

@Rakesh Singanahalli,

I might be able to help you there.  I've build projects using the PicoRV32 before, and I needed to solve this problem.  Here's one such project, although it's for the ECP5 Versa board and not a Xilinx board.  In this case, the differences should be minimal.

My general approach was to start with a means of interacting with the bus within a design from external to the design.  I have a serial port to bus converter I use for that purpose--something I call a "debugging bus".  Using the debugging bus, together with my own flash controller, I can write any design into flash I need to.  Normally, I'm writing from the ELF file though, not the hex file, but it shouldn't be too hard to convert between the two.  (There's an awesome libelf project, supported by redhat, that makes working with ELF files pretty easy.)

When using the PicoRV32, I also added a wrapper to it.  This wrapper provided it with access to the Wishbone bus (pipelined).  Depending on the bus protocol you choose to use, you may or may not find my wrapper implementation useful to you.  I also used a GPIO device output to control the CPU reset line of the PicoRV32.  I'd personally rather had an interface to read/write registers within the PicoRV32, and to step the CPU one instruction at a time, but that might just be something the ZipCPU has and not the PicoRV32.

Dan

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...