aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKévin Redon <kredon@sysmocom.de>2019-02-03 13:59:26 +0100
committerKévin Redon <kredon@sysmocom.de>2019-02-03 13:59:40 +0100
commit5078232cce4e88a9a05bed70f10df3480e73f5d6 (patch)
tree52f7f641fc9009dcf5dc81416bc227cc58d1cf83
parent3a64538b3226717fbd923c74abb781194914d4ae (diff)
document flashing procedure for sysmoOCTSIMsysmoOCTSIM
the sysmoOCTSIM board does not have an onboard EDBG adapter such as the SAM E54 Xplained Pro board. instead SWD is used directly. Change-Id: I85aa4db62464d0a1b558968d0423e2adbe491a4f
-rw-r--r--README.md22
1 files changed, 12 insertions, 10 deletions
diff --git a/README.md b/README.md
index 031bc27..e39f5c1 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,7 @@
This is an implementation of the DFU mode of the [USB DFU Device Class Specification](https://usb.org/document-library/device-firmware-upgrade-11-new-version-31-aug-2004) for the Microchip SAM D5x/E5x micro-controller.
It is meant to be used as bootloader to allow flashing the main application over USB.
-The code has been developed for the Microchip [SAM E54 Xplained Pro](https://www.microchip.com/DevelopmentTools/ProductDetails/PartNo/ATSAME54-XPRO) development board using a [SAM E54](https://www.microchip.com/wwwproducts/en/ATSAME54P20A) micro-controller.
-It should work on any chip of the SAM D5x/E5x device family by replacing the corresponding device-specific definitions (usually including the chip name in the file name).
+This branch is specific to the proprietary sysmocom sysmoOCTSIM hardware.
The code uses the [Atmel START](https://start.atmel.com/) ASFv4 library.
@@ -31,7 +30,7 @@ The resulting firmware binary is `AtmelStart.bin`.
Flashing
========
-To flash the bootloader you can either use the [edbg tool](https://github.com/ataradov/edbg) over the EDBG interface of the SAM E54 Xplained Pro development board, or OpenICD with any SWJ adapter.
+To flash the bootloader you can use OpenOCD with any SWJ adapter.
The USB DFU bootloader should be flashed in a protected area of the flash memory to prevent for erasing it, as specified in data sheet section 25.6.2 Memory Organization.
The bootloader size is configured in the NVM user configuration BOOTPROT field, as specified in data sheet section 25.6.9 NVM User Configuration.
@@ -40,11 +39,14 @@ We need to reserve as least 2 pages of 8192 bytes for the bootloader since it is
This setting will also tell the bootloader where to flash the application firmware to (e.g. after the bootloader reserved space).
The LED will blink once per second if this size is not set.
-EDBG
-----
+ST-LINK/V2
+----------
-To flash the USB DFU bootloader, perform the following actions:
-* remove reserved bootloader space so we can erase it: `edbg --target atmel_cm4v2 --fuse wv,29:26,15`
-* erase the whole flash: `edbg --target atmel_cm4v2 --fuse v,29:26,15 --erase`
-* program the bootloader: `edbg --target atmel_cm4v2 --fuse v,29:26,15 --program --verify --file AtmelStart.bin`
-* reserve bootloader space: `edbg --target atmel_cm4v2 --fuse wv,29:26,13`
+To flash the USB DFU bootloader, we will use OpenOCD (with the [SAM E54 patch](http://openocd.zylin.com/#/c/4272/) and a ST-LINK/V2 SWD adapter.
+The command will perform the following actions:
+* remove reserved bootloader space so we can erase it (and reset MCU for change to be effective)
+* erase the whole flash
+* program the bootloader
+* reserve bootloader space
+
+`openocd --file interface/stlink.cfg --command "transport select hla_swd" --command "set CHIPNAME same54" --command "set CPUTAPID 0x2ba01477" --file target/atsame5x.cfg --command "init" --command "reset halt" --command "atsame5 bootloader 0" --command "flash erase_sector 0 0 last" --command "reset halt" --command "program ./AtmelStart.bin" --command "atsame5 bootloader 16384" --command "reset run" --command "shutdown"`