The Downloader panel in the Program Devices visualizer lets you download Arduino program memory (FLASH) or EEPROM memory stored on an Arduino into a .hex
file.
Downloading device data helps you recover the program (but not the sketch) or retrieve data from the device’s EEPROM. You might want to retrieve the program memory to compare it with a .hex
file to see if they are the same. If you are building your own bootloader, you might want to retrieve the program to check your bootloader has worked correctly.
Serial bootloaders don’t support the commands needed to download device data, however. You need to use and ISP programmer, such as the AVR ISP MkII, to download device data. The ISP programmer will connect to the 6-pin ICSP header.
Creating a Panel to Download Arduino Program/EEPROM Content
To create a panel for downloading from Arduino memory, click the Add Programmer drop-down menu on the Program Devices visualizer toolbar. Select Downloader from the list.
Configuring the Arduino Download
Use the Description field to name the download to keep track of multiple panels.
Use the browse button to select the file location where the downloaded data will be saved. The path can be absolute or relative to the MegunoLink project file. Relative paths let you move your project between computers without having to update the source path. Right-click on the file-path to change between the two options.
On the second row, choose the programming hardware you are using and the chip you’re downloading from. Select the port and the source:
- Flash: to download from the device’s flash memory (where the program and bootloader are stored), or
- EEPROM: to download from the device’s internal eeprom. User settings are commonly stored here
Downloading the Memory
Click the Download button to start the download.
Output from AVRDude is captured while the memory is downloading. You can see this output by clicking Show upload details on the visualizer toolbar, or by clicking the Show Output button on the programming panel.
Once the download is complete, you can open the location where the output is written by right-clicking on the source path. Choose Open file location from the context menu.