[Arduino IDE] Difference between Burn and no-Burn

Guest pepevi

Recommended Posts

I have a 500K version and have compiled my own .bit file. I can select "custom" board from the Board menu but I see there is no "burn" version for the it. I thought "burn" programmed all the slices and the no-burn only sent the "hex data" for the AVR8. I'm surely mistaken.

What is the difference between them?

Link to comment
Share on other sites

Hello pepevi,

The "Custom" board option in the Arduino IDE is there for when you synthesize a custom AVR8 processor. If you were to modify the AVR8 VHDL code and add 5 UARTs or something like that then you would copy the generated bitstream to the Arduino IDE folder and use the custom option.

When you hit the compile button in the Arduino IDE what happens behind the scenes is this:

  • The avr-g++ compiler compiles your source code into a hex file.
  • A custom Gadget Factory make file then converts that hex file into a mem file.
  • The mem file is then merged into the BRAM portion of the AVR8 bitstream. The result is a temporary bitstream file.
  • This temporary bitstream file contains both the AVR8 processor and the code for the sketch that was jus generated.
  • Finally this temporary bitstream is loaded over the JTAG port to the Papilio One.

When you choose "burn" as your board type this just means the final step programs the SPI Flash with the temporary bitstream. When you do this your program gets started every time the Papilio One is powered up. The non "burn" option just writes directly to the FPGA chip over the JTAG port. This is much, much faster but does not survive a the removal of power.

If you have your own bitstream that you generated with ISE or something then you need to use the Papilio Loader tool instead of the Arduino IDE. The Papilio Loader can be downloaded from the downloads page. Or from here directly. The Papilio One Quickstart guide will step you through using the Papilio Loader.

On another note, its on my task list to make a full Windows Installer for all the tools to make this process easier and automatically associate the Papilio Loader with *.bit files.


Link to comment
Share on other sites


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