Обновление прошивки (только WA2000)
Модуль расширения Wi-Fi/BLE WA2000 хранит свою прошивку во флеш-памяти. Прошивка состоит из двух независимых частей:
- основная прошивка, которая реализует все функции, необходимые для объекта wln. и объекта bt.;
- Monitor/Loader (прошивка), который помогает обновлять основную прошивку WA2000.
Объект wln. позволяет обновить и основную прошивку, и Monitor/Loader прямо из вашего приложения на Tibbo BASIC/C. Для этого предусмотрены следующие методы:
- wln.setupgraderegion - выбирает цель обновления (прошивка или Monitor/Loader) и сбрасывает внутренний указатель флеш-памяти.
- wln.writeflashpage - передаёт в WA2000 128 байт файла прошивки. WA2000 не записывает файл сразу в целевую область флеш-памяти, а сначала сохраняет его в резервной области. С каждым вызовом этого метода указатель флеш-памяти увеличивается.
- wln.upgrade - запускает копирование загруженного файла (он хранится в резервной области флеш-памяти) в целевую область (прошивка или Monitor/Loader). Управление сразу возвращается приложению.
- wln.waitforupgradecompletion - блокирует выполнение, пока не завершится процесс обновления, запущенный методом wln.upgrade.
Есть также два свойства только для чтения, с помощью которых можно узнать текущие версии основной прошивки и Monitor/Loader:
Наконец, в процессе обновления прошивки участвуют и два следующих метода:
Основное назначение этих методов уже описано: wln.getmoduletype определяет тип модуля Wi-Fi, а wln.boot загружает модуль. При обновлении у них появляется ещё одна роль: они запускают WA2000 либо в Monitor/Loader, либо в основную прошивку. Чтобы обновить основную прошивку, WA2000 должен выполнять Monitor/Loader. Для этого после сброса модуля вызывается wln.getmoduletype. Чтобы обновить Monitor/Loader, WA2000 должен выполнять основную прошивку. Для этого после сброса модуля вызывается wln.boot.
Для надёжности обновления WA2000 требует, чтобы приложение вычислило и передало контрольную сумму файла прошивки.
Если вам нужна помощь с обновлением прошивки WA2000, обратитесь в службу поддержки Tibbo.
Обновление любой из частей прошивки может занять до минуты, так что наберитесь терпения.