Microchip | The Embedded Control Solutions Company Register Login
Browse All
Microchip Technology
 369 Code Snippets

ELFViewer Plugin

Microchip Technology

Plugin for MPLAB-X that allows visualization of an output ELF file. It shows how your program will be laid out on the actual device. Very useful when writing things like bootloaders.

About this Code Example

The ELFViewer plugin provides a graphical display of the layout of sections within an ELF format file.It accepts most legal ELF file formats generated by the Microchip compilers and plots the location of sections on a  map representing a region of memory inside the target device.
    Microchip Microcontrollers can consist of different memory regions such as Boot FLASH, Program FLASH and RAM and each one is represented as a different graphical region. Within each region the sections specified inside the ELF are then plotted as colored blocks showing how the final program will be laid out in the memory of the device. Each block can be hovered over with the mouse and information about the name, base address and size retrieved. The display of individual sections can be controlled allowing you to locate a single section or function within the code.
    The plugin is most useful when generating bootloaders and programs with complex memory layouts. The ELFViewer will automatically listen for the current project compilation completion event and display its data, alternatively any ELF file can be specified along with the device type.
    Mouse click and down-right will allow zooming to a specific area whilst mouse click and up-left will zoom to the extens of data. Use of the mouse with the CTRL key allows other zoom and pan options.

Currently supports PIC16, PIC24/dsPIC/PIC32

Version 1.0.0



Download the zip file and extract the nbm

Inside MPLAB-X go to Tools->Plugins and select Downloaded items.

Find the extracted nbm and install it.

The ELFViewer window can be found under the Window->Debugging->Output->ElfViewer menu (alongside things like disassembly listing).


Release History

  • Apr 28, 2015

    Version: 1.0.0

    Updated for MPLAB-X 3.00. MPLABX 3.00 removed and modified projectsuites, this required an update.

  • May 30, 2014

    Version: 0.61.0

    Updated selection/unselection of ELF files in project suites. Deselecting an ELF also un-checks all of the sections that are associated with that ELF in the checkcombo. Fixed bug with memory layout on 8 and 16 bit devices due to non linear memory on these devices. Tidied up bevelled edges on blocks so that they are drawn in a nicer way.

  • May 21, 2014

    Version: 0.60.0

    Updated to include project suite support. If you are building a bootloader application the plug-in will detect and display the combined elf files. An additional combobox allows you to optionally display/gray out specific elf files. This allows you to see where the components of a specific sub-project have been located.

  • Apr 30, 2014

    Version: 0.52.0

    Fixed issue with MPLAB-X 2.10. 2.10 speeds compilation and load time by not loading symbols during production builds. the plugin used to look for this information to find the ELF file. If you do a production build it now also checks for the ELF file via the hex file name. Explicitly selecting an ELF file still works as normal.

  • Apr 22, 2014

    Version: 0.5.1

    (Digitally signed version, identical to 0.50 version)

  • Apr 15, 2014

    Version: 0.5.0

    First public release

Download Contact the Developer

*Required Fields

  • Current Version:1.0.0
  • Created:Apr 15, 2014
  • Updated:Feb 8, 2017
  • Downloads:7493
  • MPLAB Version:3.00+
  • C Compiler:NA
  • Development Tools:MPLAB-X
  • Supported Devices:PIC16PIC24dsPICPIC32

Corporate News


Stay Connected

Stay up to date with the latest news from Microchip Technology.