реклама на сайте
подробности

 
 
> JTAG-программатор для MSM6290 (ARM926EJ-S)
Harvester
сообщение Oct 8 2013, 13:52
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Я занимаюсь допиливанием устройства на базе чипа MSM6290 (Qualcomm).
Для отладки и программирования используется JTAG-отладчик Trace32 от Lauterbach (точнее, его китайский клон).
И вот наконец возник вопрос - как прошивать устройство на производстве. Использовать для прошивки отладчики очень не хочется. Во-первых они стоят как небольшие самолеты, а во-вторых, это просто неправильно.
Кто-нибудь может подсказать, есть ли в природе такие JTAG-программаторы, которыми можно было бы зашивать конечное firmware в сабж?


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Raven
сообщение Oct 8 2013, 16:25
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Если вы являетесь разработчиком устройства, то все карты у вас в руках. Практически {любой дешевый JTAG кабель + OpenOCD + GDB + собственные скрипты} решают вашу задачу. Программная составляющая может быть и немного иной (можно соорудить свою сборку, используя указанные компоненты за основу и срезав некоторые углы).

Кажется, есть и альтернативные открытые низкоуровневые компоненты (например, построить аналогичную конструкцию вокруг H-JTAG (RDI-сервер) - это, кажется любимый способ вивисекторов мобилок).
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 8 2013, 16:26
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Есть-ли в природе вообще или для вашего конкретного процессора?
Если первое - да. Например - JLink
Go to the top of the page
 
+Quote Post
toweroff
сообщение Oct 8 2013, 16:32
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Harvester,
погуглите форум, не так давно пробегала аналогичная тема - JTAG player или что-то около того. Можно разобрать алгоритм работы JTAG, сделать свой девайс, во внутренней flash хранить собственно прошивку (или во внешней закриптовать)

Но, имея на руках подобный девайс и прямые руки в арсенале, можно сделать обратное устройство - оно будет вести себя как эмулятор порта JTAG контроллера и скушает эту прошивку, после чего можно перенести ее на большого брата или еще куда. Подобные устройства я делал, но контроллеры были попроще - AT89Sxxx
Так что это хоть и удобно (в смысле устройство программирования на производстве), но тоже не панацея - дел не так много и никакой взлом кристалла не нужен

Сообщение отредактировал IgorKossak - Oct 8 2013, 18:16
Причина редактирования: избыточное цитирование
Go to the top of the page
 
+Quote Post
Harvester
сообщение Oct 9 2013, 14:02
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(Raven @ Oct 8 2013, 20:25) *
Если вы являетесь разработчиком устройства, то все карты у вас в руках. Практически {любой дешевый JTAG кабель + OpenOCD + GDB + собственные скрипты} решают вашу задачу. Программная составляющая может быть и немного иной (можно соорудить свою сборку, используя указанные компоненты за основу и срезав некоторые углы).

Кажется, есть и альтернативные открытые низкоуровневые компоненты (например, построить аналогичную конструкцию вокруг H-JTAG (RDI-сервер) - это, кажется любимый способ вивисекторов мобилок).

Слова вроде знакомые, а смысл непонятен. wacko.gif laughing.gif Нельзя ли чуть поподробнее? rolleyes.gif


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
Raven
сообщение Oct 9 2013, 15:05
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Цитата(Harvester @ Oct 9 2013, 18:02) *
Слова вроде знакомые, а смысл непонятен. wacko.gif laughing.gif Нельзя ли чуть поподробнее? rolleyes.gif

Пожалуйста. Начнем по порядку. Подтвердите / прокомментируйте / спросите по пунктам:

1) Раз вы разработчик, то и аппаратная, и программная части устройства вам известны. Не нужно что-то рыть в интернете, реверс-инженерить, строить догадки о структуре и т.п.

2) Lauterbach - дорогой инструмент. Но он - всего лишь JTAG-кабель для доступа к On-Chip Debugging (OCD) функциональности. Есть дешевые кабели, и весь вопрос - лишь в программной поддержке всего этого дела.

3) OpenOCD - open source проект GDB сервера для (в первую очередь) ARM CPU. Есть поддержка практически всех встречающихся в природе JTAG кабелей (дешевых и доступных - уж точно). Для такой широко известной штуки, как ARM926EJ-S, все уже исхожено вокруг и около, и кроме поддержки в собственно OpenOCD, наверняка можно найти примеры развертывания на этом базисе различного инструментария. В том числе, возможно, пример решения вашей задачи.

4) Далее пишете загрузчик и скрипт(ы) для OpenOCD & GDB, которые будут вам прошивать ваше firmware.

Вопросы?
Go to the top of the page
 
+Quote Post
Harvester
сообщение Oct 10 2013, 08:42
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(Raven @ Oct 9 2013, 19:05) *
Пожалуйста. Начнем по порядку. Подтвердите / прокомментируйте / спросите по пунктам:

1) Раз вы разработчик, то и аппаратная, и программная части устройства вам известны. Не нужно что-то рыть в интернете, реверс-инженерить, строить догадки о структуре и т.п.

2) Lauterbach - дорогой инструмент. Но он - всего лишь JTAG-кабель для доступа к On-Chip Debugging (OCD) функциональности. Есть дешевые кабели, и весь вопрос - лишь в программной поддержке всего этого дела.

3) OpenOCD - open source проект GDB сервера для (в первую очередь) ARM CPU. Есть поддержка практически всех встречающихся в природе JTAG кабелей (дешевых и доступных - уж точно). Для такой широко известной штуки, как ARM926EJ-S, все уже исхожено вокруг и около, и кроме поддержки в собственно OpenOCD, наверняка можно найти примеры развертывания на этом базисе различного инструментария. В том числе, возможно, пример решения вашей задачи.

4) Далее пишете загрузчик и скрипт(ы) для OpenOCD & GDB, которые будут вам прошивать ваше firmware.

Вопросы?

1) В общем да.
2) Ну, можно конечно назвать его кабелем. Но, в принципе, вы правы - это аналог того же J-LINK.
3)
4) Т.е. вы предлагаете взять существующие скрипты для Trace32, разобраться, что они делают и написать аналогичные, но уже для OpenCD и имеющихся у меня отладчиков?
Я никогда с OpenOCD&GDB не работал, но буду пробовать


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
Raven
сообщение Oct 10 2013, 16:05
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Цитата(Harvester @ Oct 10 2013, 12:42) *
2) Ну, можно конечно назвать его кабелем. Но, в принципе, вы правы - это аналог того же J-LINK.

Ну, "кабелем" я его назвал, сделав кальку с англоязычного USB JTAG cable (так оно обычно называется). Для англо-ребят так: выглядит как кабель - значит, cable sm.gif. То, что там еще электроника не на один килогейт может быть внутри - дело третьестепенное. Выбор кабеля(ей) для этой задачи - это пересечение списка поддерживаемых OpenOCD и ваших предпочтений. Навскидку я бы посоветовал что-нибудь на базе FTDI'ных чипов - например, от Olimex'a ARM-USB-OCD.
Olimex ARM support review
Olimex ARM JTAG products

А вообще есть даже дешевле варианты кабелей на базе FTDI. Чуть ли не всяк кому не лень делает.

Цитата(Harvester @ Oct 10 2013, 12:42) *
4) Т.е. вы предлагаете взять существующие скрипты для Trace32, разобраться, что они делают и написать аналогичные, но уже для OpenCD и имеющихся у меня отладчиков?

Нет. Для ARM926EJ-S уже практически все сделано в OOCD, вам только нужно все это освоить и приладить свою специфическую часть в виде: 1) программы-загрузчика-прошивальщика; 2) скрипта или чего-то вроде этого для загрузки этого кода в процессор, его запуска, upload'а ему в руки бинарного файла с прошиваемым кодом и т.п. контроля за процессом. Плюс ко всему, ARM - открытая архитектура, в том числе в части debug-подсистемы. Изучив документацию, вы будете понимать, что происходит в OOCD и как вам все это обустроить для своих нужд.

Цитата(Harvester @ Oct 10 2013, 12:42) *
Я никогда с OpenOCD&GDB не работал, но буду пробовать

Очень рекомендую хотя бы ознакомиться. Исходя из вашего описания задачи, это "то, что доктор прописал".
Go to the top of the page
 
+Quote Post
carver
сообщение Oct 29 2013, 18:35
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 8-04-05
Из: kiev.ua
Пользователь №: 3 979



2 Harvester мне кажется, что MSM6290 - достаточно древний и убогий чип,
который умеет туева туча боксов для програмирования мобил, ценой 100-150 баксов.
я в руках держал когда-то RIFF Box, думаю он должен уметь.
просто ван-баттон коробочка. тем более таблицу BB должна тоже уметь автоматом.

можете купить сами или даете "ребятам с феном" - вашу запрограмированую мобилу, на выходе получите ящик готовых.
если еще дадите мануал, шоб сами не сдували ваш проц и не искали jtag пины - будет вообще великолепно.

не знаю как в вашем городе, но в нашей стране, если програмировать в гараже,
то по стоимости - может выйти одна мобила - 1$(при больших партиях канешно).


никогда не интересовался, но попробуйте на саппорте вашего MSM6290 - нажать кнопку Quick Search,
она ищет по мануалам и по кейсам на salesforse, тем более - вы же не один свои нанды програмите.
думаю у квалком аи трейнинг должен быть на ту тему.

ну и вам же нужно залитьт qcsbl+oemsbl, дальше софт - можно по USB менять скоко хочешь.


если не секрет, по чем клон t32 и как покупали ?
я в свое время искал, но вышло дешевлее купить нескоко б/у оригиналов с езернетом.
с адаптерами канешно сложнее под разные процы.

---------------
p.s. наверно еще можно 10баксовым jlink шить, через revskills
(раньше звалась qmat или psas, счас проект закрыт, софт выложен free)

Сообщение отредактировал carver - Oct 29 2013, 22:55


--------------------
/carv
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 05:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01436 секунд с 7
ELECTRONIX ©2004-2016