PIC24FJ1024 tiene 1024KBytes de memoria de programa.
En la Hoja de datos de PIC24 en el Capítulo 4, se menciona que la memoria del Programa se ejecuta de 0x000000 a 0x7FFFFF, que es de 8,388 KByte.
¿Puede alguien explicar por qué esta dualidad?
No confunda el "espacio de memoria" (que es solo la cantidad de todas las direcciones válidas, ya estén conectadas a la memoria del programa, RAM o algún periférico) y la memoria real.
Entonces, aquí, el espacio de memoria puede ser de 8 MB, pero, como dice la nota al pie,
el tamaño exacto de los límites está determinado por el tamaño de la memoria del programa implementado.
Entonces, algunas direcciones en ese espacio en realidad apuntan a la memoria del hardware, y otras simplemente apuntan a ninguna parte.
Lea otras preguntas en las etiquetas microcontroller pic microchip flash-memories