Skip to content

Bootloader firmware for the Maple ARM Cortex-M3 development board from LeafLabs

Notifications You must be signed in to change notification settings

open-robotics/maple-bootloader

 
 

Repository files navigation

FILES -------------------------------------------------------------------------

stm32lib/*
  - all the (possibly consolidated) stm32 lib and usb example code

usb.c 
  - USB-specific hardware setup. Interrupts, clocks, etc. handling USB when 
    not "Attached". some low-level callbacks (low power mode, init, reset, 
    resume, etc).

usb_callbacks.c 
  - aka endpoints: handling data transfer when "Configured". calls out to 
    application specific callbacks (eg DFU or serial shit)

usb_descriptor.c 
  - aka application descriptor; big static struct and callbacks for sending
    the descriptor. 

main.c
  - main loop and calling any hardware init stuff. timing hacks for EEPROM 
    writes not to block usb interrupts. logic to handle 2 second timeout then
    jump to user code. 

hardware.c
  - init routines to setup clocks, interrupts, also destructor functions.
    does not include USB stuff. EEPROM read/write functions.

dfu.c
  - mostly the giant FSM case switch, also some USB endpoint callbacks


TODO --------------------------------------------------------------------------

 * tap reset then quickly tap The Button leaves the board in dfu wait loop 
   forever instead of just 2 seconds

 * use sizeof() for usb application descriptor

About

Bootloader firmware for the Maple ARM Cortex-M3 development board from LeafLabs

Resources

Stars

Watchers

Forks

Packages

No packages published