Debugger assisted flashing for Intel® Atom™ Processor based platforms

With the Intel® C++ Software Development Tool Suite for Linux* OS Supporting Mobile Internet Devices ( comes a capability built into the Intel® C++ JTAG Debugger that allows to download and burn images into target-device FLASH memory (BIOS / Firmware) without removing the chip. This is available through a debugger plugin shared object that allows you to burn images into the target-device FLASH memory from within the debugger GUI.

Below is an example of the debugger script language that could be used to automate BIOS flashing and interface with the flash programmer GUI add-on:
Flash "select /board= 'targetboard'"
Flash "change offset 0x00"
Flash "change datafile '/home/qa/BIOS50.bin'"
Flash "burn flash false true true"

The same flashing support is also available in form of the command line XFLASH - Intel® C++ JTAG Debugger Flash Memory Tool located at /opt/intel/xdb/ Please refer to the ./ -help option for details about the command line syntax.

Currently the main use case  clearly is the ability for an OEM or ODM to have their Intel® Atom™ Processor reference platform and to be able to update the BIOS or firmware on this reference platform without having to remove the memory chip.

Looking towards future generations of our development tool suite we are currently also looking at the ability to flash OS images and bootloaders. This will however obviously depend on the exact configuration an usage case, thus it is a bit to early to tell.

I still think us having this BIOS/firmware flashing capability with the current Intel® C++ Software Development Tool Suite for Linux* OS Supporting Mobile Internet Devices provides for a great example for what types of features can be  implemented with a powerful system debug solution in conjunction with and for hardware reference platforms.

I am hopeful to be able to keep you all updated on more interesting debugger and flashing tool features.

As always - the opinions expressed on this site are mine alone and do not necessarily reflect the opinions or strategies of Intel Corporation or its worldwide subsidiaries.

For more complete information about compiler optimizations, see our Optimization Notice.