flipflop

A lightweight serial bootloader for PIC16F1 devices.


image::docs/logo-top-grey.png[flipflop]

Flipflop aims to be a _lightweight_ serial __boot__loader for PIC(L)F1919x
devices. +
Basic functionality is implemented to the point where it is relatively stable
at baud rates ranging from 300 to 460k over both 2-wire and 1-wire UART.

Flipflop resides in a section of memory at the beginning of Program Flash
Memory (PFM). This means the Reset (0x0) and Interrupt (0x4) vectors normally
used by an application are taken up by the bootloader. +
The bootloader does not use interrupts so the hardware Interrupt vector is
mapped to simply jump to the application's Interrupt vector. +
The Reset vector is used for all bootloader functionality. This means a
Reset is needed to enter the bootloader. On startup the bootloader decides
whether to start the bootloader or jump to the application.

Copyright (C) 2022 Rex McKinnon