Фрикинг‎ > ‎

HWK Repair - Прошивка

Способ устранения ошибок -
BOX_AUTH_ERROR: HWK Tampered or Substitute !
в DCTxBB5 TOOLS v 2.2.0.1 и выше,
и
BOX_AUTH_ERROR: 9990 в UFS_SAMS 2.2.0.1 и выше.

После недавнего обновления программного обеспечения для UFS/HWK бокса возникли проблемы с авторизацией. Обновление прошивки самого UFS, при помощи .fbi файла, не принесло никаких результатов. Да и не может быть никаких результатов, ведь проблема в самом модуле HWK, точнее в его прошивке. А прошить его можно только изъяв из UFS.

Информации и схем подключения  в интернете достаточно, но я решил не много углубиться в процесс.
Информация, про возможность прошивки HWK не вынимая его из UFS и без подсоединения к сервисным контактам модуля, является выдумкой или не компетентным взглядом на вещи. Для прошивки микроконтроллера модуля (MSP430F1121A) требуется использование его пина TST, который подведён только на сервисные контакты (9 контакт). Можно посмотреть на схеме HWK модуля.

Итак на борту HWK имеем обычный, но довольно крутой, микроконтроллер (MSP430F1121A). Прошивается который через BSL - Bootstrap Loader (почитать можно в slau319a.pdf)

Прошивать данный микроконтроллер очень удобно при помощи программы MSPFET - FREE MSP430 flash programming utility (Сайт автора). Скачать можно отсюда (версия 1.6.1014) или с сайта автора. Программа под Windows, проверена работоспособность под Win 7.

Программа работает с серийным (COM) портом и эмулирует BSL интерфейс. В моём случае я использовал USB-SERIAL Converter построеный на чипе FT232RL, а точнее использовал свой FT232RL Devel Module. Так-же можно использовать оригинальный модуль UM232R от FTDI или любой другой USB-SERIAL конвертер, например PL2303, схемы подключения к которому можно найти в интернете.

Для прошивки используются 6 контактов микроконтроллера. Ниже приведу таблицу для простоты понимания -

 Контакт МК
 Контакт HWK
 Сигнал порта ПК
 Контакт FT232R
 2 (Vcc) - VCC
 7 - 17 (3V3OUT)
 4 (Vss) - GND
 8 GND 7,18,21 (GND)
 7 (RST/NMI) - RESET
 6 DTR 2 (DTR)
 14 (P1.1/TA0) - TXD
 1 RX 5 (RXD)
 10 (P2.2) - RXD
 10 TX 1 (TXD)
 1 (TEST) - TST
 9 RTS 3 (RTS)


Использование конвертера именно на чипе от FTDI меня подтолкнуло наличие напряжения 3.3в, которое генерирует сам чип (FT232RL). Т.е. отпадает проблема питания МК при его прошивке - Норма для МК 1.8 - 3.6в, максимум 4.1в. Сам UFS питает HWK напряжением 3.0в, запитаться модно и от него.

Кроме всего на плате модуля HWK, RESET микроконтроллера уже подтянут  к Vcc и TEST подтянут к массе. Т.е. Выводы USB-SERIAL конвертора напрямую подключаются к сервисным контактам HWK.
Для упрощения дальнейших подключений к HWK я припаял PIN HEADER (Штырьковый разъём)

Потом перемычками соединил со своим FT232 модулем для разработки, который в данном случае играет роль USB-COM преобразователя.



Перед работой непосредственно с прошивкой, конвертер USB-COM на чипе FT232R должен быть уже подключен и работать, т.е. драйверы установлены, и виден в диспетчере устройств как COM Port. (Некоторую информацию о настройке чипа можно почерпнуть из статьи о USBBit). Так-же нужно, что-бы сигналы с USB-COM небыли инвертированы, это можно посмотреть и исправить при помощи утилиты от FTDI - FTProg. (Не много инфо по утилите).
Галочек в чек-боксах быть не должно -

Для прошивки потребуется сам бинарник, который будет залит в микроконтроллер HWK при помощи MspFet .
(Скачать архив с прошивкой)
1. Запускаем MspFet (Дальнейшая работа была описана для версии 1.6.1014)
2. Жмём кнопку SETUP и настраиваем программу -

В левой части окна нужных настроек нет, разве что выбор языка программы.
В правой части выбираем адаптер - BSL
Порт - порт вашего USB-COM (в моём случае COM2)
Path to v 1.60 - True (BSL versions lower than V1.30 support only byte access operations. И поэтому доступ к некоторым ячейкам памяти будет ограничен, т.к. они WORD-Ориентированые.  (slaa089a.pdf 7.3.1) )
38400 baud - False (Использование Baud Rate отличного от 9600 может влиять на стабильность связи при прошивке (slau319a.pdf 1.4) )
Keep port open - True (Не знаю зачем)
TST invert - False (Не инвертируем сигнал TEST)
RST Invert - True (а вот RESET, для нормального порта, нужно инвертировать, так-же можно сделать инвертирование сигнала reset поставив галочку в настройках чипа при помощи FTProg, как это описывалось выше. Но незачем, проще исменить настройки в программе, что и делаем.)
RST delay - 0 (Задержки не нужны)
Ок, настройки сохраняются.

Настройки сохранены, модули подключены, можно прошивать.
1. Открываем файл прошивки
2. Выбираем наш микроконтроллер - MSP430F11x1A !!!
3. Жмём ERASE для очистки памяти МК (Пытаться сделать READ или VERIFY бесполезно, т.к. прошивка запаролена и есть только возможность стереть её и залить новую)
4.  Далее записываем прошивку - PROGR
Если всё прошло успешно, то увидим информацию об успешном завершении прошивки -

Если программа говорит об ошибке синхронизации, значит микроконтроллер в HWK не хочет или не может общаться с программой. Этому может быть много причин. Плохое или не правильное соединение устройств, неработоспособность устройств. Так-же проблема может банально заключаться в инвертировании сигналов. Для выснения можно побаловаться с инвертированием TST/RSR в настройках программы, попробовать разные комбинации из этих двух пунктов.

После прошивки вставляем модуль HWK обратно в UFS, отсоединив всё лишнее.
После обязательно нужно сделать обновление HWK при момощи последнего HWK Update Client.
У меня после этого всё заработало нормально -

Что интересно, все реселлеры тупо предлагают прошивать сам UFS свом сгенерированым FBI файлом или забивают на тебя болт.

PS: Мой "модернизированный" задевал новыми штырьками кварц на плате, пришлось применить изоленту -

Обсудить данный материал можно в форуме

Conversation Element


ċ
HWK-FW-3.08.zip
(4k)
Alex Po,
5 дек. 2011 г., 3:35
Ċ
Alex Po,
5 дек. 2011 г., 2:12
Ċ
Alex Po,
5 дек. 2011 г., 2:09
ċ
mspfet_161014.zip
(181k)
Alex Po,
5 дек. 2011 г., 2:25
Ċ
Alex Po,
5 дек. 2011 г., 3:42
Ċ
Alex Po,
5 дек. 2011 г., 2:13
Comments