Esto es un intelhex creado por un copilador:
:020000000140BD
:0600230020982D209942F7
:10004000C298C299C2ACC20175183012006E30015C
:10005000FD80FEC0E0C0D0D2D3D2D4E599F608B47A
:100060000D02D201C298D0D0D0E032C29932758D43
:0F007000FD7589207588C0759852D2ACD2AF2229
:00000001FF
y ahora te muestro como quedaria en la memoria del chip:
Ok si miramos la primera linea del intelhex:
:020000000140BD
Tenemos que esa linea solo tiene dos bytes de data (01 40) y que la direcion de esa data comenzara en la '0000'
Tal como ves en la imagen del buffer 01 40 en sus dos primeras casillas.
Segunda linea del file intelhex:
:0600230020982D209942F7
Tenemos 6 bytes de data (20 98 2D 20 99 42) y comienza a partir de la direcion '0023' Tal como esta en la imagen del buffer.
Tercera linea del file intelhex:
:10004000C298C299C2ACC20175183012006E30015C
Tenemos 16 bytes de data (C2 98 C2 99 C2 AC C2 01 75 18 30 12 00 6E 30 01) que comienzan a partir de la direcion '0040' Tal como se puede ver en la imagen del buffer.
Espero que este claro esto.¿?
Ahora y aqui la confucion. ¿Que de donde se generan las address a la hora de leer de un chip? Cuando leemos de un chip y guardamos el file en formato IntelHex la cosa cambia y no se parece en nada a uno generado por un copilador.Eso si mantiene su funcionalidad, a pesar que cambia su extructura.Si ese file lo programas dentro de un micro otra ves todo quedara donde tiene que quedar.
Un Saludo.
Continua....