Memory Organization: Overview

The PIC32MX family of microcontrollers provides 4 GB of unified, virtual memory address space. There are several features of this memory system that are distinct, as compared to other PIC® microcontrollers (MCUs):

  • Unified Address Space: Instructions and data share the same memory space.
    • 'C-programming friendly' - no need for special rom or psv pointer declarations.
    • Although the address space is unified, PIC32MX MCUs contain multiple bus interfaces to allow concurrent instruction and data access, thus, implementing a Harvard style hardware bus architecture, similar to existing 8-bit and16-bit PIC® MCUs.
  • Virtual Memory Addressing
    • All MIPS-based CPUs implement two address spaces: a virtual address space, consisting of all the addresses that can be used in a program and a physical address space, consisting of all the addresses that can be sent out on the address bus. Virtual addresses are mapped (translated) to physical addresses by the Memory Management Unit (MMU).
  • Multi-Layer System Bus

To Summarize: Addresses in the PIC32MX are:

  • issued as virtual addresses by the MIPS core, then
  • mapped into physical addresses by the MIPS MMU, then
  • mapped into a bus address via the system bus matrix, and finally
  • used to select the appropriate peripheral or location in Data SRAM.

Other key features of PIC32MX memory organization include the following:

  • 32-bit native data width
  • Separate User and Kernel mode address spaces
  • Flexible program Flash memory partitioning
  • Flexible data RAM partitioning for data and program space
  • Separate boot Flash memory for protected code
  • Robust bus-exception handling to intercept runaway code
  • Simple memory mapping with Fixed Mapping Translation (FMT) unit
  • Cacheable and non-cacheable address regions

Please refer to the "PIC32MX Family Reference Manual", "Section 3. Memory Organization" for detailed coverage on the memory organization and configuration.

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.