Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cogsandsquigs/twiboot
Twiboot is a Particle library that allows for interfacing with the Twiboot bootloader.
https://github.com/cogsandsquigs/twiboot
Last synced: about 1 month ago
JSON representation
Twiboot is a Particle library that allows for interfacing with the Twiboot bootloader.
- Host: GitHub
- URL: https://github.com/cogsandsquigs/twiboot
- Owner: cogsandsquigs
- License: mit
- Created: 2022-08-04T19:50:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-08-15T15:39:17.000Z (over 2 years ago)
- Last Synced: 2023-03-05T09:13:15.973Z (almost 2 years ago)
- Language: C++
- Size: 56.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Twiboot
Twiboot is a Particle library that allows for interfacing with the Twiboot bootloader.
It is a simple library that allows for the flashing of a new firmware to a Twiboot-enabled device.Examsple diagram of how an interaction between a Particle Argon and an ATmega chip w/ twiboot would go:
```mermaid
sequenceDiagram
Argon->m328p: SLA+W 0x00 STO (Stop program startup)
m328p-> Argon: ACKloop Flashing pages of progam to the ATmega
Argon->m328p: SLA+W 0x02 0x01 <128 bytes to flash...> STO (flash bytes to page)
m328p->Argon: ACK
endloop Gathering pages of data to verify w/ CRC32
Argon->m328p: SLA+W 0x02 0x01 (where to read flash)
m328p->Argon: ACK
Argon->m328p: SLA+R 128 STO (Read page bytes)
m328p->Argon: ACK
m328p->Argon:
Argon->m328p: ACK
endnote over Argon: Verifies data w/ CRC32
Argon->m328p: SLA+W 0x01 0x80 STO (Start the main app)
m328p->Argon: ACKnote over m328p: Starts the main app.
```## Installation:
Make sure that your MCU of choice has [twiboot](https://github.com/orempel/twiboot) installed. A makefile
is included here, however, this is mainly for my own purposes (for custom-building twiboot) and is not
recommended for use outside of the loop-tracks project. It is recommended to use the makefile in the twiboot subfolder (it's a gitmodule of twiboot).