Home - shraken/gboot GitHub Wiki
- What is the gboot bootloader?
- How does gboot bootloader work?
- What devices/targets are supported?
- What is purpose of this repo?
- Where can I find the original gboot release source?
- What modifications were made to the original repo?
What is the gboot bootloader
gboot is an 8051 USB HID bootloader designed for the Silicon Labs C8051F3xx family of microcontrollers.
How does gboot bootloader work?
gboot is a small resident firmware image that occupies a couple pages of flash and redirects execution to a secondary firmware image also stored in flash. The secondary firmware image can be replaced over a USB HID interface using the gflash
host executable.
What devices/targets are supported?
gboot officially supports the following:
- C8051F32x
- C8051F34x
- C8051F38x
- EFM8UB2
What is purpose of this repo?
The goal of this fork is to improve the build process to enable bootloader and flash utility compilation on multiple hosts (windows, mac, and linux). Additionally, external binary utilities and scripts required for binary to hex conversion and file modification have been replaced by python scripts. The final goal is to provide some documentation on the internals of the bootloader and how bootloadable binaries can be created with various toolchains.
Where can I find the original gboot release source?
Gabriele Gorla of gglabs.us published the gboot-0.29 and gflash-0.2-rc1 utility.
What modifications were made to the original gboot release?
- replace gflash Makefile w/ a CMake build system.
- modify gboot Makefile to support JLink for C2 flashing.
- replace srec_cat commands to set core parameters with a python script
set_gboot_params.py
. - use a vagrant VM for building and flashing