S Record Meaning

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S Record Meaning

Jump to solution
943 Views
kackle123
Contributor IV

I see that in an S record that an "S9" record/line is supposed to describe a starting execution address.  But when I decode that line, the address is nowhere near that actual starting address of the firmware.  It seems simple to understand; am I missing something?

0 Kudos
1 Solution
860 Views
ErichStyger
Senior Contributor V

Hi,

What tool did you use to generate the S19 file (I assume the GNU objcopy)?

The address can be omitted (or set to zero) depending on the tool which generates it. But the GNU objcopy should set it to the start address which is usually the reset vector:

pastedImage_1.png

I hope this helps,

Erich

PS: Decoding S19 Files | MCU on Eclipse 

View solution in original post

0 Kudos
2 Replies
860 Views
kackle123
Contributor IV

You can see my incorrect thinking in my post: "...starting address of the firmware."  My S record file starts its firmware bytes at 0x8000 (vector table, constants, etc.), but the actual beginning of the executable part of the program (the reset vector) IS correctly defined by the S9 record/line.  Now it makes sense.  Thank you for helping me think through it, Erich.

0 Kudos
861 Views
ErichStyger
Senior Contributor V

Hi,

What tool did you use to generate the S19 file (I assume the GNU objcopy)?

The address can be omitted (or set to zero) depending on the tool which generates it. But the GNU objcopy should set it to the start address which is usually the reset vector:

pastedImage_1.png

I hope this helps,

Erich

PS: Decoding S19 Files | MCU on Eclipse 

0 Kudos