Programming S-Records with GNU ARM Eclipse Debugger Plugins

By default I’m programming the Elf/Dwarf (.elf) file present in the GNU ARM Eclipse debug configuration:

Elf File to be Downloaded

Elf File to be Downloaded

But how to program the board with something different from the .elf file?

In this example I’m using the NXP Kinetis Design Studio, but is applicable to any other Eclipse distribution with the GNU ARM Eclipse plugins. So it works fine e.g. with Segger J-Link or P&E Multilink.

For example I have generated in my project settings to generate a S19 (S-Record) file:

S19 File

S19 File

There are several ways to generate an S19 file. The simplest way is to produce it as a by-product-build with the GNU ARM Eclipse plugins. For this I have enabled ‘Create flash image’ in the project settings:

Create Flash Image

Create Flash Image

The output format (e.g. S-record) is specified in a different page:

Motorola S-Record Setting

Motorola S-Record Setting

So how to download that generated file instead of the .elf file? The answer is very simple: specify that S-Record file in the debug configuration instead of the .elf file:

Programming S19 File

Programming S19 File


To program something else than the .elf file, I can specify that file in the debug configuration. It might be confusing that the ‘Search project…’ button in that configuration does not show something else than the elf file, but any file can be selected.

Actually I can specify any S-Record (or binary file), it does not to be the one built by that project: the debugger will take the binary and program it to the board. That way I’m can program binary files for which I do not need the project and sources.

Happy S-Recording 🙂

3 thoughts on “Programming S-Records with GNU ARM Eclipse Debugger Plugins

  1. Hi Erich!
    I got a problem- I want to put 2 firmware into 1 mcu to flash second MCU via EzPort.( that’s why i need 2 firmwares into 1 mcu’s flash).
    Have not found a solution on your cite.
    The only solution I can see now is to convert additional firmware to c-file and put it like an array into flash. But i’d be glad to find better solution via linker may be.


What do you think?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.