S Record Meaning

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

S Record Meaning

Jump to solution
1,151 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
Reply
1 Solution
1,068 Views
ErichStyger
Specialist I

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
Reply
2 Replies
1,068 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
Reply
1,069 Views
ErichStyger
Specialist I

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
Reply