Stör mig lite!
Varför dubblar man adressen (i en hex fil för PIC)?
Kan inte vara något med 14bits etc. Hex filen kan beskriva en 16bits adress.
Läste om åtta bits, är där svaret (förstod inte vad som beskrivs)?
Möjligt att PIC enbart kan adressera med åtta bitar och behöver en offset som gamla goda doset behövde!
Någon som vet?
Hex igen!
Intel-Hex-filer adresserar datan på byte-nivå. Det betyder att 14 bit blir extended till 16 bit för att undvika en jävla massa packande och skit.
Alltså blir varje program-ord till PIC'en 2 bytes där MSB'n kan vara 0x00-0x3F och där har du svaret: varje program-ord blir 2 bytes. Programordet på 0x000 måste alltså vara adress 0x00 & 0x01 i HEX-filen, program-ord 0x001 måste då bli adress 0x02 & 0x03 i HEX-filen osv.
Alltså är adressen i HEX-filen dubblerad mot programstegen i PIC'en, helt enkelt för att PIC-programminnet tar "dubbla" steg sett i bytes.
Alltså blir varje program-ord till PIC'en 2 bytes där MSB'n kan vara 0x00-0x3F och där har du svaret: varje program-ord blir 2 bytes. Programordet på 0x000 måste alltså vara adress 0x00 & 0x01 i HEX-filen, program-ord 0x001 måste då bli adress 0x02 & 0x03 i HEX-filen osv.
Alltså är adressen i HEX-filen dubblerad mot programstegen i PIC'en, helt enkelt för att PIC-programminnet tar "dubbla" steg sett i bytes.