S Record Meaning

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

S Record Meaning

跳至解决方案
1,673 次查看
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 项奖励
回复
1 解答
1,590 次查看
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 项奖励
回复
2 回复数
1,590 次查看
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 项奖励
回复
1,591 次查看
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 项奖励
回复