11
32166A–AVR32806–06/11
Atmel AVR32806
user will not be able to start the application until a START operationis issued to BatchISP.
This behavior ensures the consistency of programmed data, thanks to a non-volatile
programming session
•
If the boot loader Configuration Word1 is corrupted (wrong CRC8) or has an invalid boot key,
the USB DFU ISP process is systematically launched to allow the user to correct this value
•
If the ISP_FORCE configuration bit is 0 and the user has set the ISP_IO_COND_EN
configuration bit to 0, the ISP will no longer be reachable, except if the ISP_FORCE
configuration bit is set to 1 and the Configuration Word1 CRC8 is updated accordingly
•
If the boot loader Configuration Word2 is corrupted (wrong CRC8) or has an invalid boot key
while the configuration Word1 is correct, the USB DFU ISP process is systematically
launched to allow the user to correct this value
•
mentions the ISP RAM key. It is a specific value written in the first word of the
INTRAM by the boot loader. This key is manipulated only by the boot process for its internal
behavior to know whether it is a warm boot following the execution of the USB DFU ISP. All
the user has to know about this key is that setting the first word of the INTRAM to
4953504Bh (“ISPK”) will alter the behavior of the boot loader after a subsequent reset,
thanks to an appropriate linker script (the C99 standard requires a null pointer to compare
unequally to a pointer to any object or function). Thus, it is recommended that applications
leave the first word of the INTRAM unused
•
See the Atmel AVR UC3 datasheets referred to in
MCU reset causes
From the application point of view, if all the rules described in this document are followed, the
state of the MCU when the application begins to execute at 80002000h will be the same as after
the last MCU hardware reset (whatever its causes), except that:
•
The cycle counter system register will have counted a few cycles
•
The power manager registers may indicate some activity for Osc0 or PLL0 if the application
is launched from the ISP without reset
•
The USB register bit fields that are not reset when disabling the USB macro may not contain
their respective reset values if the application is launched from the ISP without reset
Note:
The existing boot loader implementation is not compatible with the secure state for the following
reasons:
–
The area reserved for the secure state events is used by the boot of the boot loader (this
implies that if the secure state is enabled after a reset, the boot loader will not work at all)
–
The boot loader could load secure code (as a regular application, as far as the boot loader is
concerned), but there are no existing mechanisms to load a non-secure application (that is,
just after the secure code) either in the boot loader or in BatchISP.