377
XMEGA B [DATASHEET]
8291B–AVR–01/2013
30.
Memory Programming
30.1
Features
Read and write access to all memory spaces from
External programmers
Application software self-programming
Self-programming and boot loader support
Read-while-write self-programming
CPU can run and execute code while flash is being programmed
Any communication interface can be used for program upload/download
External programming
Support for in-system and production programming
Programming through serial PDI or JTAG interface
High security with separate boot lock bits for:
External programming access
Boot loader section access
Application section access
Application table access
Reset fuse to select reset vector address to the start of the
Application section, or
Boot loader section
30.2
Overview
This section describes how to program the nonvolatile memory (NVM) in Atmel AVR XMEGA devices, and covers both
self-programming and external programming. The NVM consists of the flash program memory, user signature and
production signature rows, fuses and lock bits, and EEPROM data memory. For details on the actual memories, how
they are organized, and the register description for the NVM controller used to access the memories, refer to
The NVM can be accessed for read and write from application software through self-programming and from an external
programmer. Accessing the NVM is done through the NVM controller, and the two methods of programming are similar.
Memory access is done by loading address and/or data to the selected memory or NVM controller and using a set of
commands and triggers that make the NVM controller perform specific tasks on the nonvolatile memory.
From external programming, all memory spaces can be read and written, except for the production signature row, which
can only be read. The device can be programmed in-system and is accessed through the PDI using the PDI or JTAG
physical interfaces.
“External Programming” on page 390
describes PDI and JTAG in detail.
Self-programming and boot loader support allows application software in the device to read and write the flash, user
signature row and EEPROM, write the lock bits to a more secure setting, and read the production signature row and
fuses. The flash allows read-while-write self-programming, meaning that the CPU can continue to operate and execute
code while the flash is being programmed.
“Self-programming and Boot Loader Support” on page 381
detail.
For both self-programming and external programming, it is possible to run a CRC check on the flash or a section of the
flash to verify its content after programming.
The device can be locked to prevent reading and/or writing of the NVM. There are separate lock bits for external
programming access and self-programming access to the boot loader section, application section, and application table
section.
30.3
NVM Controller
Access to the nonvolatile memories is done through the NVM controller. It controls NVM timing and access privileges,
and holds the status of the NVM, and is the common NVM interface for both external programming and self-
Summary of Contents for XMEGA B
Page 320: ...320 XMEGA B DATASHEET 8291B AVR 01 2013 Table 25 12 7 segments Character Table...
Page 321: ...321 XMEGA B DATASHEET 8291B AVR 01 2013 Table 25 13 14 segments Character Table...
Page 322: ...322 XMEGA B DATASHEET 8291B AVR 01 2013 Table 25 14 16 segments Character Table...
Page 412: ...412 XMEGA B DATASHEET 8291B AVR 01 2013...
Page 413: ...413 XMEGA B DATASHEET 8291B AVR 01 2013...