В предыдущей статье Делаем JTAG программатор для прошивки флеш-памяти спутниковых тюнеров и не только подробно расписал как собрать JTAG-программатор. Сегодня же расскажу как его использовать, на примере прошивки спутникового тюнера Globo с процессором Ali M3329B.
Для начала убедитесь что в Вашем компьютере есть параллельный порт LPT, у меня же он к сожалению отсутствовал, мудрить я ничего не стал, компьютеры в ремонт приносят достаточно часто, поэтому я просто дождался компьютера с LPT- портом.
Далее нам соответственно нужна программа для прошивки под названием EJTAG_TT_1.0.6.12, если на компьютере установлен Windows XP, для корректной работы возможно понадобится драйвер inst_giveio.exe после его установки перегружаем компьютер.
И конечно же главное файл прошивки. Стандартные файлы прошивки тюнеров Globo обычно с расширением файла*.abs. Если имеется бэкап (резервная копия) прошивки именно с вашего тюнера, смело берем ее, если же нет, ищем прошивку в интернете учитывая название процессора, в моем случае Ali M3329B. У меня резервная копия была, поэтому использовал ее.
Далее необходимо из прошивки «вытянуть» загрузчик, который мы будем прошивать, для этого наш файл прошивки *.abs тюнера открываем в HEX-редакторе, к примеру WinHex, выделяем блок с начальным и конечным адресами соответственно 0000 – FFFF и сохраняем этот блок в новый файл, присваиваем ему любое имя с расширением *.bin. Файл должен получиться размером 65536 байт.
Если заливка загрузчика не дала результатов, понадобится полный дамп понадобится — просто меняем расширение файла прошивки с *.abs на *.bin.
После заливки загрузчика тюнер начинает включаться, далее заливаем полную прошивку стандартными утилитами для его прошивки по COM-порту. Если же JTAG-программатором заливать полный дамп прошивка по COM-порту не понадобится, но процесс будет более длительным.
В моем случае все обошлось прошивкой загрузчика и далее прошивка по COM-порту стандартными средствами.
Но вернемся к практике, считаем что у нас есть 2 файла, с расширением *.bin, загрузчик и полный дамп соответственно.
Кроме подключения тюнер через JTAG-программатор к компьютеру, нужно перевести процессор тюнера в режим отладки, на английском языке Debug mode. На разных ресиверах это производится по разному. Для ресиверов Globo и его клонов с процессором 3329В необходимо соединить перемычкой предназначенные для этого контактные площадки на плате. Эти точки обведены на рисунках красным цветом, возле этих точек есть надпись CPU_PROBE_EN.
Точки подключения JTAG-программатор на рисункаt обведены синим цветом. Последовательность назначения точек во всех моделях одинакова и в точности соответствует последовательности, указанной на схемах переходников.
Теперь ресивер подключен к компьютеру, произведены действия, необходимые для включения отладочного режима, подготовлены программа и прошивка. Так же
Включаем ресивер в сеть, подключаем питание JTAG-программатора к 5B блока питания ресивера. Колодка питания достаточно широкая, на плате подписаны все напряжения питания, но все же рекомендую подстраховаться прозвонив нужные нам 5B. В целом ничего страшного не произойдет если подключить питание JTAG-программатора к 5B блока питания компьютера, я делал именно так и все прошло успешно.
Теперь запускаем EJTAG_TT_1.0.6.12
Смотрим настройки. Слева находится окно с адресом параллельного порта. Изменять надо если в компьютере он имеет отличный от устанавливаемого по умолчанию. Ниже указан базовый адрес ресивера -не трогаем, должен быть как на рисунке. Второй и третий столбцы так же не трогаем. В четвёртом столбце нужно выбрать тип флэш-памяти. Пробуйте всё по очереди, в этом нет ничего опасного. Что бы быстро писать флэш-память поставим галочку напротив «Fast AMD/SPI». Далее жмём «Коннект». В окне программы должен побежать текст лога.
Для примера скриншоты, сделанные при записи загрузчика в тюнер Globo на процессоре Ali M3329B.
Хочу предупредить, что скриншоты не мои, но поскольку я шил такой же Ali M3329B все идентично.
Если после нажатия кнопки «Коннект» программа сообщает, что флэш ID нету в *.ini –файле, то надо правильно выбрать тип флэш-памяти в правом столбце программы. В данном случае в тюнере установлена флэш-память SST 39VF1681, установки для неё видны на рисунке, изображенном выше.
Можно просто попробовать наугад перебрать разные комбинации «точек» и «галочек», нажимая после каждого раза «Коннект» и наблюдая за логом.
Итак, флэш-память успешно определилась, движемся далее. Хочу предупредить – не надо стирать флэш-память, ни поблочно, ни, тем более, полностью! Потому что потом в неё придётся писать полный дамп, это займет много времени. Программа сама сотрёт столько памяти, сколько ей надо записать, она умеет это делать. Если стереть флэш-память полностью, а записать только лоадер (загрузчик), то это не даст желаемого результата, потому что не будет работать COM-порт тюнера и всё равно придётся писать полный дамп.
Следующим шагом жмём «Записать» и в окне проводника выбираем нужный файл, в моем случае подготовленный ранее загрузчик для Ali M3329B.
В окне программы видим, что она сама стёрла нужный блок и приступила к записи. В самом низу окна наблюдаем прогресс выполнения в процентах. По окончании имеем вот такой вид:
Теперь можно закрыть программу, отключить от сети тюнер и отключить от него JTAG-программатор, так же надо не забыть вывести процессор тюнера его из отладочного режима — снять перемычку. Далее подключаем тюнер через COM-порт и заливаем в него прошивку обычным способом.
При написании статьи были использованы материалы форума sat-expert.com.