1
\$\begingroup\$

I'm trying to understand the memory map of the LPC1769 microcontroller using the official NXP datasheet. The screenshot below shows at 0x00004000 to 0x00008000 there is 512kB of flash memory mapped, however the number of addresses between 0x00040000 and 0x00080000 can't reference all 512kB of flash memory?

enter image description here

How does this mapping work so all 512kB can be referenced? Or have I misunderstood something?

\$\endgroup\$
  • \$\begingroup\$ 2 bytes per address location? i.e. 16 bit words? \$\endgroup\$ – Andy aka Dec 10 '19 at 13:33
3
\$\begingroup\$

There are parts with different amounts of Flash memory. The Flash memory starts at address 0 for all devices and if it has 512kB of Flash the final address is 7FFFFh and reserved area starts at 80000h. Parts with less memory such as 256kB has last address of 3FFFFh respectively so the reserved area starts at 40000h. They are all just stuffed into one picture that is clipped from bottom if you look carefully.

Here is an extract from the relevant User Manual where this is better explained:

enter image description here

|improve this answer|||||
\$\endgroup\$
  • \$\begingroup\$ thank you, that makes so much more sense! \$\endgroup\$ – micromicrocontroller Dec 10 '19 at 13:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.