Files
-
hardware / rev0 / debug_control_connections.sch
-
hardware / rev0 / fpga_configuration.sch
-
hardware / rev0 / host_side.sch
-
hardware / rev0 / luna_rev0.kicad_pcb
-
hardware / rev0 / luna_rev0.sch
-
hardware / rev0 / power_supplies.sch
-
hardware / rev0 / ram_section.sch
-
hardware / rev0 / right_side_indicators.sch
-
hardware / rev0 / sideband_side.sch
-
hardware / rev0 / target_side.sch
Filesfirmwaresaturn-v | |
---|---|
.. | |
common | |
deps | |
.gitignore | |
COPYRIGHT | |
LICENSE-APACHE | |
LICENSE-MIT | |
Makefile | |
README.md | |
boot.h | |
link-script.ld | |
main.c | |
usb.c |
README.mdSaturn-V Bootloader
A DAFU-Variant DFU Bootloader
_ for LUNA, and equivalent boards_
Based on opendime/DAFU/ Based on t2-firmware/boot/
Compatible with DFU Utils and pyfwup .
Code Origins
This code is a modified variant of the DAFU bootloader; a DFU bootloader for SAMD21-family microcontrollers.
Background
Saturn-V is the "recovery mode" (RCM) bootloader for LUNA. It's used to bootstrap an entire LUNA board; and can help to recover the Debug Controller (DC) if the rest of the firmware is lost (or being developed!).
Typically, the Saturn-V bootloader will be used to flash the Apollo firmware onto the Debug Controller; which can then be usd to bring up the main FPGA gateware.
Use
Compilation should be as easy as running the single
Makefile
. If you're not using thearm-none-eabi-
toolchain, you'll need to specify your compiler prefix using theCROSS
variable.Once the bootloader has been built, use an SWD programmer to load the .elf file; or program the relevant .bin to the start of ROM (0x00000000).