loader: remove unneccesary parenthesis
loader: minor changes to usbopen()
Use the specific u16 rather than the more generic 'int' as
arguments. Compress the error handling in the search of the usb
device.
loader: track the highest address used by firmware
By tracking the highest used address in the firmware, we can break
early when it's clear that no more blocks will be written to the
teensy.
loader: finally able to load teensy 2.0 hex files
loader: initial work on teensyprogram()
Change the types of firmware and firmwaremask to be u8 instead of
byte (changing signedness). Also change types of codesz and blocksz to
be unsigned.
Add helper functions ihexinrange() and memisblank(). The major
difference from the original teeensy_loader_cli is that they operate
on unsigned integers so many of the "< 0" checks are omitted.
loader: print percent usage
loader: add codesz and blocksz for Teensy 2.0
loader: break when found usb device
loader: begin defining read_intel_hex()
loader: open usb device successfully
add initial loader program
Can scan USB devices, does not require libusb-compat, only
libusb. Compile with
gcc -Wall -o loader loader.c -lusb-1.0
readme: finish sentence on PORTx
readme: info on i/o registers
readme: add i/o register table