5.1.2 Nonvolatile Memory Controller

AVR and PIC32CM MCUs feature a Nonvolatile Memory Controller (NVMCTRL) that manages access to on-chip Flash memory and other nonvolatile memory regions. Both MCUs support in-system programming, self-programming, bootloader support, and configurable memory protection for secure code and data storage. Both controllers are designed for reliable program and data storage, with mechanisms for memory protection and flexible access. Table 5-4 shows a comparison of features between AVR and PIC32CM.

Table 5-4. AVR® and PIC32CM NVM Control Features
FeatureAVR® NVMCTRLPIC32CM NVMCTRL
Bus Interface8/16-bit CPU bus

32-bit Advanced High-Performance Bus (AHB) for memory read/write

32-bit Advanced Peripheral Bus (APB) for memory control

Flash MemoryUnified Flash (program/data)Main Flash array
EEPROMSeparate EEPROM blockEEPROM emulation (RWWEE)
Memory ProtectionBoot, application, data sectionsBoot, 16 individually protected regions
Signature Row

Factory data

Serial number

Calibration bytes

Memory-mapped to AHB
User Row

User data

Writable from software/UPDI

Memory-mapped to AHB
Wait State ConfigurationFixed/ProgrammableProgrammable
CacheN/ADirect-mapped cache
Power ManagementStandard

Flash block power-down in sleep

Wake on access

Security Bit/Device LockFUSEs, lock bitsSecurity bit, Device protection
Access in Sleep ModesN/AWake on access or exit from sleep mode