This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Intel HEX - Start Linear Address Record

Hi there,

I'm working on a bootloader that uses a hex file.

What does this row do?

:0400000508000131BD

It breaks up to these:

: Start code
04 Byte count: 4
0000 Address
05 Record type: Start Linear Address Record
08000131 <--- is this a start address?
BD Checksum

Does it say the execution start (IP) address is 0x08000131? My main program range is from 0x08000000 to 0x0800261.
Or should I discard the line altogether?

Thanks.
-Mad D

Parents
  • Does it say the execution start (IP) address is 0x08000131? My main program range is from 0x08000000 to 0x0800261.
    Or should I discard the line altogether?

    Yes, this record does indicate that the bootloader should jump to address 0x08000131 in order to start the loaded program. However, it is not uncommon to have misconfigured linker scripts which generate wrong start addresses. You should double-check with the provider of the firmware image: either you use the Start Linear Address Record to start the program, or you ignore it and use the start address given to you by the firmware image provider.

Reply
  • Does it say the execution start (IP) address is 0x08000131? My main program range is from 0x08000000 to 0x0800261.
    Or should I discard the line altogether?

    Yes, this record does indicate that the bootloader should jump to address 0x08000131 in order to start the loaded program. However, it is not uncommon to have misconfigured linker scripts which generate wrong start addresses. You should double-check with the provider of the firmware image: either you use the Start Linear Address Record to start the program, or you ignore it and use the start address given to you by the firmware image provider.

Children