Skip to content
This repository was archived by the owner on Jan 29, 2024. It is now read-only.

Commit e6ea766

Browse files
committed
text tweaks
1 parent 086074e commit e6ea766

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
USB DFU Bootloader for SAMD11 / SAMD21
22
======================================
33

4-
Bootloaders are a dime a dozen, but existing USB bootloaders for the Atmel/Microchip SAMDx1 all seem to be 4kBytes in size. To spend 25% of the SAMD11's flash on the bootloader seems quite excessive.
4+
Bootloaders may be a dime a dozen, but existing USB bootloaders for the Atmel/Microchip SAMD11/SAMD21 all seem to be 4kBytes or 8kBytes in size. To spend 25% or 50% of the SAMD11's flash on the bootloader seems quite excessive. The SAMD21 may have more flash to spare than the SAMD11, but why be so wasteful with it?
55

6-
This bootloader is only 1kBytes and implements the industry-standard [DFU protocol](http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf) that is supported under multiple Operating Systems via existing tools such as [dfu-util](http://dfu-util.sourceforge.net/).
6+
This USB bootloader is only 1kBytes and implements the industry-standard [DFU protocol](http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf) that is supported under multiple Operating Systems via existing tools such as [dfu-util](http://dfu-util.sourceforge.net/).
77

8-
It is a much more space efficient alternative to the 4kB Atmel/Microchip [AN_42366](http://www.microchip.com//wwwAppNotes/AppNotes.aspx?appnote=en591491) SAM-BA Bootloader.
8+
It is a much more space efficient alternative to the 4kB Atmel/Microchip [AN_42366](http://www.microchip.com//wwwAppNotes/AppNotes.aspx?appnote=en591491) SAM-BA Bootloader or the positively gluttonous 8kB Arduino Zero bootloaders.
99

1010
## Usage
1111

12-
Downloading can be accomplished with the existing [dfu-util](http://dfu-util.sourceforge.net/) utilities.
12+
Downloading can be accomplished with any software that supports DFU, which includes the existing [dfu-util](http://dfu-util.sourceforge.net/) utilities.
1313

14-
Using the provided dx1elf2dfu utility, one can create a .dfu file; that file can then be downloaded like so:
14+
Using the provided dx1elf2dfu utility, one can create a .dfu file. The DFU software will accept that file; with [dfu-util](http://dfu-util.sourceforge.net/), downloading is like so:
1515

1616
```
1717
dfu-util -D write.dfu
1818
```
1919

2020
## Specifics
2121

22+
Source code for some example apps is provided in the 'example-apps' subdirectory.
23+
2224
The linker memory map of the user application must be modified to have an origin at 0x0000_0400 rather than at 0x0000_0000. This bootloader resides at 0x0000_0000.
2325

2426
When booting, the bootloader checks whether a GPIO pin (nominally PA15) is connected to ground. It also computes a CRC32 of the user application. If the user application is unprogrammed or corrupted, the CRC32 check should fall. If the CRC32 check fails or the GPIO pin is grounded, it runs the bootloader instead of the user application.

dx1elf2dfu/dx1elf2dfu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
and thus expects the input ELF to not use the first 1024 bytes.
88
99
The bootloader expects an application length and CRC32 to be stored
10-
without the user application (using unused vector table entries). This
10+
within the user application (using unused vector table entries). This
1111
tool calculates these quantities and inserts them into the output DFU.
1212
1313
Permission is hereby granted, free of charge, to any person obtaining a

0 commit comments

Comments
 (0)