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

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

Нужно сделать следующее:

запустить update memory init file

запустить ассемблер

запустить конвертор файлов (*.sof => *.jic)

залить полученный *.jic в девайс.

 

Как всегда особо времени нет,самому поразбираться. Может кто решал подобную задачу,если не сложно - киньте примерчик,плз,хоть одну из этих процедур.

 

Сам попробовал простейший пример удаления файлов,не идёт.

set project testrom
project_open $project
clean:
rm -rf *.rpt *.chg smart.log *.htm *.eqn *.pin *.sof *.pof db

 

ругается на команду clean.

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


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

Нашёл одну команду,вроде она одна может делать что мне нужно.

 

Quartus II Tcl Console
# quartus_stp --tcl_eval update_content_to_memory_from_file -instance_index 0 -mem_file_path "num_box.mif" -mem_file_type mif 
------------------------------------------------
ERROR: A memory edit sequence has not been started.

    while executing
"update_content_to_memory_from_file -instance_index 0 -mem_file_path "num_box.mif" -mem_file_type mif "
------------------------------------------------
#

 

Вот и все сообщения.И как же искать ошибку?

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


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

Команда "update_content_to_memory_from_file" работает с механизмом In-System Memory Content Editor, т.е. не совсем то, что вам нужно.

Вам нужна утилита quartus_cdb.

См. тут:

http://www.altera.com/support/kdb/solution...62004_8707.html

Для конвертации пользуйтесь quartus_cpf.

В конечном счете вам понадобятся 4 утилиты:

quartus_cdb->quartus_asm->quartus_cpf->quartus_pgm

Изменено пользователем AndrewS6

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


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

В конечном счете вам понадобятся 4 утилиты:

quartus_cdb->quartus_asm->quartus_cpf->quartus_pgm

Класс,проверил две первые утилиты,всё проходит замечательно.

С третьей и четвёртой утилитой попробую сам разобраться,если появятся вопросы напишу.

Огромное спасибо!

 

Уже вопрос появился.

Из консоли первые две команды выполняются нормально,если их выполнять последовательно,сначала одну потом вторую.

А вот если их записать в файл Update.tcl и запустить этот файл кнопкой из тулбара tcl то выскакивает ошибка:

Error: Cannot run Tcl Script File "E:\My_Designs\****\Ram\Update.tcl"
    Error: invalid command name "quartus_cdb"

Звёздочки в пути я поставил только в этом посте для краткости.

 

В файле написал две команды:

quartus_cdb --update_mif Ram
quartus_asm Ram

Та же ошибка если в файле только одна команда.

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


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

Ну вообще-то это отдельные исполняемые модули, их можно и без всяких там tcl-консолей запускать, я думал вы пытаетесь через batch / bash все это дело провернуть.

Если сильно надо из TCL, то попробуйте добавлять "exec" (т.е. exec quartus_cdb -blablabla и т.п.).

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


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

Ну вообще-то это отдельные исполняемые модули, их можно и без всяких там tcl-консолей запускать, я думал вы пытаетесь через batch / bash все это дело провернуть.

Если сильно надо из TCL, то попробуйте добавлять "exec" (т.е. exec quartus_cdb -blablabla и т.п.).

Угу,так значительно лучше,спасибо.

Только если в файле одна первая команда - она выполняется,а если две команды - то выполняется только вторая :wacko:

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


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

2 _Anatoliy

В приложении собственно простейшая реализация задуманной идеи (без ловушек на ошибки и всё прочее). Скорей всего со старта не заработает, но идея думаю понятна.

altera_tcl_example.7z

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


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

2 _Anatoliy

В приложении собственно простейшая реализация задуманной идеи (без ловушек на ошибки и всё прочее). Скорей всего со старта не заработает, но идея думаю понятна.

altera_tcl_example.7z

Спасибо!Попробую дальше сам.

 

Только если в файле одна первая команда - она выполняется,а если две команды - то выполняется только вторая :wacko:

Кстати,выполнение из *.bat мне понравилось гораздо лучше.С тиклем похоже нужно копать серьёзней.

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


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

Всё,тему можно считать исчерпаной.Отказался я от тикля(сильно время поджимает),написал срипт в батнике - работает замечательно,все 4 пункта.

updater.7z

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


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

Вообще это удобнее делать через Makefile.

Причем альтера генерит шаблон quartus_sh --help=makefiles

ну а дальше дописываете что нужно и ... вуаля - никаких лишних телодвижений.

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


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

Вообще это удобнее делать через Makefile.

Причем альтера генерит шаблон quartus_sh --help=makefiles

ну а дальше дописываете что нужно и ... вуаля - никаких лишних телодвижений.

Вероятно Вы правы,но я по натуре больше железячник чем программист,поэтому за 20 лет работы с плисками ни разу скриптами не пользовался.За совет спасибо,попробую.

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


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

Посмотрите интересную ветку на альтеровском форуме.

Спасибо,я уже сделал что хотел. Теперь плиски прошиваю из матлаба ;) Красота!

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


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

quartus_cpf -c -d "EPCS16" -s "EP3C55" "box1.sof" "box4_bat.jic"
quartus_pgm -m JTAG -o pvbi;"box4_bat.jic"

как я раньше жил без этого :rolleyes:

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


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

quartus_cpf -c -d "EPCS16" -s "EP3C55" "box1.sof" "box4_bat.jic"
quartus_pgm -m JTAG -o pvbi;"box4_bat.jic"

как я раньше жил без этого :rolleyes:

Не понял иронии.

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


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

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

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

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

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

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

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

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

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

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