stas69
Jul 20 2015, 20:30
Здравствуйте уважаемые коллеги !
Имею устройство имеющее в своем составе ПЛИС XC9572 и флеш AM29F040.
Мне нужно считать флеш не выпаивая из устройства через JTAG .
До этого никогда не сталкивался с данной задачей .
Подскажите как мне это сделать ,что для этого требуется ,какие проги, что прочитать и т д
Купил USB бластер Altera ,но пока что не могу его никак оседлать .Бластер нормально установил под QUARTUS 2
Надеюсь на вашу помощь
Alex11
Jul 20 2015, 23:59
Вам это надо один раз сделать, или регулярно? Если один раз - пишите программку на jam, загоняйте в jam-плеер альтеровский и будет Вам счастье. Если это нужно делать регулярно - придумывайте что-нибудь другое. Типа специальной прошивки в плис, которая поддержит считывание и пересылку данных. Через jtag жутко медленно с параллельной флешкой работать.
stas69
Jul 21 2015, 05:11
Цитата(Alex11 @ Jul 21 2015, 03:59)

Вам это надо один раз сделать, или регулярно? Если один раз - пишите программку на jam, загоняйте в jam-плеер альтеровский и будет Вам счастье. Если это нужно делать регулярно - придумывайте что-нибудь другое. Типа специальной прошивки в плис, которая поддержит считывание и пересылку данных. Через jtag жутко медленно с параллельной флешкой работать.
Мне это нужно делать периодически (ремонт оборудования )
Скажите пожалуйста ,а определятся должна ПЛИС или флеш при подключении к бластеру и автодетектировании в QUARTUS ?
И должно ли выходить 5 вольт из бластера на плату ?
У меня на Vcc отсутствует напряжение .
Или я должен запитать плату извне ?
alexkusia
Jul 21 2015, 05:35
Цитата(stas69 @ Jul 21 2015, 08:11)

Мне это нужно делать периодически (ремонт оборудования )
Скажите пожалуйста ,а определятся должна ПЛИС или флеш при подключении к бластеру и автодетектировании в QUARTUS ?
И должно ли выходить 5 вольт из бластера на плату ?
У меня на Vcc отсутствует напряжение .
Или я должен запитать плату извне ?
Питание на бластер должно идти с платы
Stewart Little
Jul 21 2015, 07:44
Цитата(stas69 @ Jul 20 2015, 23:30)

Имею устройство имеющее в своем составе ПЛИС XC9572 и флеш AM29F040.
...
Купил USB бластер Altera ,но пока что не могу его никак оседлать .Бластер нормально установил под QUARTUS 2
XC9572 - это микросхема Xilinx. И при чем тогда здесь "USB бластер Altera"???
есть мнение, что usb blaster и квартус(altera) мало чем поможет для работы с XC9572 (xlinix).
каждый производитель лепит свои адаптеры, не совместимые ни с чем другим, не для того чтобы можно было купить один любой и потом везде использовать.
EvgenyNik
Jul 21 2015, 08:28
Цитата
система Quartus II предназначена только для программирования микросхем фирмы Altera, с микросхемами других производителей она вообще не работает. То же справедливо в отношении остальных систем ISP и ISC — каждая из них конфигурирует только «свои» ИС, пользуясь при этом только своими аппаратными средствами сопряжения с ПП: кабель «USB-Blaster» фирмы Altera, кабель «XILINX Platform USB» фирмы Xilinx, кабель USB2A фирмы Lattice — и это лишь неполный их список, приведенный для примера.
Отсюда...
Shivers
Jul 21 2015, 08:43
Поддерживаю - для частого использования надо делать отдельный разьем для программатора, а разово -с использованием boundary scan писать программу на JAM, а затем проигрывать альтеровским jam-player. Думаю, с помощью Perl можно из прошивки даже автоматически JAM- файлы генерировать, но сам такого не пробовал.
Я максимум что делал через boundary scan, это считывал ID флешек (включая параллельные NOR и NAND, а так же флешки с SPI интерфейсом), и делал дамп первых 256 байт прошивки, где обычно хранится хеадер. Такой изврат обычно требовался для работы с модулями заказчика, либо если плата залита лаком - т.е. в случаях, когда даже подпаяться нельзя.
stas69
Jul 21 2015, 10:40
Коллеги по порядку :
Итак мне нужно считывать и соответственно записывать внешнюю память не выпаивая .
Исходя из ответов ,я понял ,что нужно либо писать программу и загружать в плеер ,либо купить бластер от xilinx
Что правильней ?
Распишите по порядку : что покупать ,что читать ,что изучать ? (Я не программист) Желательно на русском (переводчики криво переводят )
Буду благодарен за содействие в изучении вопроса .
Shivers
Jul 21 2015, 10:49
Проще всего купить бластер зайлинкса, разумеется. Скачайте документацию на устройство, там должны быть описаны поддерживаемые программаторы и софт, а так же дано описание разьема для программирования.
Вариант с JAM - только если других опций нет, или если заказчик напрямую потребует.
Флэш AM29F040 не относится ни к Altera ни к Xilinx, и тем более не относится к любым вариантам загрузочных флэшей. Так что никакие тулы ни от Xilinx ни от Altera 'из коробки' этот флэш прочесть не смогут.
Вам придется самому сделать одно из 2х:
1) Читать флэш через BSCAN команды JTAG'а. Это очень и очень медленно (думаю, что речь идет о десятках минут или единиц часов)
2) Сделать и зашить в XC9572 программатор для подключенного флэша. IMHO это невозможно, т.к. доступа к JTAG порту из прошивки XC9572 нет (насколько я помню)
Для подключения к JTAG подойдет любой софт, лишь бы ему можно было скормить какой нибудь файл для проигрывания и получить назад результат. Кажется и Altera и Xilinx это поддерживают
Shivers
Jul 22 2015, 14:44
Цитата(XVR @ Jul 22 2015, 14:31)

1) Читать флэш через BSCAN команды JTAG'а. Это очень и очень медленно (думаю, что речь идет о десятках минут или единиц часов)
Да, пожалуй с той скоростью, что у меня получалась, полный дамп 1 час точно займет.
Все зависит от того, где в цепочке находится интерфейс, и от частоты JTAG. У меня было около 1000 нодов в цепи, JTAG работал на 10MHz, и 256 байт выводилось секунд 20 (тоже была NOR флеш аналогичная АМ29F). Можно посчитать, сколько будет 4Мбит дампить. А запись будет идти еще медленнее.
На самом деле, есть третий способ - сначала житагом переводить все IO в тристейт (если возможно), затем на зайлинкс или флеш одевать клипсу со шлейфом, и перепрошивать флеш программатором. И овцы целы, и волки сыты.
p.s. если только там WP жестко не запаян, и программирование 12 вольт не требует. Давно я уже такими вещами не занимался, забывать стал ..
stas69
Jul 22 2015, 17:34
Цитата(XVR @ Jul 22 2015, 15:31)

Флэш AM29F040 не относится ни к Altera ни к Xilinx, и тем более не относится к любым вариантам загрузочных флэшей. Так что никакие тулы ни от Xilinx ни от Altera 'из коробки' этот флэш прочесть не смогут.
Вам придется самому сделать одно из 2х:
1) Читать флэш через BSCAN команды JTAG'а. Это очень и очень медленно (думаю, что речь идет о десятках минут или единиц часов)
2) Сделать и зашить в XC9572 программатор для подключенного флэша. IMHO это невозможно, т.к. доступа к JTAG порту из прошивки XC9572 нет (насколько я помню)
Для подключения к JTAG подойдет любой софт, лишь бы ему можно было скормить какой нибудь файл для проигрывания и получить назад результат. Кажется и Altera и Xilinx это поддерживают
Первый вариант меня вполне устроит .Спешки нет .
Хотел уточнить по подключению
Изначально я подключал бластер к плате ;GND,TCK,TDI,TDO,TMS,Vpp/
Нужно ли подавать питание на плату извне ,или всё питается через бластер ?
Измерял на бластере на Vpp ,там нету напруги.
Цитата(Shivers @ Jul 22 2015, 18:44)

Да, пожалуй с той скоростью, что у меня получалась, полный дамп 1 час точно займет.
Все зависит от того, где в цепочке находится интерфейс, и от частоты JTAG. У меня было около 1000 нодов в цепи, JTAG работал на 10MHz, и 256 байт выводилось секунд 20 (тоже была NOR флеш аналогичная АМ29F). Можно посчитать, сколько будет 4Мбит дампить. А запись будет идти еще медленнее.
На самом деле, есть третий способ - сначала житагом переводить все IO в тристейт (если возможно), затем на зайлинкс или флеш одевать клипсу со шлейфом, и перепрошивать флеш программатором. И овцы целы, и волки сыты.
p.s. если только там WP жестко не запаян, и программирование 12 вольт не требует. Давно я уже такими вещами не занимался, забывать стал ..
Честно говоря подумывал про клипсу .Но ничего подходящего для данной памяти не нашел в инете .
А что такое IO в тристейт ?
Golikov A.
Jul 22 2015, 17:37
ну надо чтобы ПЛИС не держала ножки памяти, то есть ее выходы надо перевести в 3 состояние, в Z, высокий импеданс и так далее...
Вроде у ксалинкса можно ножку загрузочную зажать, она тогда отпустит все...
Stewart Little
Jul 22 2015, 17:49
Цитата(stas69 @ Jul 22 2015, 20:34)

Нужно ли подавать питание на плату извне ,или всё питается через бластер ?
Измерял на бластере на Vpp ,там нету напруги.
Нужно. Бластер (а точнее его выходные буферы) питается от платы.
stas69
Jul 22 2015, 17:52
Цитата(XVR @ Jul 22 2015, 15:31)

Флэш AM29F040 не относится ни к Altera ни к Xilinx, и тем более не относится к любым вариантам загрузочных флэшей. Так что никакие тулы ни от Xilinx ни от Altera 'из коробки' этот флэш прочесть не смогут.
Вам придется самому сделать одно из 2х:
1) Читать флэш через BSCAN команды JTAG'а. Это очень и очень медленно (думаю, что речь идет о десятках минут или единиц часов)
2) Сделать и зашить в XC9572 программатор для подключенного флэша. IMHO это невозможно, т.к. доступа к JTAG порту из прошивки XC9572 нет (насколько я помню)
Для подключения к JTAG подойдет любой софт, лишь бы ему можно было скормить какой нибудь файл для проигрывания и получить назад результат. Кажется и Altera и Xilinx это поддерживают
Что такое BSCAN ?
Вы не могли бы подсказать какая программа мне нужна ?
Дрова на Альтеровский бластер установлены
Shivers
Jul 22 2015, 19:00
BSCAN - это boundary scan. Пишется программа на языке JAM, проигрывается альтеровским софтом. Софт - altera jam player, входит в состав квартуса, работает из консоли DOS. Большой плюс, что альтеровский сервер можно поднять по сети, и работать с устройством удаленно по интернету.
Почитайте, что такое boundary scan, и скорее всего вам все же захочется еще раз попробовать нацепить клипсу с программатором.
Как варант - можете когото нанять, кто удаленно напишет программу: на форуме есть человек 10, кто умеет писать на JAM. Может кто то и согласится. Работа - удаленная с вашим включенным девайсом. Самому разобраться - несложно, но несколько дней уйдет. Язык JAM тупой как пробка, проще бейсика. Но с наскока я на него прилично времени потратил - надо смещения высчитывать, и все такое.
stas69
Jul 22 2015, 20:07
Цитата(Shivers @ Jul 22 2015, 23:00)

BSCAN - это boundary scan. Пишется программа на языке JAM, проигрывается альтеровским софтом. Софт - altera jam player, входит в состав квартуса, работает из консоли DOS. Большой плюс, что альтеровский сервер можно поднять по сети, и работать с устройством удаленно по интернету.
Почитайте, что такое boundary scan, и скорее всего вам все же захочется еще раз попробовать нацепить клипсу с программатором.
Как варант - можете когото нанять, кто удаленно напишет программу: на форуме есть человек 10, кто умеет писать на JAM. Может кто то и согласится. Работа - удаленная с вашим включенным девайсом. Самому разобраться - несложно, но несколько дней уйдет. Язык JAM тупой как пробка, проще бейсика. Но с наскока я на него прилично времени потратил - надо смещения высчитывать, и все такое.
Спасибо .
Направление я понял
stas69
Jul 23 2015, 07:13
Цитата(Shivers @ Jul 22 2015, 23:00)

BSCAN - это boundary scan. Пишется программа на языке JAM, проигрывается альтеровским софтом. Софт - altera jam player, входит в состав квартуса, работает из консоли DOS. Большой плюс, что альтеровский сервер можно поднять по сети, и работать с устройством удаленно по интернету.
Почитайте, что такое boundary scan, и скорее всего вам все же захочется еще раз попробовать нацепить клипсу с программатором.
Как варант - можете когото нанять, кто удаленно напишет программу: на форуме есть человек 10, кто умеет писать на JAM. Может кто то и согласится. Работа - удаленная с вашим включенным девайсом. Самому разобраться - несложно, но несколько дней уйдет. Язык JAM тупой как пробка, проще бейсика. Но с наскока я на него прилично времени потратил - надо смещения высчитывать, и все такое.
Подскажите пожалуйста ,а вот это программа как то поможет мне ?
http://www.topjtag.com/downloads/Квартус слишком тяжелый ,у меня от него ноутбук в синий экран уходит.
Да и не нашел я в его составе altera jam player
Цитата
Подскажите пожалуйста ,а вот это программа как то поможет мне ?
http://www.topjtag.com/downloads/Судя по описанию - поможет (если она понимает ваш FLASH)
Цитата
Да и не нашел я в его составе altera jam player
Он не в квартусе. Он отдельно (
https://www.altera.com/support/support-reso...dnl-player.html )
Shivers
Jul 23 2015, 08:51
Насчет отдельно не знаю, а в квартусе точно был. Надо смотреть папки, гдето внутри инсталляции лежал.
И вроде бы был еще в составе altera_standalone_programmer. По идее, квартус ставить не обязательно, главное - драйвера, альтеровский сервер, и этот EXEшник раздобыть.
Насчет готовых специализированных программ чтения флеша ничего не могу сказать, не использовал.
Чем в первую очередь надо озаботиться - скачать BSDL файл для зайлинкса
http://bsdl.info/view.htm?sid=262a6e390334...8ca59b002289d77 (для корпуса cs48) , потому что только там описана цепочка Boundary scan. Если другой корпус, значит нужен другой BSDL.
stas69
Jul 23 2015, 15:00
Начал вникать в TOPJTAG ,подкинул ему BDSL файл от зайлинкса и при указании соединений выяснилось ,что у меня на плате непосредственно ещё участвует SAK-C167CR(infineon)
Как быть ?
Shivers
Jul 23 2015, 15:52
Качайте BSDL от SAK-C167CR, читайте, как его перевести в инструкцию BYPASS. В этом режиме он увеличит общую длинну цепочки на 1.
Если BSDL найти не удастся, тогда надо подобрать длинну его инструкции. Обычно BYPASS это все единицы. Так что код будет 3,7,F и т.д. - перебором найдете.
dvladim
Jul 23 2015, 17:48
Цитата(stas69 @ Jul 23 2015, 10:13)

Квартус слишком тяжелый ,у меня от него ноутбук в синий экран уходит.
Да и не нашел я в его составе altera jam player
Вам нужен только programmer. Он значительно меньше.
Jam Player изначально под DOS. Используйте quartus_jli он тоже умее jam-ы играть.
stas69
Jul 23 2015, 18:56
Цитата(dvladim @ Jul 23 2015, 21:48)

Вам нужен только programmer. Он значительно меньше.
Jam Player изначально под DOS. Используйте quartus_jli он тоже умее jam-ы играть.
Я с TOPJTAG flash прогером сейчас разбираюсь ,она вроде интуитивно понятна, но....
Но там нужно параметры и пины вводить ,вот с пинами пока нет понимания .Фактически прозвоном определил ,что данные с флеша сидят на зилинксе ,а адреса флеша на SAK-C167 ,,вот и не знаю как пины прописывать в TOPJTAGe .
Shivers
Jul 24 2015, 07:02
Если адреса с SAK-C167 берутся, то вам нужен BSDL. Иначе вы никак не узнаете позицию нужных пинов в цепочке, разве только перебором подберете инструкцию EXTEST и найдете смещение.
Программа вам не поможет, если вы не знаете смещений в цепочке. Она не волшебная.
stas69
Jul 24 2015, 15:11
Цитата(Shivers @ Jul 24 2015, 12:02)

Если адреса с SAK-C167 берутся, то вам нужен BSDL. Иначе вы никак не узнаете позицию нужных пинов в цепочке, разве только перебором подберете инструкцию EXTEST и найдете смещение.
Программа вам не поможет, если вы не знаете смещений в цепочке. Она не волшебная.
Я понимаю что нужен BSDL файл ,но что то я не могу его найти у SAK
Да и смущает что тестовые вывода на SAKе не прозваниваются
Они ведь по идее должны там быть ...или я до конца все недопонимаю ...
Shivers
Jul 24 2015, 18:04
Краем глаза глянул спецификацию на SAK, у него вообще нет порта JTAG (проверьте меня). Если так, тогда все, кирдык: через Boundary scan вы прошивку не сольете. Остается только вариант с клипсой, или выпаиванием, увы.
Собственно, проверить есть у SAC житаг или нет, можно просто нацепив byte-blaster и сделав авто-детект устройств в altera_programmer.
stas69
Jul 24 2015, 18:25
Цитата(Shivers @ Jul 24 2015, 23:04)

Краем глаза глянул спецификацию на SAK, у него вообще нет порта JTAG (проверьте меня). Если так, тогда все, кирдык: через Boundary scan вы прошивку не сольете. Остается только вариант с клипсой, или выпаиванием, увы.
Собственно, проверить есть у SAC житаг или нет, можно просто нацепив byte-blaster и сделав авто-детект устройств в altera_programmer.
Я уже TOPGTAG probом автодетектировал .Кроме зайлинкса ничего не находится .
Неясно для чего тогда выведен jtag .
А через CAN я так понимаю мне ловить нечего без специализированных заточенных программ ?
Цитата(Shivers @ Jul 24 2015, 23:04)

Краем глаза глянул спецификацию на SAK, у него вообще нет порта JTAG (проверьте меня). Если так, тогда все, кирдык: через Boundary scan вы прошивку не сольете. Остается только вариант с клипсой, или выпаиванием, увы.
Собственно, проверить есть у SAC житаг или нет, можно просто нацепив byte-blaster и сделав авто-детект устройств в altera_programmer.
Я смотрел его датащит ,просто подумал ,может он как то программно создается .Раз вы говорите что нет ,значит моя версия отпала
Shivers
Jul 24 2015, 19:03
Я так понимаю, SOC это процессор, флеш - ROM, а зайлинкс - мостовая схема, микширует адресное пространство процессора. Я когда то нечто подобное делал. Значит, вы хотите программу проца слить. Реверс-инжинирингом занимаетесь?
Если зайликсу помешать загрузиться, то можно подпихнуть свой boot для загрузки процессора. А потом просыпается зайлинкс, и вы делаете дамп флеши куданибудь в RS-232 или что еще у этого процессора есть. Т.е. задачи три - научиться мешать грузиться зайлинксу (если получится), сделать клипсу для подключения своей флеши к процессору, и написать свой загрузчик.
В общем, еще раз подумайте - выпять куда проще будет;-)
Если плата не залита лаком, берете щипцы с угловыми насадками, и отпаевается все на раз-два.
stas69
Jul 24 2015, 19:21
Цитата(Shivers @ Jul 25 2015, 00:03)

Я так понимаю, SOC это процессор, флеш - ROM, а зайлинкс - мостовая схема, микширует адресное пространство процессора. Я когда то нечто подобное делал. Значит, вы хотите программу проца слить. Реверс-инжинирингом занимаетесь?
Если зайликсу помешать загрузиться, то можно подпихнуть свой boot для загрузки процессора. А потом просыпается зайлинкс, и вы делаете дамп флеши куданибудь в RS-232 или что еще у этого процессора есть. Т.е. задачи три - научиться мешать грузиться зайлинксу (если получится), сделать клипсу для подключения своей флеши к процессору, и написать свой загрузчик.
В общем, еще раз подумайте - выпять куда проще будет;-)
Ремонтом электроники занимаюсь .
Сейчас три платы лежат
Одна рабочая две нет .
Одну плату я загубил .Там при подаче питания если инициализация и загрузка проходит нормально то загорается зеленый светодиод ,при неисправности горит красным .Неисправности на плате я не нашёл ,решил подкинуть флеш с рабочего образца (выпаиванием )в результате нерабочая плата так и не заработала ,а рабочая (после того как вернул флеш на место )стала нерабочей ))
Поэтому хотел поэкспериментировать с дампом не выпаивая (уж очень мелкий шаг у флеша ) Вот такая история
Shivers
Jul 24 2015, 19:33
Корпус TSOP? Если феном выпаивали, могло и сгореть. Лучше щипцами, на мой взгляд (хотя здесь у каждого свой опыт).
Еще может быть защита (от копирования) встроена. Флеш пробовали на место вернуть? Если на старом месте заработает, значит в зайлинксе чтото встроено. Либо и правда неисправность где то.
Смотрите осциллографом - грузится ли проц, есть активность на адресных линиях, драйверит ли зайлинкс данные с флеша ... тут можно диссертацию написать по диагностике.
Лучше тему перенесите куданибудь в ремонтный раздел, здесь вам уже врятли помогут.
stas69
Jul 24 2015, 19:54
Цитата(Shivers @ Jul 25 2015, 00:33)

Корпус TSOP? Если феном выпаивали, могло и сгореть. Лучше щипцами, на мой взгляд (хотя здесь у каждого свой опыт).
Еще может быть защита (от копирования) встроена. Флеш пробовали на место вернуть? Если на старом месте заработает, значит в зайлинксе чтото встроено. Либо и правда неисправность где то.
Смотрите осциллографом - грузится ли проц, есть активность на адресных линиях, драйверит ли зайлинкс данные с флеша ... тут можно диссертацию написать по диагностике.
Лучше тему перенесите куданибудь в ремонтный раздел, здесь вам уже врятли помогут.
Флеш на место вернул ,но то что работало перестало работать .
Осциллографом смотрел изначально Обмен почти везде есть ,но в зеленый светодиод не выходит .
Но это всё уже другая тема ))
Да вряд ли уже кто то поможет плата от асфальтоукладчика ,а эти темы слишком засекречены ))Надо будет самому елозить .
Спасибо за разъяснения по поводу jtag , поj крайней мере что то уловил в этом направлении
Тему закрываю
Да и ещё хотел спросить ;
Такое возможно чтобы на нерабочей плате проц что то дополнительно загрузил во флеш которую я ему подкинул с рабочего образца ,после чего уже на рабочей плате загрузка с этого флеша идет неправильно ?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.