Monitor/Loader (M/L)
Monitor/Loader (M/L) - резидентная прошивка, которая есть во всех устройствах Tibbo.
M/L запускается при каждом включении питания, перезагрузке или выходе устройства Tibbo из сброса. Дальнейшее зависит от того, нажата ли кнопка MD (линия MD удерживается в состоянии LOW) в момент запуска M/L. В M/L V4 и новее имеет значение и то, как долго нажата кнопка.
Все программируемые устройства Tibbo, кроме WM2000 и WS1102
Если кнопка MD не нажата, M/L проверяет целостность Tibbo OS (TiOS) - основной прошивки устройств, программируемых на Tibbo BASIC/C, - и запускает её. Затем TiOS проверяет скомпилированное приложение на Tibbo BASIC/C. Если приложение корректно и скомпилировано в режиме релиза, TiOS запускает его выполнение. Если приложение скомпилировано для отладки, его нужно запустить вручную из Tibbo IDE (TIDE).
Если кнопка MD нажата, M/L переходит в режим обновления прошивки. В этом режиме можно загрузить либо только прошивку TiOS, либо прошивку TiOS вместе с двоичным файлом скомпилированного приложения на Tibbo BASIC/C. Поддерживаются следующие способы загрузки:
- Через последовательный порт устройства.
- Через порт Ethernet.
- Для продуктов Tibbo, совместимых с модулем расширения Wi-Fi/BLE WA2000 и оснащённых им, загрузку можно выполнять и через интерфейс Bluetooth Low Energy (BLE).
Обновления через M/L не следует путать с обновлениями, выполняемыми из самой TiOS. Разница в том, что для обновления из TiOS в устройстве уже должна работать исправная версия TiOS. Если устройство «окирпичено» (например, в него загрузили неверный файл прошивки TiOS), вернуть его к жизни можно только функцией обновления M/L.
Подробности о поведении M/L см. на этой блок-схеме.
WM2000 и WS1102
В WM2000 появился M/L V4, у которого добавились обязанности, связанные с расширенной функциональностью WM2000.
Во-первых, M/L V4 позволяет получать доступ (чтение или запись) к блоку конфигурации устройства (Device Configuration Block, DCB) - области флеш-памяти, где хранятся параметры конфигурации устройства, - и инициализировать его. Доступ к параметрам возможен через новую консоль BLE, а инициализировать (сбросить) их можно с помощью кнопки MD.
Во-вторых, поскольку WM2000 и WS1102 могут хранить два двоичных файла скомпилированных приложений на Tibbo BASIC/C, называемых APP0 и APP1, M/L теперь отвечает за выбор приложения, которое запускается при загрузке. Обычно это определяется параметром, хранящимся в DCB, но кнопкой MD этот параметр можно и переопределить, принудительно выбрав APP0.
M/L V4 поддерживает следующие способы загрузки:
- Загрузка через последовательный порт устройства.
- Загрузка по Wi-Fi.
- Загрузка через интерфейс Bluetooth Low Energy (BLE). В WM2000 и WS1102 этот режим поддерживается изначально.
Подробности о поведении M/L V4 см. на этой блок-схеме.
Светодиоды состояния
M/L активно использует светодиоды состояния, имеющиеся во всех устройствах Tibbo. Следите за шаблонами, которые показывают эти светодиоды, и вы поймёте, что делает ваше устройство Tibbo.