UniFlash: как пользоваться программой для прошивки устройств TI

Если при запуске UniFlash отладчик XDS110 не определяется, а кнопка Start остаётся неактивной, причина почти всегда в неустановленных драйверах эмулятора или неверно выбранном типе подключения — программа работает только с отладочными средствами Texas Instruments и не распознаёт сторонние программаторы. UniFlash — это официальная бесплатная утилита компании Texas Instruments для записи прошивки во Flash-память микроконтроллеров и процессоров TI: серий MSP430, SimpleLink CC13xx/CC26xx/CC32xx, Sitara, C2000 и других.

Инструмент существует в двух вариантах: десктопное приложение для Windows, Linux и macOS, а также облачная версия, работающая прямо в браузере. Оба варианта позволяют загружать образы прошивок, стирать память, верифицировать записанные данные и управлять настройками защиты кода. Ниже разберём полный цикл работы: от установки до проверки результата, а также типичные ошибки и способы их устранения.

Что умеет UniFlash и когда он нужен

Утилита закрывает все базовые задачи работы с памятью микроконтроллеров TI. Основной сценарий — загрузка готового бинарного файла (прошивки) в устройство через отладочный интерфейс JTAG, SWD, cJTAG или через последовательный порт, если чип поддерживает встроенный загрузчик (bootloader).

Помимо простой записи, программа позволяет выполнять полное стирание Flash, чтение содержимого памяти и сохранение его в файл, верификацию записанного образа, а также настройку областей защиты от чтения на поддерживаемых семействах. Это делает UniFlash полезным не только разработчику, но и инженеру на производстве при серийной прошивке плат.

  • 🔌 Прошивка через отладчики XDS110, XDS100, XDS200 и встроенные эмуляторы отладочных плат LaunchPad.
  • 📡 Загрузка по UART на устройствах с ROM-загрузчиком, если эта функция предусмотрена конкретным чипом.
  • 💾 Чтение и сохранение содержимого Flash-памяти в файл для резервного копирования.
  • 🛡️ Управление настройками защиты кода и конфигурационными областями на поддерживаемых семействах.

Установка и первый запуск

Дистрибутив десктопной версии распространяется через официальный сайт Texas Instruments — потребуется бесплатная учётная запись. Установщик доступен для Windows, Linux и macOS. Вместе с программой ставятся драйверы отладочных эмуляторов: без этого шага подключённая плата не будет видна системе, и сеанс прошивки не запустится.

Альтернатива — облачная версия, доступная в составе онлайн-инструментов TI. Она работает в браузере, но требует установки небольшого агента на компьютер, который обеспечивает связь браузера с USB-отладчиком. Этот вариант удобен, когда нет возможности ставить полное приложение, однако для стабильной работы лучше иметь актуальную версию браузера и разрешить агенту доступ к USB-устройствам.

Подключение платы и создание конфигурации

Перед запуском сеанса подключите отладочную плату или внешний эмулятор к USB-порту и дождитесь, пока система определит устройство. В диспетчере устройств Windows отладчик обычно появляется как два объекта: интерфейс отладки и виртуальный COM-порт. Если устройство помечено восклицательным знаком — переустановите драйверы, идущие в комплекте с UniFlash.

Дальше порядок действий в программе такой:

  • 🎯 На стартовом экране выберите ваше устройство из списка — введите часть названия чипа в поле поиска, например CC2652R или MSP430FR5969.
  • 🔧 Укажите тип подключения — как правило, программа сама подставляет подходящий эмулятор, например Texas Instruments XDS110 USB Debug Probe.
  • ▶️ Нажмите Start, чтобы создать конфигурацию и перейти в рабочее окно сеанса.

Если ваша плата — LaunchPad, отладчик уже встроен в неё, и отдельный эмулятор не нужен. Достаточно одного USB-кабеля. Обратите внимание на перемычки на плате: на многих LaunchPad джамперы соединяют встроенный отладчик с целевым чипом, и при их снятии прошивка станет невозможной. Точную схему перемычек смотрите в документации на конкретную плату.

📊 Для какого семейства микроконтроллеров TI вы используете UniFlash?
SimpleLink (CC13xx/CC26xx/CC32xx)
MSP430
C2000
Sitara / другие

Пошаговая инструкция по прошивке

Рабочее окно сеанса разделено на вкладки. Ключевая — Program, где выбирается файл образа и запускается запись. Поддерживаемые форматы зависят от устройства, но чаще всего это файлы .out (ELF), .hex и .bin, полученные после сборки проекта в Code Composer Studio или другой среде разработки.

☑️ Проверка перед началом прошивки

Выполнено: 0 / 5

Сам процесс записи выглядит так: нажмите Browse и укажите файл образа, затем нажмите Load Image. Программа выполнит подключение к ядру, стирание нужных секторов, запись и верификацию. Ход операции отображается в строке прогресса и в журнале сообщений внизу окна. Успешное завершение подтверждается соответствующей строкой в логе.

⚠️ Внимание: не отключайте плату и не разрывайте USB-соединение во время записи. Прерванная прошивка может оставить устройство в состоянии, когда потребуется повторное подключение с полным стиранием памяти, а на некоторых чипах — специальная процедура восстановления через загрузчик.

Для массовой прошивки одинаковых плат удобна функция сохранения сеанса: конфигурацию можно экспортировать и позже запускать без повторной настройки. Также UniFlash поддерживает работу из командной строки через пакет UniFlash CLI (dslite), что позволяет автоматизировать прошивку скриптами:

dslite --config=target.ccxml --flash --verify firmware.out

Режимы работы: стирание, чтение и настройки

Помимо вкладки Program, в сеансе доступны дополнительные операции. Раздел Memory позволяет просматривать содержимое памяти по адресам и экспортировать его в файл — это полезно для резервной копии текущей прошивки перед экспериментами. Отдельная опция отвечает за полное стирание Flash (mass erase), которое возвращает память в исходное состояние.

На устройствах с поддержкой защиты кода есть раздел настроек безопасности: там задаются параметры блокировки чтения и конфигурационные биты. Набор доступных опций сильно различается между семействами, поэтому перед изменением сверьтесь с техническим руководством (Technical Reference Manual) на ваш чип.

ОперацияГде находитсяКогда нужна
Загрузка образаВкладка Program → Load ImageЗапись прошивки с верификацией
Полное стираниеОпции Erase в сеансеОчистка памяти, сброс защиты, восстановление
Чтение памятиВкладка MemoryРезервная копия прошивки, диагностика
ВерификацияАвтоматически при загрузкеКонтроль целостности записанных данных
Прошивка из CLIУтилита dsliteАвтоматизация и серийное производство
Почему образ .bin может не подойти

Бинарный файл не содержит информации об адресе загрузки. Для некоторых устройств UniFlash потребует вручную указать стартовый адрес записи, и при неверном значении прошивка запишется не туда. Форматы .out и .hex хранят адреса внутри себя, поэтому с ними таких проблем не возникает.

Типичные ошибки и способы их устранения

Чаще всего пользователи сталкиваются с ошибкой подключения к целевому устройству: сеанс запускается, но при попытке записи появляется сообщение о невозможности соединения с ядром. Возможные причины — отсутствие питания целевой платы, снятые перемычки отладчика на LaunchPad, занятость отладочного интерфейса другой программой (например, открытым сеансом в Code Composer Studio) или повреждённый USB-кабель.

Вторая группа проблем — ошибки верификации после записи. Они указывают на то, что прочитанные данные не совпали с файлом образа. Проверьте, что файл собран именно под вашу модель чипа: прошивка от другого устройства семейства может записаться частично, но не пройти проверку. Также помогает полное стирание памяти перед повторной загрузкой.

⚠️ Внимание: если на устройстве включена защита от чтения или отладки, обычная запись может быть заблокирована. Способ снятия защиты зависит от семейства чипа и нередко предполагает полное стирание с потерей всех данных. Действуйте строго по документации на конкретную модель.

Отдельно стоит ситуация, когда UniFlash вообще не видит отладчик. Последовательно проверьте: установлены ли драйверы (в диспетчере устройств не должно быть неопознанных устройств), работает ли плата с другим USB-портом и кабелем, не блокирует ли подключение антивирус или корпоративная политика. В облачной версии дополнительно проверьте, запущен ли локальный агент и разрешён ли ему доступ к USB.

Десктопная и облачная версии: что выбрать

Функционально обе версии решают одну задачу, но сценарии применения различаются. Десктопное приложение автономно, не требует интернета после установки и лучше подходит для производственной среды и автоматизации через командную строку. Облачная версия удобна для быстрого старта: не нужно скачивать объёмный установщик, а обновления применяются автоматически.

Начинающим разработчикам на платах LaunchPad проще начать с облачного варианта — он автоматически определяет подключённую плату. Тем, кто прошивает устройства регулярно или работает в закрытой сети, разумнее сразу установить полную версию вместе с инструментами командной строки.

Часто задаваемые вопросы

Поддерживает ли UniFlash программаторы сторонних производителей?

Нет, программа рассчитана на отладочные средства Texas Instruments — эмуляторы семейства XDS и встроенные отладчики плат LaunchPad. Сторонние программаторы (J-Link и подобные) в UniFlash не работают; для них используется ПО соответствующего производителя.

Можно ли прошить устройство без отладчика, через UART?

Да, если конкретный чип имеет встроенный ROM-загрузчик с поддержкой последовательного интерфейса — такая возможность есть у ряда устройств SimpleLink. Поддержка зависит от модели, поэтому проверьте документацию на ваш микроконтроллер и выберите соответствующий тип подключения при создании конфигурации.

Чем формат .out отличается от .hex при прошивке?

Файл .out (ELF) содержит отладочную информацию и адреса размещения секций, .hex — только данные с адресами в текстовом виде. Оба формата UniFlash обычно принимает. А вот «голый» .bin не хранит адрес загрузки, и его, возможно, придётся указывать вручную.

Что делать, если прошивка зависает на этапе стирания?

Разорвите сеанс, переподключите плату и попробуйте выполнить полное стирание отдельной операцией. Если проблема повторяется, проверьте стабильность питания целевого устройства и убедитесь, что чип не переведён в режим защиты. При подозрении на аппаратную неисправность протестируйте другую плату того же типа.

Нужна ли лицензия или оплата для UniFlash?

Нет, UniFlash распространяется бесплатно. Для скачивания дистрибутива с сайта Texas Instruments требуется только регистрация учётной записи на портале компании.