Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: EPM7064 + Контроллер LPC2114(прошивка через проц)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Alex_rav(зеленинький я есть)
Подскажите, если кто-нить этим сабжем занимался......Никак не могу найти в описаниях точного алгоритма......зато JTAG опиасан....
Суть в том чтобы прошивку альтеры производить через контроллер....читаю "Using Jam STAPL for ISP
& ICR via an Embedded Processor" и понимаю что ни черта ни понимаю.... у F10K вроде все просто а тут.......
help.gif help.gif help.gif
и независимо от результатов a14.gif a14.gif a14.gif
KostyanPro
Цитата(Alex_rav(зеленинький я есть) @ Feb 14 2007, 12:06) *
Подскажите, если кто-нить этим сабжем занимался......Никак не могу найти в описаниях точного алгоритма......зато JTAG опиасан....
Суть в том чтобы прошивку альтеры производить через контроллер....читаю "Using Jam STAPL for ISP
& ICR via an Embedded Processor" и понимаю что ни черта ни понимаю....

Вы на правильном пути.
Jam player можно аддаптировать под Windows, Unix или Embedded . Нужно лишь изменить функцию
int jam_jtag_io(int tms, int tdi, int read_tdo) в файле JAMSTUB.C
https://www.altera.com/support/software/dow.../dnl-player.jsp

И продумать как файл *.jam будет попадать в контроллер.
sazh
А разве у EPM7064 есть JTAG.
Alex_rav(зеленинький я есть)
Цитата(KostyanPro @ Feb 14 2007, 15:02) *
Вы на правильном пути.
Jam player можно аддаптировать под Windows, Unix или Embedded . Нужно лишь изменить функцию
int jam_jtag_io(int tms, int tdi, int read_tdo) в файле JAMSTUB.C
https://www.altera.com/support/software/dow.../dnl-player.jsp

И продумать как файл *.jam будет попадать в контроллер.


как отослать данные на процессор я понял.....я ни как не пойму алгоритм программирования альтеры через 4 ее входа напрямую(через контроллер, без всяких других прибамбасов): TCL(понятно и легко реализуется на контроллере програмно), TDO, TDI, TMS.
В даташите написано
During in-system programming, instructions, addresses, and data are
shifted into the MAX 7000B device through the TDI input pin. Data is
shifted out through the TDO output pin and compared against the
expected data.

т.е. если я правильно понял, как только я начну отправлять программу на альтеру, она начнет программироваться, а за другие ножки не надо дергать?? Поехали дальше:

Programming a pattern into the device requires the following six ISP
stages. A stand-alone verification of a programmed pattern involves only
stages 1, 2, 5, and 6.
1. Enter ISP. The enter ISP stage ensures that the I/O pins transition
smoothly from user mode to ISP mode. The enter ISP stage requires
1 ms.
2. Check ID. Before any program or verify process, the silicon ID is
checked. The time required to read this silicon ID is relatively small
compared to the overall programming time.
3. Bulk Erase. Erasing the device in-system involves shifting in the
instructions to erase the device and applying one erase pulse of
100 ms.
4. Program. Programming the device in-system involves shifting in the
address and data and then applying the programming pulse to
program the EEPROM cells. This process is repeated for each
EEPROM address.
5. Verify. Verifying an Altera device in-system involves shifting in
addresses, applying the read pulse to verify the EEPROM cells, and
shifting out the data for comparison. This process is repeated for
each EEPROM address.
6. Exit ISP. An exit ISP stage ensures that the I/O pins transition
smoothly from ISP mode to user mode. The exit ISP stage requires
1 ms.

По первому пункту не понятно что для этого надо сделать? Просто отправить что-то на вход TDI??? потом подаждать ID, следующим пунктом идет стирание сектора, опять же непонятно, что для этого надо сделать...... 4 пункт в общем понятен - отправляем на альтеру программу бит за битом. Дальше проверка и выход, здесь участие контроллера вроде не нужно..... Все что я написал вообще имеет сходство с реальностью или это полная чушь???
unsure.gif unsure.gif unsure.gif
ybd
JAM player и реализует алгоритм программирования. На сайте ALTERA есть JAM player для 8051. Можно его адаптировать под другой контроллер. В свое время я решал задачу стирания EPM3064 с помощью PIC16CXX. Т.к. памяти было мало, а требовалось только стирание, я все алгоритмы писал сам. Для этого мне было удобнее использовать файл *.svf. Он содержит список состояний TAP-контроллера и действий в этих состояниях (см. an039.pdf). Описание формата SVF тоже где-то есть, но не помню названия. В принципе, можно и так разобраться. Команды выглядят примерно так: SIR 10 TDI (016) - из состояния SHIFT_IR выдать 10 бит данных (число 016) на вход TDI (тактируется TCK). Если описания формата на сайте не найдешь, могу выслать (правда, числа до 23 меня не будет)
KostyanPro
Цитата(Alex_rav(зеленинький я есть) @ Feb 15 2007, 11:04) *
По первому пункту не понятно что для этого надо сделать? Просто отправить что-то на вход TDI??? потом подаждать ID, следующим пунктом идет стирание сектора, опять же непонятно, что для этого надо сделать...... 4 пункт в общем понятен - отправляем на альтеру программу бит за битом. Дальше проверка и выход, здесь участие контроллера вроде не нужно..... Все что я написал вообще имеет сходство с реальностью или это полная чушь???
unsure.gif unsure.gif unsure.gif

Напутано
Повторюсь ,Вам не нужно управлять TDI и т.д , достаточно лишь в функции
int jam_jtag_io(int tms, int tdi, int read_tdo) в файле JAMSTUB.C прописать конкретному сигналу (TDI и т.д ) конкретную ножку процессора. Еще раз прочитайте readme.txt файл.
Цитата
как отослать данные на процессор я понял.....

Хм.. ради интереса поделитесь как ?
В моем случае я отправлял файл через ethernet и это был не LPC.

Цитата
JAM player и реализует алгоритм программирования.

Не множко не верно. Алгоритм программирования реализует сам *.jam файл. Именно в нем прописывается алгоритм , а JAM player считывает уже его (вероятно по этой причине он и называется плеером).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.