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

|
Имеется плата на которой стоит проц и Altera MAXII. Как сделать так, чтобы по запросу проца CPLD передавала ему свой загрузочный код? Я так понял, что JAM-player может прошить ПЛИС, но не прочитать. Если писать код считывания самому, то в описании протокола (Configuration Handbook) MAXII отсутствует, а для описанных семейств приведены подробные временные диаграммы, но не нашел верхнего уровня (т.е. какие собственно данные нужно посылать).
|
|
|
|
|
Apr 24 2009, 08:58
|
Гуру
     
Группа: Свой
Сообщений: 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-программу для этого действия.
|
|
|
|
|
Apr 24 2009, 09:30
|
участник
   
Группа: Свой
Сообщений: 573
Регистрация: 16-02-06
Пользователь №: 14 402

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

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

|
Цитата А какой смысл ее читать процессором? Она(прошивка CPLD) меняется во времени? Предположу, что для того, чтобы проц мог обновить прошивку CPLD при необходимости. Например, высылаешь заказчику новую прошивку для проца, а в ней актуальная версия прошивки для CPLD. Проц сравнивает - если различается, то прошивает новую... Плюс в том, что на признаки версии прошивки CPLD не приходится тратить немногочисленные ресурсы самой CPLD.
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Apr 24 2009, 09:58
|
Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779

|
Цитата(atlantic @ Apr 24 2009, 13:30)  А какой смысл ее читать процессором? Она(прошивка CPLD) меняется во времени? Если хотите скопировать, то проще прочитать байтбластером(если там бит секретности не установлен, а если установлен то и вопросы все отпадают). Специфика девайса: По запросу контролирующих органов проц должен выдать дампы прошивки всего что шьется включая и свой собственный.
|
|
|
|
|
Apr 24 2009, 10:18
|
Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779

|
Цитата(atlantic @ Apr 24 2009, 14:05)  >По запросу контролирующих органов Наверно это налоговая инспекция  Да, они любят чтобы им все отдавались.
|
|
|
|
|
Apr 24 2009, 11:53
|
Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779

|
Цитата(DmitryR @ Apr 24 2009, 15:33)  А как контроллирующие органы проверят, что то, что им отдал процессор, является прошивкой CPLD? Для этого придумали разделение труда - специалисты по сертификации проверяют что проц выдает именно именно прошивку а не ее копию, а контролирующие органы проверяют соответствие этой прошивки оригиналу.
|
|
|
|
|
Apr 24 2009, 13:20
|

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

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

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

|
Цитата(Евгений Николаев @ Apr 24 2009, 13:44)  Предположу, что для того, чтобы проц мог обновить прошивку CPLD при необходимости. Например, высылаешь заказчику новую прошивку для проца, а в ней актуальная версия прошивки для CPLD. Проц сравнивает - если различается, то прошивает новую... Плюс в том, что на признаки версии прошивки CPLD не приходится тратить немногочисленные ресурсы самой CPLD. типичный програмистский подход))) зачем сравнивать, если можно тупо прошить???? если пришедшая прошивка запорчена вы и так решите, что она новая и запортите прибор. делать механизм считывания - это дать возможность другим разобраться в логике работы твоего изделия не имея его под рукой. Цитата(SM @ Apr 26 2009, 23:31)  Человеческий фактор аннулируется скриптом, который увеличивает юзеркод на единицу после каждой компиляции  Или делает его из даты-времени... и тогда пладятся тысячи одинаковых прошивок.
|
|
|
|
|
Apr 27 2009, 07:19
|

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

|
Цитата(rv3dll(lex) @ Apr 27 2009, 10:18)  зачем сравнивать, если можно тупо прошить???? Тупо прошивать нельзя хотя бы потому, что ресурс перепрошивания у CPLD ограничен. Там, где для наращивания системных функций может потребоваться перепрошивка и программируемая логика стоит в связке с процом, для которого заложена возможность перепрошивки, лучше ставить FPGA и грузить его по PS-у процом. Ни сравнивать ничего не надо, не бояться окончания ресурса. Именно - тупо шить то, с чем верхний софт будет работать. Цитата типичный програмистский подход))) Вот я как раз аппаратчик, в смысле - непрограммист, и мы семь раз отмеряем, прежде чем запустить что-то во внешний оборот только потому, что потом добраться до девайса будет очень непросто. Но иногда мерять можно сколько угодно раз, а отрежешь всё равно мимо...
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Apr 27 2009, 07:56
|

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

|
Не все такие долгожители Цитата MAX 3000A devices use CMOS EEPROM cells to implement logic functions. The devices... can be programmed and erased up to 100 times. У 7000s такая же оговорка была. На моей памяти есть доведение одной 7160s частыми перепрошивками до невменяемого состояния примерно на 50-70 раз. Про MAXII беглым взглядом не нашёл про живучесть конфигурационной и юзерской памятей.
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Apr 28 2009, 10:27
|

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

|
Цитата(Евгений Николаев @ Apr 27 2009, 11:56)  Про MAXII беглым взглядом не нашёл про живучесть конфигурационной и юзерской памятей. 100 циклов - см. в даташите на MAX II , в разделе DC and Switching Characteristics, стр.5.3 Programming/Erasure Specifications Table 5–3 shows the MAX II device family programming/erasure specifications. Erase and reprogram cycles — — 100 Cycles (Maximum)Note to Table 5–3: This specification applies to the UFM and configuration flash memory (CFM) blocks.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
May 5 2009, 08:50
|
Группа: Участник
Сообщений: 9
Регистрация: 26-01-07
Пользователь №: 24 779

|
Цитата(zksystem @ May 4 2009, 20:55)  Я как понял из поста у Вас CPLD прошивается внешним контроллером, неужели версию прошивы CPLD нельзя сохранить в EEPROM или FLASH памяти контроллера? В том-то и дело, что требовалось именно считать всю прошивку внешним процессором. Спасибо SM за дельную мысль. В итоге мне больше понравился следующая методика: Из файла *.pof создается *.svf, который конвертится (компилируется) в *.xsvf, который в свою очередь "проигрывается" playxsvf-плеером "встроенным" в процессор. SVF формат понравился больше чем JAM из-за того, что можно легко разделить процессы записи/чтения прошивки ПЛИС.
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|