Table 136. megaAVR (JTAG) OCD memtypes

IDProg AccessDebug AccessUsage / Rules
MEMTYPE_FLASH_PAGERW-
  • Used for reading and writing FLASH pages in programming mode.

  • Writing it restricted to single full FLASH pages.

  • Reading is restricted to multiple full FLASH pages.

  • If access is attempted outside of programming mode, an error is returned. [a]

MEMTYPE_EEPROM_PAGERW-
  • Used to read and write EEPROM in programming mode.

  • Writing is restricted to single full pages.

  • Reading is restricted to multiple full pages.

  • If access is attempted outside of programming mode, an error is returned[a]

MEMTYPE_FUSESRW-
  • Used to read and write FUSES in programming mode.

  • Up to 3 fuses can be written/read in one operation. More than 3 results in an error [b]

  • Up to address 0x02 can be accessed. Outside of this range results in an error [c]

  • If access is attempted outside of programming mode, an error is returned[a]

MEMTYPE_LOCKBITSRW-
  • Used to read and write LOCKBITS in programming mode.

  • Only a single lockbit is available to read, at address 0.

  • Violating this results in an error [b][c]

  • If access is attempted outside of programming mode, an error is returned[a]

MEMTYPE_SIGNATURER-
  • Used to read the device SIGNATURE in programming mode.

  • Up to 3 signature bytes can be read in one operation. More than 3 results in an error[b]

  • Up to address 0x02 can be accessed. Outside of this range results in an error[c]

  • If access is attempted outside of programming mode, an error is returned[a]

MEMTYPE_OSCCALR-
  • Used to read the device OSCCAL VALUES in programming mode.

  • Up to 4 bytes can be read in one operation. More than 4 results in an error[b]

  • Up to address 0x03 can be accessed. Outside of this range results in an error[c]

  • If access is attempted outside of programming mode, an error is returned[a]

MEMTYPE_SRAM-RW
  • Accesses SRAM and IO space during debugging.

  • If used in programming mode, an error is returned[a]

  • If a read attempts to read an area containing the OCDR register, an error is returned[c].

  • A masked read must be used in this case.

  • Any number of bytes (within payload restrictions) can be written or read in one operation.

MEMTYPE_EEPROM-RW
  • Used to read and write EEPROM during a debug session.

  • Any number of bytes can be written or read in one operation.

  • Uses monitor code heavily - may take some time to complete, depending proportionally upon the number of bytes being accessed

MEMTYPE_SPM-R
  • Used to read FLASH during a debug session.

  • If an odd number of bytes is requested, an error is returned [d].

  • If a mal-aligned address is requested, an error is returned [e].

  • Software breakpoints are filtered out.

MEMTYPE_USER_SIGNATURERWRW
  • Used to read/write the USER SIGNATURE in programming mode. NB: applies to ATmegaxxxRFR2 devices only!

  • Writing it restricted to single full FLASH pages.

  • Reading is restricted to multiple full FLASH pages.

[a] AVR8_FAILURE_ILLEGAL_STATE

[b] AVR8_FAILURE_INVALID_SIZE

[c] AVR8_FAILURE_INVALID_ADDRESS

[d] AVR8_FAILURE_ILLEGAL_MEMORY_RANGE

[e] AVR8_FAILURE_INVALID_ALIGNMENT