Microchip PIC32 datasheet: 4.0 Memory organization

Published by Microchip · pages 43–67 of 214 · Original PDF

71 discussions about the Microchip PIC32

All 10 parts of the datasheet

4.0 MEMORY ORGANIZATION

Note 1: This data sheet summarizes the features of the PIC32MX3XX/4XX family of devices. It is not intended to be a comprehensive reference source. To complement the information in this data sheet, refer to Section 3. “Memory Organization” (DS61115) of the “PIC32 Family Reference Manual”, which is available from the Microchip web site (www.microchip.com/PIC32).

PIC32MX3XX/4XX microcontrollers provide 4 GB of unified virtual memory address space. All memory regions including program, data memory, SFRs and Configuration registers reside in this address space at their respective unique addresses. The program and data memories can be optionally partitioned into user and kernel memories. In addition, the data memory can be made executable, allowing PIC32MX3XX/4XX to execute from data memory.

4.1 Key Features

  • 32-bit native data width
  • Separate User and Kernel mode address space
  • 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

4.2 PIC32MX3XX/4XX Memory Layout

PIC32MX3XX/4XX microcontrollers implement two address spaces: Virtual and Physical. All hardware resources such as program memory, data memory and peripherals are located at their respective physical addresses. Virtual addresses are exclusively used by the CPU to fetch and execute instructions as well as access peripherals. Physical addresses are used by peripherals such as DMA and Flash controller that access memory independently of CPU.

FIGURE 4-1: MEMORY MAP ON RESET FOR PIC32MX320F032H AND PIC32MX420F032H DEVICES(1)

Figure from the manual

Note 1: Memory areas are not shown to scale.

2: The size of this memory region is programmable (see Section 3. “Memory Organization” (DS61115)) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool documentation for information).

DS61143H-page 44 © 2011 Microchip Technology Inc.

FIGURE 4-2: MEMORY MAP ON RESET FOR PIC32MX320F064H DEVICE(1)

Note 1: Memory areas are not shown to scale. 2: The size of this memory region is programmable (see Section 3. “Memory Organization” (DS61115)) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool documentation for information).

FIGURE 4-3: MEMORY MAP ON RESET FOR PIC32MX320F128H AND PIC32MX320F128L DEVICES(1)

Figure from the manual

Note 1: Memory areas are not shown to scale. 2: The size of this memory region is programmable (see Section 3. “Memory Organization” (DS61115)) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool documentation for information).

DS61143H-page 46 © 2011 Microchip Technology Inc.

FIGURE 4-4: MEMORY MAP ON RESET FOR PIC32MX340F128H, PIC32MX340F128L, PIC32MX440F128H AND PIC32MX440F128L DEVICES(1)

Figure from the manual

Note 1: Memory areas are not shown to scale. 2: The size of this memory region is programmable (see Section 3. “Memory Organization” (DS61115)) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool documentation for information).

FIGURE 4-5: MEMORY MAP ON RESET FOR PIC32MX340F256H, PIC32MX360F256L, PIC32MX440F256H AND PIC32MX460F256L DEVICES(1)

Figure from the manual

Note 1: Memory areas are not shown to scale. 2: The size of this memory region is programmable (see Section 3. “Memory Organization” (DS61115)) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool documentation for information).

DS61143H-page 48 © 2011 Microchip Technology Inc.

FIGURE 4-6: MEMORY MAP ON RESET FOR PIC32MX340F512H, PIC32MX360F512L, PIC32MX440F512H AND PIC32MX460F512L DEVICES(1)

Figure from the manual

Note 1: Memory areas are not shown to scale. 2: The size of this memory region is programmable (see Section 3. “Memory Organization” (DS61115)) and can be changed by initialization code provided by end-user development tools (refer to the specific development tool documentation for information).

TABLE 4-1: BUS MATRIX REGISTERS MAP

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
2000 BMXCON(1) 31:16 — — — — — BMXCHEDMA — — — — — BMXERRIXI BMXERRICD BMXERRDMA BMXERRDS BMXERRIS 001F
15:0 — — — — — — — — — BMXWSDRM — — — BMXARB<2:0> 0042
2010 BMXDKPBA(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
2020 BMXDUDBA(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
2030 BMXDUPBA(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
2040 BMXDRMSZ 31:16 xxxx
15:0 xxxx
2050 BMXPUPBA(1) 31:16 — — — — — — — — — — — — — BMXPUPBA<19:16> 0000
15:0 0000
2060 BMXPFMSZ 31:16 xxxx
15:0 xxxx
2070 BMXBOOTSZ 31:16 0000
15:0 3000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: This register has corresponding CLR, SET, and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-2: INTERRUPT REGISTERS MAP FOR PIC32MX440F128L, PIC32MX460F256L AND PIC32MX460F512L DEVICES ONLY(1)

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
1000 INTCON 31:16 — — — — — — — — — — — — — — — SS0 0000
15:0 — — — MVEC — TPC<2:0> — — — — — INT4EP INT3EP INT2EP INT1EP INT0EP 0000
1010 INTSTAT(2) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — SRIPL<2:0> — — — — — — — — — — 0000
1020 IPTMR 31:16 IPTMR<31:0> 0000
15:0 0000
1030 IFS0 31:16 I2C1MIF I2C1SIF I2C1BIF U1TXIF U1RXIF U1EIF SPI1RXIF SPI1TXIF SPI1EIF OC5IF IC5IF T5IF INT4IF OC4IF IC4IF T4IF 0000
15:0 INT3IF OC3IF IC3IF T3IF INT2IF OC2IF IC2IF T2IF INT1IF OC1IF IC1IF T1IF INT0IF CS1IF CS0IF CTIF 0000
1040 IFS1 31:16 — — — — — — USBIF FCEIF — — — — DMA3IF DMA2IF DMA1IF DMA0IF 0000
15:0 RTCCIF FSCMIF I2C2MIF I2C2SIF I2C2BIF U2TXIF U2RXIF U2EIF SPI2RXIF SPI2TXIF SPI2EIF CMP2IF CMP1IF PMPIF AD1IF CNIF 0000
1060 IEC0 31:16 I2C1MIE I2C1SIE I2C1BIE U1TXIE U1RXIE U1EIE SPI1RXIE SPI1TXIE SPI1EIE OC5IE IC5IE T5IE INT4IE OC4IE IC4IE T4IE 0000
15:0 INT3IE OC3IE IC3IE T3IE INT2IE OC2IE IC2IE T2IE INT1IE OC1IE IC1IE T1IE INT0IE CS1IE CS0IE CTIE 0000
1070 IEC1 31:16 — — — — — — USBIE FCEIE — — — — DMA3IE DMA2IE DMA1IE DMA0IE 0000
15:0 RTCCIE FSCMIE I2C2MIE I2C2SIE I2C2BIE U2TXIE U2RXIE U2EIE SPI2RXIE SPI2TXIE SPI2EIE CMP2IE CMP1IE PMPIE AD1IE CNIE 0000
1090 IPC0 31:16 — — — INT0IP<2:0> INT0IS<1:0> — — — — — — CS1IP<2:0> CS1IS<1:0> 0000
15:0 — — — CS0IP<2:0> CS0IS<1:0> — — — — — — CTIP<2:0> CTIS<1:0> 0000
10A0 IPC1 31:16 — — — INT1IP<2:0> INT1IS<1:0> — — — — — — OC1IP<2:0> OC1IS<1:0> 0000
15:0 — — — IC1IP<2:0> IC1IS<1:0> — — — — — — T1IP<2:0> T1IS<1:0> 0000
10B0 IPC2 31:16 — — — INT2IP<2:0> INT2IS<1:0> — — — — — — OC2IP<2:0> OC2IS<1:0> 0000
15:0 — — — IC2IP<2:0> IC2IS<1:0> — — — — — — T2IP<2:0> T2IS<1:0> 0000
10C0 IPC3 31:16 — — — INT3IP<2:0> INT3IS<1:0> — — — — — — OC3IP<2:0> OC3IS<1:0> 0000
15:0 — — — IC3IP<2:0> IC3IS<1:0> — — — — — — T3IP<2:0> T3IS<1:0> 0000
10D0 IPC4 31:16 — — — INT4IP<2:0> INT4IS<1:0> — — — — — — OC4IP<2:0> OC4IS<1:0> 0000
15:0 — — — IC4IP<2:0> IC4IS<1:0> — — — — — — T4IP<2:0> T4IS<1:0> 0000
10E0 IPC5 31:16 — — — SPI1IP<2:0> SPI1IS<1:0> — — — — — — OC5IP<2:0> OC5IS<1:0> 0000
15:0 — — — IC5IP<2:0> IC5IS<1:0> — — — — — — T5IP<2:0> T5IS<1:0> 0000
10F0 IPC6 31:16 — — — AD1IP<2:0> AD1IS<1:0> — — — — — — CNIP<2:0> CNIS<1:0> 0000
15:0 — — — I2C1IP<2:0> I2C1IS<1:0> — — — — — — U1IP<2:0> U1IS<1:0> 0000
1100 IPC7 31:16 — — — SPI2IP<2:0> SPI2IS<1:0> — — — — — — CMP2IP<2:0> CMP2IS<1:0> 0000
15:0 — — — CMP1IP<2:0> CMP1IS<1:0> — — — — — — PMPIP<2:0> PMPIIS<1:0> 0000
1110 IPC8 31:16 — — — RTCCIP<2:0> RTCCIS<1:0> — — — — — — FSCMIP<2:0> FSCMIS<1:0> 0000
15:0 — — — I2C2IP<2:0> I2C2IS<1:0> — — — — — — U2IP<2:0> U2IS<1:0> 0000
1120 IPC9 31:16 — — — DMA3IP<2:0> DMA3IS<1:0> — — — — — — DMA2IP<2:0> DMA2IS<1:0> 0000
15:0 — — — DMA1IP<2:0> DMA1IS<1:0> — — — — — — DMA0IP<2:0> DMA0IS<1:0> 0000
1140 IPC11 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — USBIP<2:0> USBIS<1:0> — — — — — — FCEIP<2:0> FCEIS<1:0> 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: Except where noted, all registers in this table have corresponding CLR, SET, and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

2: This register does not have associated CLR, SET, and INV registers.

PIC32MX3XX/4XX

TABLE 4-3: INTERRUPT REGISTERS MAP FOR PIC32MX340F128H, PIC32MX340F256H, PIC32MX340F512H, PIC32MX340F128L, PIC32MX360F256L AND PIC32MX360F512L DEVICES ONLY(1)

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: Except where noted, all registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

2: This register does not have associated CLR, SET, and INV registers.

TABLE 4-4: INTERRUPT REGISTERS MAP FOR PIC32MX320F032H, PIC32MX320F064H, PIC32MX320F128H AND PIC32MX320F128L DEVICES ONLY(1)

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
1000 INTCON 31:16 — — — — — — — — — — — — — — — SS0 0000
15:0 — — — MVEC — TPC<2:0> — — — — — INT4EP INT3EP INT2EP INT1EP INT0EP 0000
1010 INTSTAT(2) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — SRIPL<2:0> — — — — — — — — — — 0000
1020 IPTMR 31:16 IPTMR<31:0> 0000
15:0 0000
1030 IFS0 31:16 I2C1MIF I2C1SIF I2C1BIF U1TXIF U1RXIF U1EIF SPI1RXIF SPI1TXIF SPI1EIF OC5IF IC5IF T5IF INT4IF OC4IF IC4IF T4IF 0000
15:0 INT3IF OC3IF IC3IF T3IF INT2IF OC2IF IC2IF T2IF INT1IF OC1IF IC1IF T1IF INT0IF CS1IF CS0IF CTIF 0000
1040 IFS1 31:16 — — — — — — — FCEIF — — — — — — — — 0000
15:0 RTCCIF FSCMIF I2C2MIF I2C2SIF I2C2BIF U2TXIF U2RXIF U2EIF SPI2RXIF SPI2TXIF SPI2EIF CMP2IF CMP1IF PMPIF AD1IF CNIF 0000
1060 IEC0 31:16 I2C1MIE I2C1SIE I2C1BIE U1TXIE U1RXIE U1EIE SPI1RXIE SPI1TXIE SPI1EIE OC5IE IC5IE T5IE INT4IE OC4IE IC4IE T4IE 0000
15:0 INT3IE OC3IE IC3IE T3IE INT2IE OC2IE IC2IE T2IE INT1IE OC1IE IC1IE T1IE INT0IE CS1IE CS0IE CTIE 0000
1070 IEC1 31:16 — — — — — — — FCEIE — — — — — — — — 0000
15:0 RTCCIE FSCMIE I2C2MIE — — — — — SPI2RXIE SPI2TXIE SPI2EIE CMP2IE CMP1IE PMPIE AD1IE CNIE 0000
1090 IPC0 31:16 — — — INT0IP<2:0> INT0IS<1:0> — — — — — — CS1IP<2:0> — CS1IS<1:0> — — 0000
15:0 — — — CS0IP<2:0> CS0IS<1:0> — — — — — — CTIP<2:0> — CTIS<1:0> — — 0000
10A0 IPC1 31:16 — — — INT1IP<2:0> INT1IS<1:0> — — — — — — OC1IP<2:0> — OC1IS<1:0> — — 0000
15:0 — — — IC1IP<2:0> IC1IS<1:0> — — — — — — T1IP<2:0> — T1IS<1:0> — — 0000
10B0 IPC2 31:16 — — — INT2IP<2:0> INT2IS<1:0> — — — — — — OC2IP<2:0> — OC2IS<1:0> — — 0000
15:0 — — — IC2IP<2:0> IC2IS<1:0> — — — — — — T2IP<2:0> — T2IS<1:0> — — 0000
10C0 IPC3 31:16 — — — INT3IP<2:0> INT3IS<1:0> — — — — — — OC3IP<2:0> — OC3IS<1:0> — — 0000
15:0 — — — IC3IP<2:0> IC3IS<1:0> — — — — — — T3IP<2:0> — T3IS<1:0> — — 0000
10D0 IPC4 31:16 — — — INT4IP<2:0> INT4IS<1:0> — — — — — — OC4IP<2:0> — OC4IS<1:0> — — 0000
15:0 — — — IC4IP<2:0> IC4IS<1:0> — — — — — — T4IP<2:0> — T4IS<1:0> — — 0000
10E0 IPC5 31:16 — — — SPI1IP<2:0> SPI1IS<1:0> — — — — — — OC5IP<2:0> — OC5IS<1:0> — — 0000
15:0 — — — IC5IP<2:0> IC5IS<1:0> — — — — — — T5IP<2:0> — T5IS<1:0> — — 0000
10F0 IPC6 31:16 — — — AD1IP<2:0> AD1IS<1:0> — — — — — — CNIP<2:0> — CNIS<1:0> — — 0000
15:0 — — — I2C1IP<2:0> I2C1IS<1:0> — — — — — — U1IP<2:0> — U1IS<1:0> — — 0000
1100 IPC7 31:16 — — — SPI2IP<2:0> SPI2IS<1:0> — — — — — — CMP2IP<2:0> — CMP2IS<1:0> — — 0000
15:0 — — — CMP1IP<2:0> CMP1IS<1:0> — — — — — — PMPIP<2:0> — PMPIS<1:0> — — 0000
1110 IPC8 31:16 — — — RTCCIP<2:0> RTCCIS<1:0> — — — — — — FSCMIP<2:0> — FSCMIS<1:0> — — 0000
15:0 — — — I2C2IP<2:0> I2C2IS<1:0> — — — — — — U2IP<2:0> — U2IS<1:0> — — 0000
1140 IPC11 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — FCEIP<2:0> — FCEIS<1:0> — — 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: Except where noted, all registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

2: This register does not have associated CLR, SET, and INV registers.

TABLE 4-5: INTERRUPT REGISTERS MAP FOR PIC32MX440F128H, PIC32MX440F256H AND PIC32MX440F512H DEVICES ONLY(1)

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
1000 INTCON 31:16 — — — — — — — — — — — — — — — SS0 0000
15:0 — — — MVEC — — TPC<2:0> — — — — INT4EP INT3EP INT2EP INT1EP INT0EP 0000
1010 INTSTAT(2) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — SRIPL<2:0> — — — — — — — — — 0000
1020 IPTMR 31:16 0000
15:0 0000
1030 IFS0 31:16 I2C1MIF I2C1SIF I2C1BIF U1TXIF U1RXIF U1EIF — — — OC5IF IC5IF T5IF INT4IF OC4IF IC4IF T4IF 0000
15:0 INT3IF OC3IF IC3IF T3IF INT2IF OC2IF IC2IF T2IF INT1IF OC1IF IC1IF T1IF INT0IF CS1IF CS0IF CTIF 0000
1040 IFS1 31:16 — — — — — — USBIF FCEIF — — — — DMA3IF DMA2IF DMA1IF DMA0IF 0000
15:0 RTCCIF FSCMIF I2C2MIF I2C2SIF I2C2BIF U2TXIF U2RXIF U2EIF SPI2RXIF SPI2TXIF SPI2EIF CMP2IF CMP1IF PMPIF AD1IF CNIF 0000
1060 IEC0 31:16 I2C1MIE I2C1SIE I2C1BIE U1TXIE U1RXIE U1EIE — — — OC5IE IC5IE T5IE INT4IE OC4IE IC4IE T4IE 0000
15:0 INT3IE OC3IE IC3IE T3IE INT2IE OC2IE IC2IE T2IE INT1IE OC1IE IC1IE T1IE INT0IE CS1IE CS0IE CTIE 0000
1070 IEC1 31:16 — — — — — — USBIE FCEIE — — — — DMA3IE DMA2IE DMA1IE DMA0IE 0000
15:0 RTCCIE FSCMIE I2C2MIE I2C2SIE I2C2BIE U2TXIE U2RXIE U2EIE SPI2RXIE SPI2TXIE SPI2EIE CMP2IE CMP1IE PMPIE AD1IE CNIE 0000
1090 IPC0 31:16 — — — INT0IP<2:0> INT0IS<1:0> — — — — — — CS1IP<2:0> — CS1IS<1:0> — — 0000
15:0 — — — CS0IP<2:0> CS0IS<1:0> — — — — — — CTIP<2:0> — CTIS<1:0> — — 0000
10A0 IPC1 31:16 — — — INT1IP<2:0> INT1IS<1:0> — — — — — — OC1IP<2:0> — OC1IS<1:0> — — 0000
15:0 — — — IC1IP<2:0> IC1IS<1:0> — — — — — — T1IP<2:0> — T1IS<1:0> — — 0000
10B0 IPC2 31:16 — — — INT2IP<2:0> INT2IS<1:0> — — — — — — OC2IP<2:0> — OC2IS<1:0> — — 0000
15:0 — — — IC2IP<2:0> IC2IS<1:0> — — — — — — T2IP<2:0> — T2IS<1:0> — — 0000
10C0 IPC3 31:16 — — — INT3IP<2:0> INT3IS<1:0> — — — — — — OC3IP<2:0> — OC3IS<1:0> — — 0000
15:0 — — — IC3IP<2:0> IC3IS<1:0> — — — — — — T3IP<2:0> — T3IS<1:0> — — 0000
10D0 IPC4 31:16 — — — INT4IP<2:0> INT4IS<1:0> — — — — — — OC4IP<2:0> — OC4IS<1:0> — — 0000
15:0 — — — IC4IP<2:0> IC4IS<1:0> — — — — — — T4IP<2:0> — T4IS<1:0> — — 0000
10E0 IPC5 31:16 — — — — — — — — — — — OC5IP<2:0> — OC5IS<1:0> — — 0000
15:0 — — — IC5IP<2:0> IC5IS<1:0> — — — — — — T5IP<2:0> — T5IS<1:0> — — 0000
10F0 IPC6 31:16 — — — AD1IP<2:0> AD1IS<1:0> — — — — — — CNIP<2:0> — CNIS<1:0> — — 0000
15:0 — — — I2C1IP<2:0> I2C1IS<1:0> — — — — — — U1IP<2:0> — U1IS<1:0> — — 0000
1100 IPC7 31:16 — — — SPI2IP<2:0> SPI2IS<1:0> — — — — — — CMP2IP<2:0> — CMP2IS<1:0> — — 0000
15:0 — — — CMP1IP<2:0> CMP1IS<1:0> — — — — — — PMPIP<2:0> — PMPIS<1:0> — — 0000
1110 IPC8 31:16 — — — RTCCIP<2:0> RTCCIS<1:0> — — — — — — FSCMIP<2:0> — FSCMIS<1:0> — — 0000
15:0 — — — I2C2IP<2:0> I2C2IS<1:0> — — — — — — U2IP<2:0> — U2IS<1:0> — — 0000
1120 IPC9 31:16 — — — DMA3IP<2:0> DMA3IS<1:0> — — — — — — DMA2IP<2:0> — DMA2IS<1:0> — — 0000
15:0 — — — DMA1IP<2:0> DMA1IS<1:0> — — — — — — DMA0IP<2:0> — DMA0IS<1:0> — — 0000
1140 IPC11 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — USBIP<2:0> USBIS<1:0> — — — — — — FCEIP<2:0> — FCEIS<1:0> — — 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: Except where noted, all registers in this table have corresponding CLR, SET, and INV registers at their virtual addresses, plus offsets of 0x4, 0x8, and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

Note 2: This register does not have associated CLR, SET, and INV registers.

TABLE 4-6: INTERRUPT REGISTERS MAP FOR THE PIC32MX420F032H DEVICE ONLY(1)

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
1000 INTCON 31:16 — — — — — — — — — — — — — — — SS0 0000
15:0 — — — MVEC — TPC<2:0> — — — — — INT4EP INT3EP INT2EP INT1EP INT0EP 0000
1010 INTSTAT(2) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — SRIPL<2:0> — — — — — — — — — — 0000
1020 IPTMR 31:16 IPTMR<31:0> 0000
15:0 0000
1030 IFS0 31:16 I2C1MIF I2C1SIF I2C1BIF U1TXIF U1RXIF U1EIF — — — OC5IF IC5IF T5IF INT4IF OC4IF IC4IF T4IF 0000
15:0 INT3IF OC3IF IC3IF T3IF INT2IF OC2IF IC2IF T2IF INT1IF OC1IF IC1IF T1IF INT0IF CS1IF CS0IF CTIF 0000
1040 IFS1 31:16 — — — — — — USBIF FCEIF — — — — — — — — 0000
15:0 RTCCIF FSCMIF I2C2MIF I2C2SIF I2C2BIF U2TXIF U2RXIF U2EIF SPI2RXIF SPI2TXIF SPI2EIF CMP2IF CMP1IF PMPIF AD1IF CNIF 0000
1060 IEC0 31:16 I2C1MIE I2C1SIE I2C1BIE U1TXIE U1RXIE U1EIE — — — OC5IE IC5IE T5IE INT4IE OC4IE IC4IE T4IE 0000
15:0 INT3IE OC3IE IC3IE T3IE INT2IE OC2IE IC2IE T2IE INT1IE OC1IE IC1IE T1IE INT0IE CS1IE CS0IE CTIE 0000
1070 IEC1 31:16 — — — — — — USBIE FCEIE — — — — — — — — 0000
15:0 RTCCIE FSCMIE I2C2MIE I2C2SIE I2C2BIE U2TXIE U2RXIE U2EIE SPI2RXIE SPI2TXIE SPI2EIE CMP2IE CMP1IE PMPIE AD1IE CNIE 0000
1090 IPC0 31:16 — — — INT0IP<2:0> INT0IS<1:0> — — — — — — CS1IP<2:0> CS1IS<1:0> 0000
15:0 — — — CS0IP<2:0> CS0IS<1:0> — — — — — — CTIP<2:0> CTIS<1:0> 0000
10A0 IPC1 31:16 — — — INT1IP<2:0> INT1IS<1:0> — — — — — — OC1IP<2:0> OC1IS<1:0> 0000
15:0 — — — IC1IP<2:0> IC1IS<1:0> — — — — — — T1IP<2:0> T1IS<1:0> 0000
10B0 IPC2 31:16 — — — INT2IP<2:0> INT2IS<1:0> — — — — — — OC2IP<2:0> OC2IS<1:0> 0000
15:0 — — — IC2IP<2:0> IC2IS<1:0> — — — — — — T2IP<2:0> T2IS<1:0> 0000
10C0 IPC3 31:16 — — — INT3IP<2:0> INT3IS<1:0> — — — — — — OC3IP<2:0> OC3IS<1:0> 0000
15:0 — — — IC3IP<2:0> IC3IS<1:0> — — — — — — T3IP<2:0> T3IS<1:0> 0000
10D0 IPC4 31:16 — — — INT4IP<2:0> INT4IS<1:0> — — — — — — OC4IP<2:0> OC4IS<1:0> 0000
15:0 — — — IC4IP<2:0> IC4IS<1:0> — — — — — — T4IP<2:0> T4IS<1:0> 0000
10E0 IPC5 31:16 — — — — — — — — — — — OC5IP<2:0> OC5IS<1:0> 0000
15:0 — — — IC5IP<2:0> IC5IS<1:0> — — — — — — T5IP<2:0> T5IS<1:0> 0000
10F0 IPC6 31:16 — — — AD1IP<2:0> AD1IS<1:0> — — — — — — CNIP<2:0> CNIS<1:0> 0000
15:0 — — — I2C1IP<2:0> I2C1IS<1:0> — — — — — — U1IP<2:0> U1IS<1:0> 0000
1100 IPC7 31:16 — — — SPI2IP<2:0> SPI2IS<1:0> — — — — — — CMP2IP<2:0> CMP2IS<1:0> 0000
15:0 — — — CMP1IP<2:0> CMP1IS<1:0> — — — — — — PMPIP<2:0> PMPIS<1:0> 0000
1110 IPC8 31:16 — — — RTCCIP<2:0> RTCCIS<1:0> — — — — — — FSCMIP<2:0> FSCMIS<1:0> 0000
15:0 — — — I2C2IP<2:0> I2C2IS<1:0> — — — — — — U2IP<2:0> U2IS<1:0> 0000
1140 IPC11 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — USBIP<2:0> USBIS<1:0> — — — — — — FCEIP<2:0> FCEIS<1:0> 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: Except where noted, all registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

2: This register does not have associated CLR, SET, and INV registers.

PIC32MX3XX/4XX

TABLE 4-7: TIMER1-5 REGISTERS MAP(1)

Virtual Address (BF80_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
0600 T1CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL TWDIS TWIP — — — TGATE — TCKPS<1:0> — — TSYNC TCS — 0000
0610 TMR1 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
0620 PR1 31:16 — — — — — — — — — — — — — — — — 0000
15:0 FFFF
0800 T2CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — TGATE — TCKPS<2:0> — T32 — TCS(2) — 0000
0810 TMR2 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
0820 PR2 31:16 — — — — — — — — — — — — — — — — 0000
15:0 FFFF
0A00 T3CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — TGATE — TCKPS<2:0> — — — TCS(2) — 0000
0A10 TMR3 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
0A20 PR3 31:16 — — — — — — — — — — — — — — — — 0000
15:0 FFFF
0C00 T4CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — TGATE — TCKPS<2:0> — T32 — TCS(2) — 0000
0C10 TMR4 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
0C20 PR4 31:16 — — — — — — — — — — — — — — — — 0000
15:0 FFFF
0E00 T5CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — TGATE — TCKPS<2:0> — — — TCS(2) — 0000
0E10 TMR5 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
0E20 PR5 31:16 — — — — — — — — — — — — — — — — 0000
15:0 FFFF

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

2: This bit is not available on 64-pin devices.

TABLE 4-8: INPUT CAPTURE1-5 REGISTERS MAP

Virtual Address (BF80_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
2000 IC1CON(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — FEDGE C32 ICTMR ICI<1:0> ICOV ICBNE ICM<2:0> 0000
2010 IC1BUF 31:16 xxxx
15:0 xxxx
2200 IC2CON(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — FEDGE C32 ICTMR ICI<1:0> ICOV ICBNE ICM<2:0> 0000
2210 IC2BUF 31:16 xxxx
15:0 xxxx
2400 IC3CON(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — FEDGE C32 ICTMR ICI<1:0> ICOV ICBNE ICM<2:0> 0000
2410 IC3BUF 31:16 xxxx
15:0 xxxx
2600 IC4CON(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — FEDGE C32 ICTMR ICI<1:0> ICOV ICBNE ICM<2:0> 0000
2610 IC4BUF 31:16 xxxx
15:0 xxxx
2800 IC5CON(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — FEDGE C32 ICTMR ICI<1:0> ICOV ICBNE ICM<2:0> 0000
2810 IC5BUF 31:16 xxxx
15:0 xxxx

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: This register has corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-9: OUTPUT COMPARE1-5 REGISTERS MAP(1)

Virtual Address (BF80_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
3000 OC1CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — — — OC32 OCFLT OCTSEL OCM<2:0> 0000
3010 OC1R 31:16 xxxx
15:0 xxxx
3020 OC1RS 31:16 xxxx
15:0 xxxx
3200 OC2CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — — — OC32 OCFLT OCTSEL OCM<2:0> 0000
3210 OC2R 31:16 xxxx
15:0 xxxx
3220 OC2RS 31:16 xxxx
15:0 xxxx
3400 OC3CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — — — OC32 OCFLT OCTSEL OCM<2:0> 0000
3410 OC3R 31:16 xxxx
15:0 xxxx
3420 OC3RS 31:16 xxxx
15:0 xxxx
3600 OC4CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — — — OC32 OCFLT OCTSEL OCM<2:0> 0000
3610 OC4R 31:16 xxxx
15:0 xxxx
3620 OC4RS 31:16 xxxx
15:0 xxxx
3800 OC5CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — — — — — — OC32 OCFLT OCTSEL OCM<2:0> 0000
3810 OC5R 31:16 xxxx
15:0 xxxx
3820 OC5RS 31:16 xxxx
15:0 xxxx

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-10: I2C1-2 REGISTERS MAP(1)

Virtual Address (BF80_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
5000 I2C1CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL SCLREL STRICT A10M DISS LW SMEN GCEN STREN ACKDT ACKEN RCEN PEN RSEN SEN 1000
5010 I2C1STAT 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ACKSTAT TRSTAT — — — BCL GCSTAT ADD10 IWCOL I2COV D/A P S R/W RBF TBF 0000
5020 I2C1ADD 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
ADD<9:0>
5030 I2C1MSK 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
MSK<9:0>
5040 I2C1BRG 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
I2C1BRG<11:0>
5050 I2C1TRN 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
I2CT1DATA<7:0>
5260 I2C1RCV 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
I2CR1DATA<7:0>
5200 I2C2CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL SCLREL STRICT A10M DISS LW SMEN GCEN STREN ACKDT ACKEN RCEN PEN RSEN SEN 1000
5210 I2C2STAT 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ACKSTAT TRSTAT — — — BCL GCSTAT ADD10 IWCOL I2COV D/A P S R/W RBF TBF 0000
5220 I2C2ADD 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
ADD<9:0>
5230 I2C2MSK 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
MSK<9:0>
5240 I2C2BRG 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
I2C2BRG<11:0>
5250 I2C2TRN 31:16 — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
I2CT2DATA<7:0>
5260 I2C2RCV 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — — — — — 0000
I2CR2DATA<7:0>

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: All registers in this table except I2CxRCV have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-11: UART1-2 REGISTERS MAP

Virtual Address (BF80_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
6000 U1MODE(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL IREN RTSMD — UEN<1:0> WAKE LPBACK ABAUD RXINV BRGH PDSEL<1:0> STSEL 0000
6010 U1STA(1) 31:16 — — — — — — — ADM_EN 0000
15:0 UTXISEL<1:0> UTXINV URXEN UTXBRK UTXEN UTXBF TRMT URXISEL<1:0> ADDEN RIDLE PERR FERR OERR URXDA 0110
6020 U1TXREG 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — TX8 0000
6030 U1RXREG 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — RX8 0000
6040 U1BRG(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
6200 U2MODE(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL IREN RTSMD — UEN<1:0> WAKE LPBACK ABAUD RXINV BRGH PDSEL<1:0> STSEL 0000
6210 U2STA(1) 31:16 — — — — — — — ADM_EN 0000
15:0 UTXISEL<1:0> UTXINV URXEN UTXBRK UTXEN UTXBF TRMT URXISEL<1:0> ADDEN RIDLE PERR FERR OERR URXDA 0110
6220 U2TXREG 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — TX8 0000
6230 U2RXREG 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — RX8 0000
6240 U2BRG(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: This register has corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-12: SPI1-2 REGISTERS MAP(1,2)

Virtual Address (BF80_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
5800 SPI1CON 31:16 FRMEN FRMSYNC FRMPOL — — — — — — — — — — — SPIFE — 0000
15:0 ON — SIDL DISSDO MODE32 MODE16 SMP CKE SSEN CKP MSTEN — — — — — 0000
5810 SPI1STAT 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — SPIBUSY — — — — SPIROV — — SPITBE — — SPIRBF 0008
5820 SPI1BUF 31:16 0000
15:0 0000
5830 SPI1BRG 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — 0000
5A00 SPI2CON 31:16 FRMEN FRMSYNC FRMPOL — — — — — — — — — — — SPIFE — 0008
15:0 ON — SIDL DISSDO MODE32 MODE16 SMP CKE SSEN CKP MSTEN — — — — — 0000
5A10 SPI2STAT 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — SPIBUSY — — — — SPIROV — — SPITBE — — SPIRBF 0008
5A20 SPI2BUF 31:16 0000
15:0 0000
5A30 SPI2BRG 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: All registers in this table except SPIxBUF have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

2: SPI2 Module is not present on PIC32MX420FXXXX/440FXXXX devices.

TABLE 4-13: ADC REGISTERS MAP

Virtual Address (BF80_#) Register Name Bit Range Bits 31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0 All Resets
9000 AD1CON1(1) 31:16 — — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL — — FORM<2:0> SSRC<2:0> CLRASAM — ASAM SAMP DONE 0000
9010 AD1CON2(1) 31:16 — — — — — — — — — — — — — — — — — 0000
15:0 VCFG2 VCFG1 VCFG0 OFFCAL — CSCNA — — BUFS — SMPI<3:0> BUFM ALTS 0000
9020 AD1CON3(1) 31:16 — — — — — — — — — — — — — — — — — 0000
15:0 ADRC — — SAMC<4:0> ADCS<7:0> 0000
9040 AD1CHS(1) 31:16 CH0NB — — — CH0SB<3:0> CH0NA — — — CH0SA<3:0> 0000
15:0 — — — — — — — — — — — — — — — — — 0000
9060 AD1PCFG(1) 31:16 — — — — — — — — — — — — — — — — — 0000
15:0 PCFG15 PCFG14 PCFG13 PCFG12 PCFG11 PCFG10 PCFG9 PCFG8 PCFG7 PCFG6 PCFG5 PCFG4 PCFG3 PCFG2 PCFG1 PCFG0 0000
9050 AD1CSSL(1) 31:16 — — — — — — — — — — — — — — — — — 0000
15:0 CSSL15 CSSL14 CSSL13 CSSL12 CSSL11 CSSL10 CSSL9 CSSL8 CSSL7 CSSL6 CSSL5 CSSL4 CSSL3 CSSL2 CSSL1 CSSL0 0000
9070 ADC1BUF0 31:16 ADC Result Word 0 (ADC1BUF0<31:0>) 0000
15:0 0000
9080 ADC1BUF1 31:16 ADC Result Word 1 (ADC1BUF1<31:0>) 0000
15:0 0000
9090 ADC1BUF2 31:16 ADC Result Word 2 (ADC1BUF2<31:0>) 0000
15:0 0000
90A0 ADC1BUF3 31:16 ADC Result Word 3 (ADC1BUF3<31:0>) 0000
15:0 0000
90B0 ADC1BUF4 31:16 ADC Result Word 4 (ADC1BUF4<31:0>) 0000
15:0 0000
90C0 ADC1BUF5 31:16 ADC Result Word 5 (ADC1BUF5<31:0>) 0000
15:0 0000
90D0 ADC1BUF6 31:16 ADC Result Word 6 (ADC1BUF6<31:0>) 0000
15:0 0000
90E0 ADC1BUF7 31:16 ADC Result Word 7 (ADC1BUF7<31:0>) 0000
15:0 0000
90F0 ADC1BUF8 31:16 ADC Result Word 8 (ADC1BUF8<31:0>) 0000
15:0 0000
9100 ADC1BUF9 31:16 ADC Result Word 9 (ADC1BUF9<31:0>) 0000
15:0 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: This register has corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-13: ADC REGISTERS MAP (CONTINUED)

Virtual Address (BF80_#) Register Name Bit Range Bits 31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0 All Resets
9110 ADC1BUFA 31:16 ADC Result Word A (ADC1BUFA<31:0>) 0000
15:0 0000
9120 ADC1BUFB 31:16 ADC Result Word B (ADC1BUFB<31:0>) 0000
15:0 0000
9130 ADC1BUFC 31:16 ADC Result Word C (ADC1BUFC<31:0>) 0000
15:0 0000
9140 ADC1BUFD 31:16 ADC Result Word D (ADC1BUFD<31:0>) 0000
15:0 0000
9150 ADC1BUFE 31:16 ADC Result Word E (ADC1BUFE<31:0>) 0000
15:0 0000
9160 ADC1BUFF 31:16 ADC Result Word F (ADC1BUFF<31:0>) 0000
15:0 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: This register has corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-14: DMA GLOBAL REGISTERS MAP FOR PIC32MX340FXXXX/360FXXXX/440FXXXX/460XXXX DEVICES ONLY

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
3000 DMA CON(1) 31:16 — — — — — — — — — — — — — — — — 0000
15:0 ON — SIDL SUSPEND — — — — — — — — — — — — 0000
3010 DMA STAT 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — — — — — RDWR — DMACH<1:0> 0000
3020 DMA ADDR 31:16 0000
15:0 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: This register has corresponding CLR, SET and INV registers at its virtual address, plus an offset of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-15: DMA CRC REGISTERS MAP FOR PIC32MX340FXXXX/360FXXXX/440FXXXX/460XXXX DEVICES ONLY(1)

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
3030 DCRC CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — 0000
3040 DCRC DATA 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000
3050 DCRC XOR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: All registers in this table have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-16: DMA CHANNELS 0-3 REGISTERS MAP FOR PIC32MX340FXXXX/360FXXXX/440FXXXX/460XXXX DEVICES ONLY(1)

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: All registers except DCHxSPTR, DCHxD PTR and DCHxC PTR have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-16: DMA CHANNELS 0-3 REGISTERS MAP FOR PIC32MX340FXXXX/360FXXXX/440FXXXX/460XXXX DEVICES ONLY(1) (CONTINUED)

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
3160 DCH1DSA 31:16 0000
15:0 0000
3170 DCH1SSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHSSIZ<7:0> 0000
3180 DCH1DSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHDSIZ<7:0> 0000
3190 DCH1SPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHSPTR<7:0> 0000
31A0 DCH1DPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHDPTR<7:0> 0000
31B0 DCH1CSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHCSIZ<7:0> 0000
31C0 DCH1CPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHCPTR<7:0> 0000
31D0 DCH1DAT 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHPDAT<7:0> 0000
31E0 DCH2CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — CHCHNS CHEN CHAED CHCHN CHAEN — CHEDET CHPRI<1:0> 0000
31F0 DCH2ECON 31:16 — — — — — — — — CHAIRQ<7:0> 00FF
15:0 CFORCE CABORT PATEN SIRQEN AIRQEN — — — FF00
3200 DCH2INT 31:16 — — — — — — — — CHSDIE CHSHIE CHDDIE CHDHIE CHBCIE CHCCIE CHTAIE CHERIE 0000
15:0 — — — — — — — — CHSDIF CHSHIF CHDDIF CHDHIF CHBCIF CHCCIF CHTAIF CHERIF 0000
3210 DCH2SSA 31:16 0000
15:0 0000
3220 DCH2DSA 31:16 0000
15:0 0000
3230 DCH2SSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHSSIZ<7:0> 0000
3240 DCH2DSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHDSIZ<7:0> 0000
3250 DCH2SPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — CHSPTR<7:0> 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: All registers except DCHxSPTR, DCHxDPTR and DCHxCPTR have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

TABLE 4-16: DMA CHANNELS 0-3 REGISTERS MAP FOR PIC32MX340FXXXX/360FXXXX/440FXXXX/460XXXX DEVICES ONLY(1) (CONTINUED)

Virtual Address (BF88_#) Register Name Bit Range Bits All Resets
31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 18/2 17/1 16/0
3260 DCH2DPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3270 DCH2CSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3280 DCH2CPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3290 DCH2DAT 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
32A0 DCH3CON 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — CHCHNS CHEN CHAED CHCHN CHAEN — CHEDET CHPRI<1:0> 0000
32B0 DCH3ECON 31:16 — — — — — — — — 00FF
15:0 CFORCE CABORT PATEN SIRQEN AIRQEN — — — FF00
32C0 DCH3INT 31:16 — — — — — — — — CHSDIE CHSHIE CHDDIE CHDHIE CHBCIE CHCCIE CHTAIE CHERIE 0000
15:0 — — — — — — — — CHSDIF CHSHIF CHDDIF CHDHIF CHBCIF CHCCIF CHTAIF CHERIF 0000
32D0 DCH3SSA 31:16 0000
15:0 0000
32E0 DCH3DSA 31:16 0000
15:0 0000
32F0 DCH3SSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3300 DCH3DSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3310 DCH3SPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3320 DCH3DPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3330 DCH3CSIZ 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3340 DCH3CPTR 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000
3350 DCH3DAT 31:16 — — — — — — — — — — — — — — — — 0000
15:0 — — — — — — — — 0000

Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal.

Note 1: All registers except DCHxSPTR, DCHxDPTR and DCHxCPTR have corresponding CLR, SET and INV registers at their virtual addresses, plus offsets of 0x4, 0x8 and 0xC, respectively. See Section 12.1.1 “CLR, SET and INV Registers” for more information.

PIC32MX3XX/4XX

Text converted from the manufacturer's document. A □ marks a character that could not be read in the original. Back to the Microchip PIC32 discussions