реклама на сайте
подробности

 
 
> Программирование MAX II, Раздельно CFM & UFM
Шурила
сообщение Aug 4 2009, 14:37
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434



Задача:
Есть не меняемая конфигурация PLD MAX II и при этом в каждом изделии надо прошивать индивидуальные данные в User Flash Memory (UFM).
Причем данные надо зашивать на этапе производства (тем же ByteBlaster), при эксплуатации доступа по записи быть не должно.
В проекте UFM используется с параллельным доступом.

По поиску не нашел ничего вразумительного. laughing.gif

Вопросы:
1. Возможно ли? (по логике вроде да rolleyes.gif ) и как?
2. Можно ли подготовить данные для UFM не используя Quartus?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dvladim
сообщение Aug 4 2009, 17:11
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(Sergey'F @ Aug 4 2009, 20:38) *
Если разобраться, как они "сжимают" данные (вот здесь, например, описание стандарта, на сайте Altera не нашел) и сделать генерацию ID, то можно запускать его хоть из программатора Quartus.

Вот там и есть описание алгоритма сжатия. Но он вообще не нужен. Это всего-лишь инициализация массива. Значительно проще объявить массив как HEX.
Go to the top of the page
 
+Quote Post
Шурила
сообщение Aug 7 2009, 11:16
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434



Спасибо за подсказки.
Пока все одно мутно, буду разбираться.
Будет положительный результат, напишу.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 7 2009, 12:35
Сообщение #4


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Шурила @ Aug 7 2009, 15:16) *
Пока все одно мутно, буду разбираться.

Мне представляется наиболее удобным следующий вариант.
Вам нужно написать bat-файл, который будет запускать квартус как консольное приложение. В этом бате сперва нужно стартовать квартус c предварительно созданным tcl-скриптом (этот скрипт должен подключать к проекту новый hex-файл, в котором живет содержимое UFM очередного прибора) - что-то типа quartus_sh -t <имя_скриптового_файла>.tcl
При этом выполнится перекомпиляция проекта с новым хексом. В результирующем pof'е содержимое CFM останется прежним, а содержимое UFM изменится.
Затем в бат-файле надо стартовать квартусовский программер (quartus_pgm.exe) с опциями прошивки CFM и UFM.

Таким образом каждый раз будет получаться новый pof (с новым содержимым UFM), который и будет прошиваться в кристалл.
И при этом не нужно будет мышковать по окнам квартуса smile.gif


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Шурила
сообщение Aug 8 2009, 03:28
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434



Цитата(Stewart Little @ Aug 7 2009, 15:35) *
Мне представляется ... перекомпиляция проекта с новым хексом.

Вот как раз от этого и хотелось уйти biggrin.gif
- во первых, передача исходников на производство черевата неприятными проблемами (в плане неумышленного и\или умышленного изменения исходников)
- во вторых, просто утечка информации (нет это конечно не что-то сверх естественно гениальное, но ...)
Более детальный поиск в нете не дал ответов, но подобный вопрос периодически возникает:
Update Altera MAXII UFM post production
Programming UFM with serialized number
Post production UFM update

Пока ориентируюсь на jam crying.gif
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 10 2009, 13:06
Сообщение #6


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Шурила @ Aug 8 2009, 07:28) *
Пока ориентируюсь на jam crying.gif

Мне кажется, что Вы ищете решение проблемы не там.
Проблема не в том, что нужно раздельно запрограммировать CFM и UFM (это-то делается штатными средствами), а в том, чтобы подготовить файлы отдельно для CFM и отдельно для UFM.
Что должно жить в UFM? Серийный номер? Калибровочные коэффициенты? Или что-то еще, что может быть определено только в процессе производства?
Если да, то можно поступить следующим образом. Передавайте на производство следующее :
- pof-файл c Вашим проектом,
- "служебный" проект, который состоит только из блока UFM, аналогичного тому, что находится в рабочем проекте (т.е. для того, чтобы сделать "служебный" проект нужно из рабочего проекта выкинуть все, кроме блока UFM). Кстати, здесь удобнее передавать не проект как таковой, а бат-файл с tcl-скриптом, коим скриптом этот проект формируется smile.gif.
Процесс программирования проводится в два этапа :
1. В кристалл прошивается Ваш рабочий pof, с опцией "шить только CFM"
2. В консольном режиме запускается квартус, и компилирует "служебный" проект с новым hex-файлом (содержимым UFM) - получаете новый pof.
3. В кристалл прошиваете этот новый pof с опцией "шить только UFM".

Несколько трансальпийский способ, но при этом у Вас и исходники не засвечиваются, и файлы CFM и UFM отдельно получаются.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Шурила
сообщение Aug 12 2009, 07:50
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434



Цитата(Stewart Little @ Aug 10 2009, 16:06) *
...
Несколько трансальпийский способ, но при этом у Вас и исходники не засвечиваются, и файлы CFM и UFM отдельно получаются.

Метание этих дней, пробы разных вариантов, склонили меня в пользу подхода Stewart Little.
Сейчас в связи с отпусками участниками команды, комплексно проверить не могу. Но как только, дам знать.
Цитата(Shtirlits @ Aug 12 2009, 10:07) *
...
Я не удосужился еще посмотреть в документации, как там у MAX-а JTAG убивается, но чтобы потом нельзя было сменить содержимое USER FLASH, вы что собираетесь делать?
...
2) нагенерить сколько нужно файлов для производства.

Нет, JTAG убивать - не стоит задача (у MAX-а JTAG выделенные пины и не меняют своего назначения как в 3000).
- 2) где-то так. Вот только pof или hex будем определятся.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Шурила   Программирование MAX II   Aug 4 2009, 14:37
- - Sergey'F   Ясного и простого решения менять значения в .pof д...   Aug 4 2009, 16:38
- - SM   Попробуйте сделать проще. Собрать проект с зашиван...   Aug 10 2009, 13:49
|- - Stewart Little   Цитата(SM @ Aug 10 2009, 17:49) Скорее вс...   Aug 10 2009, 14:58
|- - SM   Цитата(Stewart Little @ Aug 10 2009, 18:5...   Aug 11 2009, 07:49
|- - Stewart Little   Цитата(SM @ Aug 11 2009, 11:49) Дай мне т...   Aug 11 2009, 08:02
|- - SM   Цитата(Stewart Little @ Aug 11 2009, 12:0...   Aug 11 2009, 10:01
|- - Stewart Little   Цитата(SM @ Aug 11 2009, 14:01) Ну и врод...   Aug 11 2009, 10:20
- - murmel1   Недавно решал обратную задачу - извлекал из pof да...   Aug 11 2009, 18:23
- - Shtirlits   Добрый вечер. Скажите, почему нельзя использовать...   Aug 11 2009, 18:35
|- - SM   Цитата(Shtirlits @ Aug 11 2009, 22:35) Ск...   Aug 11 2009, 18:39
- - Shtirlits   Нда. Закрыл ISE, добыл из заначки quartus, покрути...   Aug 11 2009, 19:34
|- - Sergey'F   Цитата(Shtirlits @ Aug 11 2009, 23:34) Нд...   Aug 11 2009, 19:55
|- - Shtirlits   Цитата(Sergey'F @ Aug 11 2009, 23:55)...   Aug 12 2009, 07:07
|- - SM   Цитата(Sergey'F @ Aug 11 2009, 23:55)...   Aug 12 2009, 07:35
- - SM   Кстати - ieee-1532 bsdl-ки по max-ii там - ftp://f...   Aug 12 2009, 08:11
- - Шурила   Цитата(SM @ Aug 12 2009, 11:11) Правда пр...   Aug 12 2009, 08:44
- - SM   Цитата(Шурила @ Aug 12 2009, 12:44) А для...   Aug 12 2009, 08:51


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016