dsPIC33CK64MP102 memory map

Where everything sits, at its exact address. The dsPIC33CK64MP102 keeps program and data apart (modified Harvard). Program memory holds 24-bit instructions and is addressed in program-counter units, two per instruction, so flash ending at 0x00B000 holds 22,528 instructions (66 KB, three bytes each). The data space is 16-bit and byte-addressed: the special function registers at the bottom, then the RAM. Constants in flash are read into data space through the program space visibility window from 0x8000 (PSV, or EDS on the newer chips).

Program memory

Reset and vector table, the program, the configuration words; addresses in program-counter units (two per instruction).

User OTP words0x801700 – 0x8017FF128 words
Configuration words0xAF00 – 0xAFFF128 words
Flash0x0000 – 0xAFFF66 KB (22,528 instructions)

Data memory

16-bit SFRs at the bottom, then the RAM; byte addresses.

RAM0x1000 – 0x2FFF8 KB
Special function registers0x0000 – 0x0FFF4 KB

Every segment

SegmentSpaceStartEndSizePage
Special function registersdata0x00000x0FFF4 KB
RAMdata0x10000x2FFF8 KB
Flashprog0x00000xAFFF66 KB (22,528 instructions)
Configuration wordsprog0xAF000xAFFF128 words
User OTP wordsprog0x8017000x8017FF128 words