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. Поддерживаются следующие способы загрузки:

Обновления через 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 поддерживает следующие способы загрузки:

Подробности о поведении M/L V4 см. на этой блок-схеме.

Светодиоды состояния

M/L активно использует светодиоды состояния, имеющиеся во всех устройствах Tibbo. Следите за шаблонами, которые показывают эти светодиоды, и вы поймёте, что делает ваше устройство Tibbo.

Исходный материал Tibbo обновлён 12 сентября 2022Оригинал на docs.tibbo.com · Сообщить об ошибке