Post Go back to editing

Programming / Flashing a Blank Pluto Board

Hello, 



I am able to program the FPGA bitstream, but I am unable to program the flash. 

I keep getting an error saying:

"Problem in initializing hardware."

Steps Taken from the Vivado SDK:

1. Program FPGA bitstream using system_top.bit - this finishes and upon finishing, I can see that in addition to the power LED being on, now the user LED is on and solid as well. 

2. From there I short pin 5 of the jtag connector to ground and try to program flash with the following files:

 - u-boot.bin

 - u-boot.elf

The programmer tries to perform the flash but I end up getting the below error message and the user led turns off
"Problem in initializing hardware".

From my experimentation this far, If I try to program the flash without grounding the JTAG_Boot pin, I get an error saying that boot mode is QSPI and the flash programming never finishes. This makes sense. But when grounding the JTAG_Boot pin, I either get the above: "Problem in initializing hardware" or an error relating to failure of the blank check and/or verify after programming. 

"Flash programming initialization failed"

I know i am using the correct bit stream, but I am unsure of the correct files being used for the flash. To my understanding, What I am really trying to do is flash the FSBL so that I do not have to flash the bitstream for every power cycle. 

Is there a generalized step by step list of files that need to be used? my ultimate goal is to learn the process from starting with a "blank" pluto board and being able to get it up and going into it's default delivered state.

Parents
  • Please take a look at the content of the pluto-jtag-bootstrap files released with each release.

    https://github.com/analogdevicesinc/plutosdr-fw/releases/download/v0.29/plutosdr-jtag-bootstrap-v0.29.zip

    It's important to initialize the PS in particular the clocks and the DDR memory. Otherwise you can't load uboot.

    This step is done my sourcing he ps7_init.tcl script and then running ps7_init and ps7_post_config.

    run.tcl: 

    connect arm hw
    stop
    xreset 64

    source ps7_init.tcl
    ps7_init
    ps7_post_config

    dow u-boot.elf
    run

    disconnect 64

    -Michael

  • Hello, thank you for the reply. 

    So the revised steps then, would be:

    1. Ground JTAG_BOOT pin, power on Pluto.

    2. Program bitstream

    3. Run TCL source described above. 

    I have followed these steps, taking care to specify the path to these files when running the commands in the TCL window within vivado. 

    I can program the bitstream just fine, meaning the connection to my SmartLynq seems to be working. 

    But when I run the TCL described in your initial reply, I can see that the TCL source is running but I get the following error. 

    "Error Occured"

    "Cable is not connected to the host."

    Likewise, If I run the command "connect arm hw" in the TCL console alone, I get the error: "Unknown Command"

    Why would vivado think that the cable is not connected properly if I was able to program the bitstream without an issue?

  • Seems like this could be an issue with a program called ISE from Xilinx?

Reply Children