Top.Mail.Ru
Инструкция по обновлению прошивки панелей Flexem (FE6100, FE6070W) / Chitic (ZT8604, ZT8602)
⚙️

Обновление прошивки панелей Flexem / Chitic

Модели FE6100, FE6070W, ZT8604, ZT8602 на базе процессорного модуля FE-A33-CORE-V1.0

Allwinner A33 Sigmastar eMMC Flexem Studio 3.0+ Write Amplification

Внимание! Данная инструкция создана для решения проблемы преждевременного выхода из строя процессорных плат панелей Flexem/Chitic, возникшей у одного из пользователей при переходе на среду разработки Flexem Studio версии 3.0 и выше. Ниже подробно объяснены причины, приведены доказательства на основе анализа реальных проектов и дана пошаговая процедура обновления, позволяющая пофиксить несовместимость старых процессорных плат с новым ПО.

🔍 Почему возникла проблема с отказом панелей

Суть проблемы: Начиная с версии 3.0, среда разработки Flexem Studio ориентирована на новое аппаратное обеспечение — процессорные платы на базе чипов Sigmastar (архитектура ARM Cortex-A53). Эти платы имеют иной контроллер eMMC и требуют соответствующих драйверов. Однако, из-за отсутствия явных предупреждений, некоторые пользователи начали использовать новую студию на старом, проверенном оборудовании — платах с процессором Allwinner A33.

Это привело к эффекту «размножения записи» (write amplification). Драйверы старой процессорной платы не могли корректно обрабатывать новые команды записи, и каждая операция логирования, превращалась в многократную (в 100–1000 раз) физическую перезапись ячеек eMMC. Ресурс памяти (3000 циклов P/E) исчерпывался за 1–2 года вместо расчётных десятилетий. Важно подчеркнуть: это не было следствием небрежности пользователя или плохого проекта, а результатом несоответствия версий ПО и аппаратной платформы.

📊 Анализ ресурса eMMC: почему панели должны были жить долго

Для объективной оценки мы проанализировали типовой рабочий проект клиента (название не разглашается). В проекте использовался интенсивный сбор данных с периодом 0.2–1 секунды. Параметры настроек этого проекта представлены ниже.

Настройки проекта: 13 каналов циклического сбора данных с периодами 0,2 с и 1 с, запись архивов во внутреннюю память HMI.

Расчёт суточной нагрузки:

Тип каналовКоличествоОбъём за сутки (МБ)
С периодом 0,2 с55 × 18,96 = 94,8 МБ
С периодом 1 с87 × 3,79 + 1 × 3,14 ≈ 29,7 МБ
Итого архив трендов~124,5 МБ
С учётом событий и логов~130 МБ/сутки

Используемый чип памяти: KLM4G1FETE-B041 (eMMC 4 ГБ, MLC, ресурс 3000 циклов P/E). Рассчитаем его теоретический срок службы:

  • Общий ресурс записи (TBW): 4 ГБ × 3000 = 12 000 ГБ (~12 ТБ).
  • Срок службы при равномерной нагрузке: 12 000 ГБ / 0,130 ГБ/день ≈ 92 307 дней.
  • В годах: 92 307 / 365 ≈ 253 года.
Парадокс: При такой нагрузке память должна была работать столетиями. Однако на практике панели выходили из строя через 1–2 года. Это неопровержимо доказывает, что причина не в проекте, а в системном программном обеспечении (write amplification, вызванный несовместимостью прошивки процессорной платы и новой студии).

💾 Решение: специальная прошивка для старых процессорных плат FE-A33-CORE-V1.0

Совместно с инженерами Chitic и Flexem была проанализирована проблема и найдено решение. Производитель предоставил специальную версию прошивки (Boot 2501, Kernel 2011, Rootfs 1607), которая содержит исправленные драйверы файловой системы и контроллера eMMC. Эта прошивка, будучи установленной на старые платы Allwinner A33, устраняет эффект размножения записи и делает их полностью совместимыми с Flexem Studio 3.0 и выше.

Важное уточнение: Новые платы, которые сейчас поставляются производителем, могут быть основаны как на новом процессоре Sigmastar, так и на старом Allwinner A33, но с предустановленной исправленной прошивкой. Внешне они неотличимы, но версия системного ПО (Boot, Kernel) гарантирует их корректную работу.


📝 Инструкция по обновлению прошивки

4.1 Подготовка оборудования и ПО

  • USB-кабель для передачи данных (Mini-USB). Обычные зарядные кабели не подходят! Кабель должен уверенно работать с внешними жёсткими дисками.
  • Преобразователь USB‑RS232 (TTL) с подключением к COM3 панели (распиновка: 7-RX, 8-TX, 5-GND).
  • Компьютер с ОС Windows (рекомендуется Windows 10/11, 64‑разрядная).
  • Программное обеспечение:
    • Терминальная программа (PuTTY, TeraTerm) с поддержкой периодической отправки.
    • Утилита прошивки PhoenixUSBPro v4.0.0 (или новее) от Allwinner. Драйверы находятся в папке Drivers.
    • Файл прошивки *.img, предоставленный производителем (например, FE6070WEPRO_uart2_tina.dev.20250115_release.img).
⚠️ Критически важно: после каждой успешной прошивки (или при смене подключаемой панели) обязательно перезагружайте компьютер. Драйвер Allwinner может блокировать USB-порт, и без перезагрузки новое устройство не определится.

4.2 Вход в режим загрузчика (BOOTME) через COM-порт

  1. Обесточьте панель (отключите питание).
  2. Подключите преобразователь USB‑RS232 к COM3 панели (7-RX → 3-TX, 8-TX → 2-RX, 5-GND → 5-GND).
  3. Запустите терминал, настройте порт: скорость 115200, 8 бит, 1 стоп-бит, без чётности.
  4. В поле ввода напишите BOOTME (заглавными). Включите автоматическую отправку с интервалом 20 мс.
  5. Включите питание панели. Через несколько секунд в терминале появятся строки:
    U-Boot 2011.09-rc1 ... Allwinner Technology
    key_press
    0x00000042
  6. Немедленно закройте терминал и отключите COM-кабель от панели. Питание панели не выключайте!

4.3 Прошивка через USB

  1. Подключите USB-кабель для передачи данных к панели и к компьютеру (желательно в порт USB 2.0).
  2. Откройте Диспетчер устройств. Устройство должно определиться как «Allwinner USB FEL Device» без ошибок. Если появляется ошибка (Код 10) — перезагрузите компьютер и повторите шаги 4.2–4.3.
  3. Запустите PhoenixUSBPro от имени администратора. Нажмите кнопку «Image» и выберите ваш файл прошивки.
  4. В левой части окна должно появиться подключённое устройство (зелёный индикатор). Нажмите «Start» (или «Прошить»).
  5. Дождитесь появления зелёной отметки об успешном завершении. После этого можно отключить USB-кабель и выключить питание панели.

4.4 Проверка результата

  1. Включите панель. Зайдите в меню «Information» или получите HMI Infos через Flexem Studio.
  2. Сравните версии системных компонентов:
    • BOOT Version — должен стать равным 2501 (или новее).
    • Kernel Version2011 (или новее).
    • Rootfs Version1607 (или новее).
  3. Счётчики износа eMMC (FDS, FCS, FGUI, Floader) сохранят свои предыдущие значения — это нормально, они отражают реальную историю работы.

💡 Рекомендация: используйте внешнюю SD-карту для архивов

Даже с исправленной прошивкой мы настоятельно рекомендуем перенаправить запись архивов, логов и трендов на внешнюю карту памяти. Это не только разгружает встроенную eMMC, но и является хорошим стилем программирования, повышающим надёжность системы.

Преимущества:

  • Продление ресурса eMMC: всё, что можно записывать на карту, записывается на неё.
  • Простота замены: если карта выйдет из строя, вы замените её за минуту, а не всю плату.
  • Удобство анализа: файлы в формате CSV можно открыть в любом табличном редакторе (Excel, LibreOffice) без специального ПО.

Как настроить в Flexem Studio:

  1. Вставьте SD-карту (до 32 ГБ, отформатированную в FAT32) в панель.
  2. В проекте откройте свойства архива (Data Sampling, Alarm and Event).
  3. В поле «Путь хранения» выберите SD Card (обычно обозначается как \SDCard или \Mmc).
  4. При необходимости укажите подкаталог (например, LOGS).
  5. Включите опцию «Save CSV File» для сохранения в открытом формате.

Для моделей FE6100 и FE6070W используется слот для полноразмерных SD-карт. Рекомендуем применять карты серии High Endurance или Industrial, рассчитанные на интенсивную циклическую запись.


🙏 Благодарность производителям

Хочу выразить искреннюю благодарность инженерам и руководству компаний Chitic (中自) и Flexem за оперативное реагирование на возникшую проблему, конструктивный диалог и предоставление специальной версии прошивки для старых процессорных плат. Благодаря их профессионализму и готовности к сотрудничеству удалось не только выявить корень проблемы (write amplification при использовании новой студии на старом железе), но и разработать эффективное решение, позволяющее продлить жизнь уже эксплуатируемого оборудования. Отдельное спасибо за предоставленные новые платы взамен вышедших из строя — это подтверждает ответственность производителя за качество своей продукции.