Download Print this page
Atmel UC3 Series Manual

Atmel UC3 Series Manual

32-bit microcontroller

Advertisement

Quick Links

Features
USB DFU boot loaders, version 1.1.0
Same feature set as version 1.0.3
These boot loaders do not use any general purpose fuses
USB protocol
– Based on the USB device firmware upgrade (DFU) class
– Auto-baud (8, 12, and 16MHz crystal on Osc0)
In-system programming (ISP)
– Configurable I/O start conditions (default is pressing the joystick on
and
EVK1100
Atmel
Atmel UC3C-EK, HBUTTON0 button on Atmel UC3-C2-Xplained
user page. Protected by 8-bit CRC
– Can be forced by non-volatile configuration bits stored in user page. Protected by
8-bit CRC
– Read/write, on-chip flash memories
– Read device ID
– Full chip erase
– Start application command
EVK1101, SW2 button on
Atmel
EVK1104, PB0 button on
Atmel
board) stored in
®
Atmel UC3 32-bit
Microcontroller
AVR UC3
DFU Boot
Loader, Version
1.1.0 and Higher
USB
32166A–AVR32806–06/11

Advertisement

loading

Summary of Contents for Atmel UC3 Series

  • Page 1 EVK1100 Atmel Atmel Atmel UC3 32-bit board) stored in Atmel UC3C-EK, HBUTTON0 button on Atmel UC3-C2-Xplained user page. Protected by 8-bit CRC – Can be forced by non-volatile configuration bits stored in user page. Protected by Microcontroller 8-bit CRC – Read/write, on-chip flash memories –...
  • Page 2: Related Parts

    USB. One boot loader is compiled for each AVR UC3 series. The default hardware I/O conditions used to request the start of the ISP are also specific to each family.
  • Page 3 Atmel AVR UC3 A3 Series datasheet: http://www.atmel.com/dyn/resources/prod_documents/doc32072.pdf • Atmel AVR UC3 C0, C1, C2 Series datasheet: http://www.atmel.com/dyn/resources/prod_documents/doc32117.pdf • Atmel AVR UC3 A0, A1, A3, B0, B1 DFU boot loader up to version 1.0.3: http://www.atmel.com/dyn/resources/prod_documents/doc7745.pdf • Atmel AVR Software Framework: http://www.atmel.com/asf •...
  • Page 4 On Atmel AT32UC3xxxxx devices, it is configured to 8KB. Figure 5-1. Physical environment. BatchISP is a PC tool that allows a part to be programmed using the Atmel AVR UC3 USB DFU ® ®...
  • Page 5: Inner Workings

    6.1 Memory layout part with the preprogrammed boot loader resets as any other part, at Atmel AVR UC3 80000000h. Boot loader execution begins here. The boot loader first performs the boot process to know whether it should start the USB DFU ISP or the application. If the tested conditions indi- cate that the USB DFU ISP should be started, then execution continues in the boot loader area between 80000000h and 80002000h;...
  • Page 6 AVR UC3 devices are shipped with their fuses set as follows: • For Atmel AVR UC3 C series: The general purpose fuses are set to F877FFFFh • That is, BOD is enabled, and the boot loader area is set to 8192 bytes.
  • Page 7 GPIO pin and to free the penultimate word of the user page, but the ISP will then be unreachable until the ISP_FORCE bit is set to 1. This behavior can be useful when extending the Atmel default boot loader with an applicative boot loader (see Section 7.6.3.3).
  • Page 8 The default value of the boot loader flash user page Configuration Word1 is E11EFFD7h (that is, ISP_FORCE is enabled) for all Atmel AVR UC3 C and D series devices. The default value of the boot loader flash user page Configuration Word2 is: •...
  • Page 9: Boot Process

    Atmel AVR32806 6.3 Boot process After reset, the boot process starts at 80000000h: • If the ISP_FORCE configuration bit is 1 (see 6-1), the USB DFU ISP is immediately Table started • If the ISP_FORCE configuration bit is 0: –...
  • Page 10 The ISP_FORCE configuration bit in the user page Configuration Word1 is set to 1 by the ISP on each ISP command received, and it is set to 0 by the ISP when a request to start the application is received. That means that after a command has been sent using BatchISP, the Atmel AVR32806 32166A–AVR32806–06/11...
  • Page 11 Thus, it is recommended that applications leave the first word of the INTRAM unused • See the Atmel AVR UC3 datasheets referred to in for a detailed description of Section 3...
  • Page 12: Using The Boot Loader

    Windows at32uc3x-isp-x.x.x.hex command shell using the script. For example, to program ver- program_at32uc3x-isp-x.x.x.cmd sion 1.1.4 of the Atmel AVR UC3 C USB DFU boot loader, simply execute ./program_at32uc3c- in the folder. isp-1.1.4.cmd releases/at32uc3c01/ The steps performed by the programming scripts (for version 1.1.4 of the AVR UC3 C ISP) are:...
  • Page 13 Atmel AVR32806 mine the frequency of the clock input on Osc0. Trying to communicate with the ISP before it is detected by the PC OS as a USB device will fail. 7.3 Customizing the ISP configuration words The purpose of this section is to propose a method for computing ISP Configuration Word1 and...
  • Page 14 Create a binary file made of one 32-bit word with the value 0xE11EFDD9, for example; name that binary file isp_mycfg_w1.bin, for example – Issue the following command through a hardware debugger (such as Atmel AVR JTAGICE mkII Atmel AVR ONE!): avr32program program -finternal@0x80000000,512Kb -cxtal -e -v -O0x808001FC -Fbin isp_mycfg_w1.bin...
  • Page 15 -device at32uc3c0512c -hardware usb -operation memory user addrange 0x1FF 0x1FF fillbuffer 0xD9 program 7.4 BatchISP BatchISP is a command line tool that allows parts containing an embedded Atmel ISP to be pro- grammed. It comes with 3. See for download information.
  • Page 16 PB0 pressed Atmel UC3C-EK while releasing the reset push button. This will open a new hardware installation window. Choose not to connect to Windows Update for this installation, and click “Next:”...
  • Page 17 Atmel AVR32806 On the next screen, select “Install from a list or specific location (advanced),” and click “Next:” Then, request a search in the folder of the installation directory, as shown below, Atmel FLIP and click ”Next:” 32166A–AVR32806–06/11...
  • Page 18 This installation must be done for each new part family used. For example, using an Atmel then an will not require a new installation, but AT32UC3C0256C and Atmel AT32UC3C0128C then connecting an will. Atmel AT32UC3B0256 7.4.2 Usage To launch BatchISP, open a command prompt. A Windows or Cygwin command prompt can be...
  • Page 19 Atmel AVR32806 Figure 7-1. Typical BatchISP command line. For each operation, BatchISP displays the result. BatchISP main commands available on the Atmel AT32UC3xxxxx are: • changes the displayed results of the following operations according ASSERT { PASS | FAIL } to the expected behavior •...
  • Page 20 , or see the help files installed batchisp -h with Atmel FLIP file:///C:\Program%20Files\Atmel\Flip%203.2.0\help\index.htm 7.5 Atmel AVR32 Studio is an integrated development environment for UC3. It inte- Atmel AVR32 Studio Atmel AVR grates a plug-in giving access to BatchISP features. See for download information.
  • Page 21 Atmel AVR32806 In this pane, click the Create New Target button: A new AVR32 target will appear in this pane, and its properties will be displayed in the Proper- ties pane where it can be renamed (In general tab). From the Details tab in the Properties pane, select USB DFU for the debugger/programmer, and select the correct microcontroller part: The BatchISP AVR32 target is now ready to use.
  • Page 22 Atmel AVR UC3 Software Framework can be programmed with both hardware debuggers and BatchISP. To achieve this, a trampoline section is placed at the reset vector (80000000h). This section simply jumps to the beginning of the application (80002000h).
  • Page 23 Atmel AVR32806 Figure 7-2. Application programming on with a hardware the Atmel AT32UC3C0256C debugger. MCU Address Space without Bootloader Binary Image of Application Linked Free Flash Space with Trampoline 248 kB 256-kB Application Application Flash Array Application is @ 80002000h...
  • Page 24 Figure 7-3. Application programming on the with BatchISP. Atmel AT32UC3C0256C MCU Address Space with Bootloader Binary Image of Application Linked Free Flash Space with Trampoline 248 kB 256-kB Application Application Flash Array Application is @ 80002000h Jump Trampoline Bootloader 8 kB...
  • Page 25 Atmel AVR32806 batchisp -device at32uc3c0512c -hardware usb -operation erase f memory flash blankcheck loadbuffer $TARGET_BPATH$.hex program verify start reset 0 ® This requires the generation of an Intel hex extra output file: 32166A–AVR32806–06/11...
  • Page 26 Set the program entry point to by adding _trampoline -Wl,-e,_trampoline LD_EXTRA_FLAGS To add the trampoline to an IAR project, do the following: • to the project files avr32/utils/startup/trampoline_uc3.S82 • Select the appropriate linker script from in the project options avr32/utils/linker_scripts Atmel AVR32806 32166A–AVR32806–06/11...
  • Page 27 Atmel AVR32806 • Set the program entry label to in the project options: __isp The trampoline can be removed from a GCC or IAR project to reallocate the size of the boot loader for the application. This can be achieved by removing the...
  • Page 28 The applicative boot loader is responsible for the following operations. Once the Atmel ISP has been used to program the application and its boot loader, it can be deactivated by setting the ISP_IO_COND_EN configuration bit to 0 (see Section 6.2.2) if it is no longer needed.
  • Page 29 Figure 7-4. Extension of the boot loader on the Atmel AT32UC3C0256C. MCU Address Space Free Flash Space Application 256 kB Flash Array Applicative Bootloader Application is BOOT @ 80002000h PROT 8 kB Atmel's Bootloader Reset vector is @ 80000000h...
  • Page 30: Software Information

    8.1.1 Version 1.1.4 - 2011/03/10 • Fix robustness of RCSYS detection range (±5%) Supported devices: • Atmel AVR UC3 A0, A1, rev. H and higher • Atmel AVR UC3 A3, rev. E and higher • Atmel AVR UC3 B0, B1, rev. F and higher •...
  • Page 31 Supported devices: • Atmel AT32UC3A0/1, rev. H and higher • Atmel AT32UC3A3, rev. D • Atmel AT32UC3B, rev. F and higher Known bugs and limitations: On the Atmel AT32UC3A3 device, the USB enumeration might fail. 32166A–AVR32806–06/11...
  • Page 32 8.1.8 Version 1.0.1 - 2007/12/17 • This version is only a port of version 1.0.0 to Atmel AT32UC3A, rev. H, and Atmel AT32UC3B, rev. F Supported devices: • Atmel AT32UC3A0/1, rev. H, I, and J • Atmel AT32UC3B, rev. F Known bugs and limitations: The device erratum titled “On...
  • Page 33 3. The name of ATMEL may not be used to endorse or promote products derived from this software without specific prior written permission. 4. ATMEL grants developer a non-exclusive, limited license to use the Software as a development platform solely in connection with an Atmel AVR product ("Atmel...
  • Page 34: Frequently Asked Questions

    Section 7.1 details. Q: I want to program my own boot loader. How do I do that? A: You can either replace the Atmel boot loader with your own by changing the boot loader sources in the folder /common/services/usb/class/dfu/device/atmel/isp/avr32...
  • Page 35 Atmel AVR32806 10. User guide revision history Please note that the referring page numbers in this section refer to this document. The referring revisions in this section are referring to the document revision. 10.1 Rev. A 06/11 1. Initial revision for boot loader 1.1.0. Created from (which is dedi- doc7745.pdf...
  • Page 36 Atmel AVR32806 32166A–AVR32806–06/11...
  • Page 37 Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL...