rf24boot — открытый (GPLv2) загрузчик для микроконтроллеров, который позволяет обновлять микропрограмму «по воздуху».
Основные функции:
- Поддержка произвольного количества разделов, каждый из которых может быть загрузочным (если это поддерживается МК).
- Простой протокол: основная машина состояния занимает меньше 200 строк.
- Переносимость: сделан на базе antares, потому может быть легко перенесен на другие архитектуры МК, которые поддерживаются этой системой сборки.
- Простота настройки: все возможные параметры настраиваются через kconfig.
-
НебольшойБольшой размер: Влезает в 4096 байт на архитектуре avr*.
В этой версии пока поддерживаются только 8-битные микроконтроллеры Atmel AVR (в которых есть поддержка функции bootloader и существует возможность задать секцию boot размером хотя бы 4096 байт). Поддержка STM32 будет добавлена сразу как только у автора появится время и необходимость сделать железку с stm32 и nrf24l01.
В виде usb-программатора пока используется OpenHardware проект uISP. В планах есть создание более быстрого usb-донгла на основе stm32.
*) 4096 байт это минимум, сколько я смог получить без серьезных последствий для читаемости кода и не прибивая все гвоздями к архитектуре avr.