README.md 2.47 KB
Newer Older
schneider's avatar
schneider committed
1 2
# card10 Firmware Readme

3
Firmware for the card10 badge for the Chaos Communication Camp 2019.
4

5 6
We keep documentation in the `Documentation/` subdirectory.  You can find a
rendered version over at <https://firmware.card10.badge.events.ccc.de/>.
schneider's avatar
schneider committed
7

8 9
## How To Help
If you want to help us ensure the card10 will have been exactly as we reconstructed from the audio-logs we recovered, please head over to our [wiki](https://card10.badge.events.ccc.de/en/firmware/), or directly to the [issue tracker](https://git.card10.badge.events.ccc.de/card10/firmware/issues?sort=label_priority).
schneider's avatar
schneider committed
10

11 12
## How To Build
A full guide for building is available in the docs as [How To Build](https://firmware.card10.badge.events.ccc.de/how-to-build.html).
schneider's avatar
schneider committed
13

14 15 16
Last Artifacts from Gitlab-CI: [![pipeline status](https://git.card10.badge.events.ccc.de/card10/firmware/badges/master/pipeline.svg)](https://git.card10.badge.events.ccc.de/card10/firmware/-/jobs/artifacts/master/browse/build/?job=release)


17 18
## How To Flash
Flasing with or without a debugger is described in detail in [How To Flash](https://firmware.card10.badge.events.ccc.de/how-to-flash.html).
Rahix's avatar
Rahix committed
19

20 21
## Debugger
If you have a debugger, head over to our [Debugger](https://firmware.card10.badge.events.ccc.de/debugger.html) page to learn how to use it.
22

Rahix's avatar
Rahix committed
23 24 25 26
# License

Unless otherwise noted in a file, the contents of this repository are licensed under the MIT license. See [COPYING](COPYING) for more details.

27
---
schneider's avatar
schneider committed
28

29 30
# Old README Contents:
TODO: Move over into new docs
schneider's avatar
schneider committed
31 32

## Serial Console
33
Learn more about [card10's Serial Console](https://firmware.card10.badge.events.ccc.de/pycardium/overview.html#serial-console).
schneider's avatar
schneider committed
34 35 36 37 38 39

## Bootloader
The bootloader is used to flash card10 without an external debugger. It exposes the file system via USB and accepts a `card10.bin` file as firmware image.

To flash the bootloader, go to the `bootloader` directory and follow the steps above.

40
To execute the bootloader, turn off card10, press the lower right button and turn on. Connect card10 via a USB cable to a computer and mount the file system. You can now copy your card10.bin file to the file system. Eject the drive (IMPORTANT!) via your operating system (`umount` and `sync` is not enough). Turn card10 off and back on again. It will try to boot the image.
schneider's avatar
schneider committed
41 42 43 44

IMPORTANT: The prototypes have the USB data lines reversed. Use the provided USB adapter to connect card10.

### Building card10.bin
45
Run `./build_image`. TODO: Add to meson
schneider's avatar
schneider committed
46 47

The tool uses Python to generate a CRC. Make sure to have `python-crc16` installed.