Перейти к содержанию
    

Считывание и программирование флеш памяти через JTAG

Здравствуйте уважаемые коллеги !

Имею устройство имеющее в своем составе ПЛИС XC9572 и флеш AM29F040.

Мне нужно считать флеш не выпаивая из устройства через JTAG .

До этого никогда не сталкивался с данной задачей .

Подскажите как мне это сделать ,что для этого требуется ,какие проги, что прочитать и т д

Купил USB бластер Altera ,но пока что не могу его никак оседлать .Бластер нормально установил под QUARTUS 2

 

Надеюсь на вашу помощь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам это надо один раз сделать, или регулярно? Если один раз - пишите программку на jam, загоняйте в jam-плеер альтеровский и будет Вам счастье. Если это нужно делать регулярно - придумывайте что-нибудь другое. Типа специальной прошивки в плис, которая поддержит считывание и пересылку данных. Через jtag жутко медленно с параллельной флешкой работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам это надо один раз сделать, или регулярно? Если один раз - пишите программку на jam, загоняйте в jam-плеер альтеровский и будет Вам счастье. Если это нужно делать регулярно - придумывайте что-нибудь другое. Типа специальной прошивки в плис, которая поддержит считывание и пересылку данных. Через jtag жутко медленно с параллельной флешкой работать.

Мне это нужно делать периодически (ремонт оборудования )

Скажите пожалуйста ,а определятся должна ПЛИС или флеш при подключении к бластеру и автодетектировании в QUARTUS ?

И должно ли выходить 5 вольт из бластера на плату ?

У меня на Vcc отсутствует напряжение .

Или я должен запитать плату извне ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне это нужно делать периодически (ремонт оборудования )

Скажите пожалуйста ,а определятся должна ПЛИС или флеш при подключении к бластеру и автодетектировании в QUARTUS ?

И должно ли выходить 5 вольт из бластера на плату ?

У меня на Vcc отсутствует напряжение .

Или я должен запитать плату извне ?

Питание на бластер должно идти с платы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имею устройство имеющее в своем составе ПЛИС XC9572 и флеш AM29F040.

...

Купил USB бластер Altera ,но пока что не могу его никак оседлать .Бластер нормально установил под QUARTUS 2

XC9572 - это микросхема Xilinx. И при чем тогда здесь "USB бластер Altera"???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

есть мнение, что usb blaster и квартус(altera) мало чем поможет для работы с XC9572 (xlinix).

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

система Quartus II предназначена только для программирования микросхем фирмы Altera, с микросхемами других производителей она вообще не работает. То же справедливо в отношении остальных систем ISP и ISC — каждая из них конфигурирует только «свои» ИС, пользуясь при этом только своими аппаратными средствами сопряжения с ПП: кабель «USB-Blaster» фирмы Altera, кабель «XILINX Platform USB» фирмы Xilinx, кабель USB2A фирмы Lattice — и это лишь неполный их список, приведенный для примера.

Отсюда...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поддерживаю - для частого использования надо делать отдельный разьем для программатора, а разово -с использованием boundary scan писать программу на JAM, а затем проигрывать альтеровским jam-player. Думаю, с помощью Perl можно из прошивки даже автоматически JAM- файлы генерировать, но сам такого не пробовал.

 

Я максимум что делал через boundary scan, это считывал ID флешек (включая параллельные NOR и NAND, а так же флешки с SPI интерфейсом), и делал дамп первых 256 байт прошивки, где обычно хранится хеадер. Такой изврат обычно требовался для работы с модулями заказчика, либо если плата залита лаком - т.е. в случаях, когда даже подпаяться нельзя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги по порядку :

Итак мне нужно считывать и соответственно записывать внешнюю память не выпаивая .

Исходя из ответов ,я понял ,что нужно либо писать программу и загружать в плеер ,либо купить бластер от xilinx

Что правильней ?

Распишите по порядку : что покупать ,что читать ,что изучать ? (Я не программист) Желательно на русском (переводчики криво переводят )

 

Буду благодарен за содействие в изучении вопроса .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Вариант с JAM - только если других опций нет, или если заказчик напрямую потребует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Флэш AM29F040 не относится ни к Altera ни к Xilinx, и тем более не относится к любым вариантам загрузочных флэшей. Так что никакие тулы ни от Xilinx ни от Altera 'из коробки' этот флэш прочесть не смогут.

 

Вам придется самому сделать одно из 2х:

1) Читать флэш через BSCAN команды JTAG'а. Это очень и очень медленно (думаю, что речь идет о десятках минут или единиц часов)

2) Сделать и зашить в XC9572 программатор для подключенного флэша. IMHO это невозможно, т.к. доступа к JTAG порту из прошивки XC9572 нет (насколько я помню)

 

Для подключения к JTAG подойдет любой софт, лишь бы ему можно было скормить какой нибудь файл для проигрывания и получить назад результат. Кажется и Altera и Xilinx это поддерживают

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Читать флэш через BSCAN команды JTAG'а. Это очень и очень медленно (думаю, что речь идет о десятках минут или единиц часов)

Да, пожалуй с той скоростью, что у меня получалась, полный дамп 1 час точно займет.

Все зависит от того, где в цепочке находится интерфейс, и от частоты JTAG. У меня было около 1000 нодов в цепи, JTAG работал на 10MHz, и 256 байт выводилось секунд 20 (тоже была NOR флеш аналогичная АМ29F). Можно посчитать, сколько будет 4Мбит дампить. А запись будет идти еще медленнее.

 

На самом деле, есть третий способ - сначала житагом переводить все IO в тристейт (если возможно), затем на зайлинкс или флеш одевать клипсу со шлейфом, и перепрошивать флеш программатором. И овцы целы, и волки сыты.

p.s. если только там WP жестко не запаян, и программирование 12 вольт не требует. Давно я уже такими вещами не занимался, забывать стал ..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Флэш AM29F040 не относится ни к Altera ни к Xilinx, и тем более не относится к любым вариантам загрузочных флэшей. Так что никакие тулы ни от Xilinx ни от Altera 'из коробки' этот флэш прочесть не смогут.

 

Вам придется самому сделать одно из 2х:

1) Читать флэш через BSCAN команды JTAG'а. Это очень и очень медленно (думаю, что речь идет о десятках минут или единиц часов)

2) Сделать и зашить в XC9572 программатор для подключенного флэша. IMHO это невозможно, т.к. доступа к JTAG порту из прошивки XC9572 нет (насколько я помню)

 

Для подключения к JTAG подойдет любой софт, лишь бы ему можно было скормить какой нибудь файл для проигрывания и получить назад результат. Кажется и Altera и Xilinx это поддерживают

Первый вариант меня вполне устроит .Спешки нет .

Хотел уточнить по подключению

Изначально я подключал бластер к плате ;GND,TCK,TDI,TDO,TMS,Vpp/

Нужно ли подавать питание на плату извне ,или всё питается через бластер ?

Измерял на бластере на Vpp ,там нету напруги.

 

Да, пожалуй с той скоростью, что у меня получалась, полный дамп 1 час точно займет.

Все зависит от того, где в цепочке находится интерфейс, и от частоты JTAG. У меня было около 1000 нодов в цепи, JTAG работал на 10MHz, и 256 байт выводилось секунд 20 (тоже была NOR флеш аналогичная АМ29F). Можно посчитать, сколько будет 4Мбит дампить. А запись будет идти еще медленнее.

 

На самом деле, есть третий способ - сначала житагом переводить все IO в тристейт (если возможно), затем на зайлинкс или флеш одевать клипсу со шлейфом, и перепрошивать флеш программатором. И овцы целы, и волки сыты.

p.s. если только там WP жестко не запаян, и программирование 12 вольт не требует. Давно я уже такими вещами не занимался, забывать стал ..

Честно говоря подумывал про клипсу .Но ничего подходящего для данной памяти не нашел в инете .

А что такое IO в тристейт ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну надо чтобы ПЛИС не держала ножки памяти, то есть ее выходы надо перевести в 3 состояние, в Z, высокий импеданс и так далее...

 

Вроде у ксалинкса можно ножку загрузочную зажать, она тогда отпустит все...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно ли подавать питание на плату извне ,или всё питается через бластер ?

Измерял на бластере на Vpp ,там нету напруги.

Нужно. Бластер (а точнее его выходные буферы) питается от платы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...