How To Flash¶
Depending on whether you have a debugger or not, you have to use a different method of flashing:
Flash Without Debugger¶
If you do not have a debugger, you have to update the firmware using our bootloader. To do so, you need to reboot card10 while keeping the buttom on the bottom right pressed. Rebooting is done by either short pressing the power button (top left) while you have a working firmware, or turning the card10 off completely (by pressing the power button for 8 seconds) and then starting it again.

If you did everything correctly, the bootloader will display:
Bootloader
Jul 28 2019
USB activated.
Ready.
On your host, you should now see an 8MB flash-device appear. You can now drop
the firmware’s .bin
(from build/pycardium/pycardium_epicardium.bin
in
most cases) into this flash-storage. You must call the file card10.bin
for the bootloader to use it.
The bootloader will then display Writing.
in red while it is actually
writing the file to external flash. Please wait until it displays Ready.
again before resetting card10 by pressing the power button again.
Flash Using Debugger¶
First, setup everything as explained on the Debugger page. Following
that and after connecting to card10, you can flash your binary using the
load
command. After loading, you need to use reset
to reboot card10
using your new firmware.
Warning
With the current version of the bootloader, before attempting to flash using
the debugger, make sure there is no card10.bin
stored on the device.
If there is, the bootloader will overwrite whatever you just flashed after
reboot every time.
(gdb) load
Loading section .text, size 0x12514 lma 0x10010000
Loading section .ARM.exidx, size 0x8 lma 0x10022514
Loading section .data, size 0x8d8 lma 0x1002251c
Start address 0x10012160, load size 77300
Transfer rate: 19 KB/sec, 11042 bytes/write.
(gdb)
Note
If OpenOCD was able to connect, but GDB gives you an
Error erasing flash with vFlashErase packet
error, issue a reset
command, quickly followed by a load
command.
Reason: The Epicardium puts parts of the CPU to sleep and the debugging interface is part of that. After a reset the bootloader starts up and lets OpenOCD/GDB take control again.