The bootloader manages the USB communication protocol and performs read/writeoperations from/to the on-chip memories.
The bootloader is located at the beginning of the on-chip flash array where an area of upto 64 kB can be configured to be write-protected by the internal flash controller. The boot loader protected size must be at least the size of the boot loader . OnAT32UC3xxxxx, it is configured to 8 kB.
Figure 5-1. Physical Environment
BatchISP is the PC tool that allows to program a part using the AT32UC3 USB DFU bootloader. It is compatible with Windows and Linux. It is integrated into AVR32Studio thanks to a plugin.
Note that all GCC make files of the UC3 software framework have programming goals using BatchISP.
An AT32UC3 part having the bootloader programmed resets as any other part at 80000000h. Bootloader execution begins here. The bootloader first performs the boot process to know whether it should start the USB DFU ISP or the application. If the
tested conditions indicate that the USB DFU ISP should be started, then execution continues in the bootloader area, i.e. between 80000000h and 80002000h, else the bootloader launches the application at 80002000h.
The conditions tested by the boot process are configured by the general-purpose fuse bits located outside of the MCU address space and by a 32-bit configuration word located at the end of the flash User page.
Figure 6-1. AT32UC3A0512 Non-Volatile Memory Layout with USB DFU Bootloader