================================================================================
This file contains misc. info on bootloaders.

1. Usable baudrates
2. USB packetization
3. Which bootloaders are for which parts ?
4. Old vs. archive folder
5. Bootloader sizes
6. Bootloader CRC

================================================================================
1. Usable baudrates
  Just checked that bootloader entry was succesful and that the prompt was
  correctly diplayed like this:

  1.60 ChipID: 208366034F9C69B7

  Baudrate range in KBPS:

  Giant, USART/USB bootloader     2.400 - 921.600
  Tiny, small                   115.200 - 921.600
  Zero                          115.200 - 921.600
  Happy, USART bootloader       115.200 - 921.600
  Happy, USART/USB bootloader   115.200 - 921.600
  GeckoP2                           300 - 921.600
  GeckoS1C2                         300 - 921.600
  GeckoS1C3                         300 - 921.600
  GeckoG1                           300 - 921.600
  GeckoT1                           300 - 921.600

================================================================================
2. USB packetization

  The USB bootloaders assume that an XMODEM packet is transferred in one USB
  transfer:
    one XMODEM packet == one USB transfer
  (One usb transfer may of course span several endpoint packet sized transfers).

================================================================================
3. Which bootloaders are for which parts ?

  The name of the binaries in the releases folder says it all (almost).
  Exceptions:
    bl-usart-ezrleopard-vx.xx are for both EZR32LG and EZR32WG parts.
    bl-usartusb-ezrleopard-vx.xx are for both EZR32LG and EZR32WG parts.
    bl-usart-tiny-small-vx.xx are for EFM32TG108 and EFM32TG110 only.
  See bootloader-matrix.txt for details.

================================================================================
4. Old vs. archive folder

  The "old" folder:
    Contains bootloaders released prior to the creation of the
    s046_bootloaders.git repo.
    These bootloaders were build as part of the AN0003 and AN0042 app. notes.

  The "archive" folder:
    Contains bootloaders build in s046_bootloaders.git repo.
    This is the "new" workflow for making/releasing bootloaders.

================================================================================
5. Bootloader sizes

  Values below are maximum allowable bootloader size.

  Family          | Usart   | Usart/usb
  ----------------|---------|----------
  EFM32G          |   2k    |
  EFM32GG         |   4k    |   16k
  EFM32HG         |   2k    |   16k
  EFM32LG         |   4k    |   16k
  EFM32TG         |   2k    |
  EFM32TG108/110  |   2k    |
  EFM32WG         |   4k    |   16k
  EFM32ZG         |   2k    |
                  |         |
  EZR32HG         |   2k    |   16k
  EZR32LG         |   4k    |   16k
  EZR32WG         |   4k    |   16k
                  |         |
  EFM32JG1B       |   10k * |
  EFM32PG1B       |   10k * |
  EFM32JG12B      |   32k * |
  EFM32PG12B      |   32k * |
  EFM32JG13B      |   16k * |
  EFM32PG13B      |   16k * |
                  |         |
  EFM32GG11B      |   32k * |
  EFM32GG12B      |   40k * |
  EFM32TG11B      |   18k * |
                  |         |
  * These bootloaders have their own memory segment (bootloader pages) and
    dont occupy space in main flash. No special treatment of application
    linker files is necessary.

================================================================================
6. Bootloader CRC

Bootloaders compute a 16bit CRC of themselves when activated.
The CRC are stored in SRAM:
 - at address 0x200000BC for all 180nm bootloaders
 - at address 0x200000BC for Dumbo based parts
 - at address 0x200000C0 for all remaining 90nm bootloaders
