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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как прочитать CPLD?
spl
сообщение Apr 24 2009, 08:37
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779



Имеется плата на которой стоит проц и Altera MAXII. Как сделать так, чтобы по запросу проца CPLD передавала ему свой загрузочный код?
Я так понял, что JAM-player может прошить ПЛИС, но не прочитать.
Если писать код считывания самому, то в описании протокола (Configuration Handbook) MAXII отсутствует, а для описанных семейств приведены подробные временные диаграммы, но не нашел верхнего уровня (т.е. какие собственно данные нужно посылать).
Go to the top of the page
 
+Quote Post
SM
сообщение Apr 24 2009, 08:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(spl @ Apr 24 2009, 12:37) *
Если писать код считывания самому, то в описании протокола (Configuration Handbook) MAXII отсутствует, а для описанных семейств приведены подробные временные диаграммы, но не нашел верхнего уровня (т.е. какие собственно данные нужно посылать).

Сделайте SVF-файло для программирования и верификации, и посмотрите его. Все увидите сами. Что касается описания протокола MAX-II, так его никто не скрывал. Беглым просмотром документации обнаруживается, что он есть IEEE-1532. А более глубоким - на раз находятся MAX II 1532 BSDL файлы. JAM-плеером можно считать конфигурацию. Раз он верифицирует, значит и считывает. Ну соответственно надо написать JAM-программу для этого действия.
Go to the top of the page
 
+Quote Post
atlantic
сообщение Apr 24 2009, 09:30
Сообщение #3


участник
****

Группа: Свой
Сообщений: 573
Регистрация: 16-02-06
Пользователь №: 14 402



Цитата(spl @ Apr 24 2009, 11:37) *
Имеется плата на которой стоит проц и Altera MAXII. Как сделать так, чтобы по запросу проца CPLD передавала ему свой загрузочный код?
Я так понял, что JAM-player может прошить ПЛИС, но не прочитать.
Если писать код считывания самому, то в описании протокола (Configuration Handbook) MAXII отсутствует, а для описанных семейств приведены подробные временные диаграммы, но не нашел верхнего уровня (т.е. какие собственно данные нужно посылать).

А какой смысл ее читать процессором?
Она(прошивка CPLD) меняется во времени?
Если хотите скопировать, то проще прочитать байтбластером(если там бит секретности не установлен, а если установлен то и вопросы все отпадают).
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Apr 24 2009, 09:44
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата
А какой смысл ее читать процессором?
Она(прошивка CPLD) меняется во времени?

Предположу, что для того, чтобы проц мог обновить прошивку CPLD при необходимости. Например, высылаешь заказчику новую прошивку для проца, а в ней актуальная версия прошивки для CPLD. Проц сравнивает - если различается, то прошивает новую...
Плюс в том, что на признаки версии прошивки CPLD не приходится тратить немногочисленные ресурсы самой CPLD.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
SM
сообщение Apr 24 2009, 09:57
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Евгений Николаев @ Apr 24 2009, 13:44) *
Например, высылаешь заказчику новую прошивку для проца, а в ней актуальная версия прошивки для CPLD. Проц сравнивает - если различается, то прошивает новую...

Ага, это называется через зад автогеном. Может быть еще посложнее что-то придумать можно? Если хорошо подумать... Для этого придуман User Code, который шьется в любое значение при прошивке ПЛИС и читается потом одной командой вне зависимости от security bit.
Go to the top of the page
 
+Quote Post
spl
сообщение Apr 24 2009, 09:58
Сообщение #6





Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779



Цитата(atlantic @ Apr 24 2009, 13:30) *
А какой смысл ее читать процессором?
Она(прошивка CPLD) меняется во времени?
Если хотите скопировать, то проще прочитать байтбластером(если там бит секретности не установлен, а если установлен то и вопросы все отпадают).

Специфика девайса:
По запросу контролирующих органов проц должен выдать дампы прошивки всего что шьется включая и свой собственный.
Go to the top of the page
 
+Quote Post
atlantic
сообщение Apr 24 2009, 10:05
Сообщение #7


участник
****

Группа: Свой
Сообщений: 573
Регистрация: 16-02-06
Пользователь №: 14 402



>По запросу контролирующих органов
Наверно это налоговая инспекция smile.gif
Что они с этим дампом потом смогут сделать?
Наверно "дизассемлерировать" и посмотреть/сравнить с исходником прошивки smile.gif
Go to the top of the page
 
+Quote Post
spl
сообщение Apr 24 2009, 10:18
Сообщение #8





Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779



Цитата(atlantic @ Apr 24 2009, 14:05) *
>По запросу контролирующих органов
Наверно это налоговая инспекция smile.gif

Да, они любят чтобы им все отдавались.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Apr 24 2009, 11:33
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(spl @ Apr 24 2009, 13:58) *
По запросу контролирующих органов проц должен выдать дампы прошивки всего что шьется включая и свой собственный.

А как контроллирующие органы проверят, что то, что им отдал процессор, является прошивкой CPLD? Никак. Поэтому тут два варианта: если они хотят иметь реальный контроль - то сами читают CPLD через JTAG (и потом наверное сравнивают с эталонной прошивкой). Если они хотят нарисовать галочку, что "проверили", то есть просто повысить чувство собственной важности - пусть им процессор просто зашитый в его ПЗУ SVF отдает и все.
Go to the top of the page
 
+Quote Post
spl
сообщение Apr 24 2009, 11:53
Сообщение #10





Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779



Цитата(DmitryR @ Apr 24 2009, 15:33) *
А как контроллирующие органы проверят, что то, что им отдал процессор, является прошивкой CPLD?

Для этого придумали разделение труда -
специалисты по сертификации проверяют что проц выдает именно именно прошивку а не ее копию,
а контролирующие органы проверяют соответствие этой прошивки оригиналу.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Apr 24 2009, 13:20
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



SM, про USER CODE согласен. Красивое, оптимальное решение, особенно - обход security bit'а. Подойдёт для крупных серий, где прошивка сто раз проверифицируется и в единственном(!) экземпляре будет передана в производство.
А вот если прошивка находится в постоянном развитии - то один что-то подправит, то другой, прошивка "живёт своей жизнью"... Может случиться так, что под одним User Code'ом будет существовать несколько релизов. Человеческий фактор и ничего с ним не поделаешь, к сожалению.
Поэтому сличение всей прошивки целиком более показательно с точки зрения надёжности. Хотя: от секретности отказываемся сразу, время старта системы увеличиваем, объём кода тоже...
Бывает, что и через зад автогеном приходится: да, сложнее, но при желании и до гланд добраться можно laughing.gif


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
SM
сообщение Apr 26 2009, 19:31
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Евгений Николаев @ Apr 24 2009, 17:20) *
А вот если прошивка находится в постоянном развитии - то один что-то подправит, то другой, прошивка "живёт своей жизнью"... Может случиться так, что под одним User Code'ом будет существовать несколько релизов. Человеческий фактор и ничего с ним не поделаешь, к сожалению.

Человеческий фактор аннулируется скриптом, который увеличивает юзеркод на единицу после каждой компиляции smile.gif Или делает его из даты-времени...
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Apr 27 2009, 06:18
Сообщение #13


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



Цитата(Евгений Николаев @ Apr 24 2009, 13:44) *
Предположу, что для того, чтобы проц мог обновить прошивку CPLD при необходимости. Например, высылаешь заказчику новую прошивку для проца, а в ней актуальная версия прошивки для CPLD. Проц сравнивает - если различается, то прошивает новую...
Плюс в том, что на признаки версии прошивки CPLD не приходится тратить немногочисленные ресурсы самой CPLD.


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

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



Цитата(SM @ Apr 26 2009, 23:31) *
Человеческий фактор аннулируется скриптом, который увеличивает юзеркод на единицу после каждой компиляции smile.gif Или делает его из даты-времени...


и тогда пладятся тысячи одинаковых прошивок.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Apr 27 2009, 07:19
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата(rv3dll(lex) @ Apr 27 2009, 10:18) *
зачем сравнивать, если можно тупо прошить????

Тупо прошивать нельзя хотя бы потому, что ресурс перепрошивания у CPLD ограничен.
Там, где для наращивания системных функций может потребоваться перепрошивка и программируемая логика стоит в связке с процом, для которого заложена возможность перепрошивки, лучше ставить FPGA и грузить его по PS-у процом. Ни сравнивать ничего не надо, не бояться окончания ресурса. Именно - тупо шить то, с чем верхний софт будет работать.
Цитата
типичный програмистский подход)))

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


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Apr 27 2009, 07:30
Сообщение #15


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



у меня есть макетка, на которой стоит 3128s - я на ней всякие мелочи отлаживаю.
так вот мне 12 лет не зватило, чтобы у неё ресурс кончился. так что на жизнь прибора хватит с лихвой. даже если там 10000 раз и по разу в день - это около 30 лет
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:37
Рейтинг@Mail.ru


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