Page 1 of 1

ngs_pgmflash -- тул для прошивания флешки в NGS

PostPosted: 19 Nov 2014, 15:44
by lvd
ЗАЧЕМ ЭТО НУЖНО

Представьте, что вы собрали сами NGS, а программатора для флешки у вас нет.
И pentevo у вас rev.C, где флешка обычно припаяна. Как прошить NGS?
Такая же проблема, если вы апгрейдили флешку ngs новой прошивкой и запороли.

Для решения этих проблем и был написан данный тул.


ЧТО НУЖНО, ЧТОБ ВОСПОЛЬЗОВАТЬСЯ

Всего лишь usb blaster (или byte blaster) для прошивания альтер в NGSе и сама
пентева. Ну и сдкарточка для пентевы (но это, думаю, есть у любого пользователя
пентевы). Кроме того, работоспособность я проверял на ERS 0.55f, но по идее
должно работать и на более свежих ERS.
Наконец, я проверял этот тул только на платах NGS rev.C. По идее, должно
работать и на rev.A/rev.B, но у меня их просто нет, чтобы можно было проверить.


ГДЕ БРАТЬ ВСЕ ФАЙЛЫ

Файлы можно взять либо в репозитории NGS по адресу http://svn.zxevo.ru/listing.php?repname=ngs,
либо вот:
ngs_pgmflash.zip
(112.98 KB) Downloaded 1370 times
Все пути и там и там одинаковые.


КАК СОБСТВЕННО ПОЛЬЗОВАТЬСЯ

1. Создайте где-нибудь на сдкарточке для пентевы директорию, и положите туда
файлы z80/create_update/full_ngs.rom и z80/pgmflash/PGMFLASH.$C. Можно эти файлы
положить даже в корень, главное, чтоб они оба лежали рядом в одной директории.
Не забудьте сдкарточку эту сунуть в пентеву.

2. В NGS воткните флешку и бластер, NGS воткните в пентеву, бластер подключите
к ПЦ. Включите пентеву и убедитесь, что квартусовский программатор на ПЦ видит
NGS [должны быть видны FPGA (EP1K30) и CPLD (EPM3064A либо EPM7032) в одной
JTAG-цепочке].

3. Прошейте в CPLD файлик *.pof из директории cpld/cpld6_revC_onlyclock
(для NGS rev.C) либо cpld/cpld3_onlyclock (для NGS rev.A/rev.B ). После удачного
прошивания, выключите и включите пентеву.

4. Прошейте в EP1K30 файлик *.sof из директории fpga/pgmflash/quartus. После
успешного прошивания должен загореться светодиод на NGS. Если из бейсика делать
OUT 51,64, то этот светодиод должен при каждом ауте гаснуть либо загораться по
очереди. Внимание! Не отключайте питание пентевы при переходе к п.5.

5. Используя File Browser из ERS, зайдите в созданную в п.1 директорию и
запустите PGMFLASH.$C. Следуйте подсказкам на экране. Если прошивка удалась,
переходите к п.6.

6. Теперь флешка прошита, но чтоб NGS вновь ожил, надо вернуть оригинальную
прошивку в CPLD. Поступайте аналогично п.3, выбирая для прошивки файлы *.pof из
следующих директорий: cpld/cpld5_buf для NGS Rev.C либо cpld/cpld4_fullcase для
NGS Rev.A/Rev.B. После успешного прошивания CPLD вновь выключите и включите
пентеву.

7. ???

8. Profit! Теперь ваш NGS должен ожить, помигав при включении питания
светодиодиком вполнакала и зажгя его в полную силу через секунду.


TODO (точнее, NEVERDO :))

Тул для прошивки, скорее всего, будет работать неправильно, если флешка битая,
т.е. не прошивается или не стирается. Но это не беда -- просто поставьте в NGS
нормальную флешку ST M29F040B.

Работоспособность тула проверялась только на NGS Rev.C и ERS 0.55f, а также
только на вышеуказанной флешке. По идее, должно работать и с Am29F040B и любой
другой, совместимой по командам, но -- не проверялось.

В конце концов, трдшник с сорцами прилагается.
КЧНТТиД (Кому Что Надо, Тот То и Делает).

lvd[dot]mhm[dog]gmail[dot]com

Re: ngs_pgmflash -- тул для прошивания флешки в NGS

PostPosted: 20 Nov 2014, 13:18
by Eagle
А если и этого бластера нет? Т.е. я ничего не понял. Прошивка без танцев не обновляема, выходит.

Re: ngs_pgmflash -- тул для прошивания флешки в NGS

PostPosted: 20 Nov 2014, 16:58
by lvd
Eagle wrote:А если и этого бластера нет?

То остаётся только обломаться.

Re: ngs_pgmflash -- тул для прошивания флешки в NGS

PostPosted: 20 Nov 2014, 20:10
by lvd
Eagle wrote:Прошивка без танцев не обновляема

Вывод неверный.

Re: ngs_pgmflash -- тул для прошивания флешки в NGS

PostPosted: 21 Nov 2014, 20:11
by CHRV
LVD:
Попрошу все что ты тут понаписал, оформить в документик pdf. Крайне рекомендуемо с фотками и картинками.
Заранее спасибо!