|
Cyclon III, несколько конфигураций, Как реализовать выбор конфигурации устройства? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 20)
|
Sep 5 2011, 08:46
|

Участник

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354

|
Цитата(Копейкин @ Sep 5 2011, 12:17)  Подскажите пожалуйста, возможно ли такое и, если возможно, то как реализовать? Есть Циклон EP3C25E144C8N + конф. флэш EPCS16. Требуется при подаче питания на схему, принять решение - как сконфигурировать устройство. Существуют 2 варианта конфигурации, у которых разное железо и программа для NIOSII. Мне приходит в голову только установить две EPCS и при подаче питания разрешать работу только одной из них. С другой стороны, объем EPCS позволяет хранить обе конфигурации... Как быть? Грузить Alter'у по параллельному интерфейсу с любого процессора, например ATmeaga...
|
|
|
|
|
Sep 5 2011, 09:00
|

Участник

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354

|
Цитата(gosu-art @ Sep 5 2011, 12:48)  Смотрите в сторону Remote System Upgrade. В хендбуке на Cyclone 9я глава. Например, как я у себя буду делать в новом проекте. Грузится вначале стратаповая прошивка с Ниосом. Он смотрит где находится модуль ,определяется с прошивкой и вытаскивает ее из той же EPCS'ки. НИОС можно загрузить другой прошивкой, а вот Альтера, насколько я знаю, всегда грузится с 0х0 адреса EPCS... Возможно я ошибаюсь... ---- про то как ковыряться внутри EPCS я сумбурно писал тут!
Сообщение отредактировал wpost - Sep 5 2011, 09:05
|
|
|
|
|
Sep 5 2011, 09:13
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(wpost @ Sep 5 2011, 13:00)  НИОС можно загрузить другой прошивкой, а вот Альтера, насколько я знаю, всегда грузится с 0х0 адреса EPCS... Возможно я ошибаюсь... про то как ковыряться внутри EPCS я сумбурно писал тут! http://www.altera.com/literature/ug/ug_altremote.pdfВ данном случае уже будет не Альтера сама грузится, а Ниос будет грузить конфигурационную память. И поэтому неважно откуда пришла прошивка-с флешки, EThernet'a, PCI и.т.д
|
|
|
|
|
Sep 5 2011, 09:29
|

Участник

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354

|
Цитата(gosu-art @ Sep 5 2011, 13:13)  http://www.altera.com/literature/ug/ug_altremote.pdfВ данном случае уже будет не Альтера сама грузится, а Ниос будет грузить конфигурационную память. И поэтому неважно откуда пришла прошивка-с флешки, EThernet'a, PCI и.т.д By using the ALTREMOTE_UPDATE megafunction and the dedicated circuitry, your design can download a new configuration image from a remote location, store it in the configuration memory, and direct the dedicated remote system upgrade circuitry to start a reconfiguration cycle. Конфигурационная память - это EPCS как я понимаю... данный инструмент позволяет только перепрожечь EPCS удаленно. А Altera будет грузиться уже с перепрожженной EPCS. вот и всё... Altera не Мюнхаузен, чтобы себя за волосы вытаскивать... в процессе реконфигурации старая прошивка не работает, следовательно ПЛИС никак не может перегрузить себя сама... а у EPCS конечный цикл перезаписи... IMHO: это средство для убирания багов в эксплуатации, но не решение на каждый день... Сорри... возможно, я не дочитал до соли... Там что-то про выбор страницы с прошивкой еще есть...
Сообщение отредактировал wpost - Sep 5 2011, 09:33
|
|
|
|
|
Sep 5 2011, 09:41
|

Участник

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354

|
Цитата(Копейкин @ Sep 5 2011, 13:36)  wpost Я не хочу постоянно перепрошивать EPCS. Просто плата, содержащая Циклон, имея одинаковый обвес и дизайн, должна работать в двух приборах по разному. Вот и хочется 2 конфигурации в одну EPCS заранее включить, а при подаче питания разбираться, что грузить... Нужно внимательно почитать про этот компонет... если это и можно сделать, то нужно создавать страницы в EPCS, записывать прошивки на разные страницы и как-то с них грузиться... Вроде как что-то такое там реализовано
Сообщение отредактировал wpost - Sep 5 2011, 09:41
|
|
|
|
|
Sep 5 2011, 09:48
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(Копейкин @ Sep 5 2011, 13:27)  gosu-art, спасибо большое, я бегло глянул ug_altremote.pdf, буду разбираться...
Ответьте пожалуйста: 1) C помощью ALTREMOTE_UPDATE можно выбрать прошивку содержащую "железо" и NIOS, из нескольких, хранящихся в EPCS ? 2) Можно на этапе производства, имея только JTAG для программирования, залить несколько конфигураций в EPCS? 1. When used with serial configuration devices, the remote update mode allows a configuration space to start at any flash sector boundary, allowing a maximum of 128 pages in the EPCS64 device and 32 pages in the EPCS16 device, in which the minimum size of each page is 512 Kbits. Additionally, the remote update mode features a user watchdog timer that can detect functional errors in an application configuration. 2. Да можно - File->Convert programming File. Цитата Конфигурационная память - это EPCS как я понимаю... данный инструмент позволяет только перепрожечь EPCS удаленно. А Altera будет грузиться уже с перепрожженной EPCS. вот и всё... Altera не Мюнхаузен, чтобы себя за волосы вытаскивать... в процессе реконфигурации старая прошивка не работает, следовательно ПЛИС никак не может перегрузить себя сама... а у EPCS конечный цикл перезаписи... IMHO: это средство для убирания багов в эксплуатации, но не решение на каждый день... EPCS можно прошивать используя EPCS контроллер. Это тут не причем.
|
|
|
|
|
Sep 5 2011, 11:10
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(Копейкин @ Sep 5 2011, 15:03)  Еще подскажите пожалуйста, кто знает, как объединить *.sof (логика) и *.elf файлы (программа NIOS) в единственный конфигурационный файл для заливки в EPCS. До сих пор программировал через NIOS II Flash programmer... Все там же File->Convert programming File. Только elf в hex перевести нужно
|
|
|
|
|
Sep 5 2011, 14:29
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(vadimuzzz @ Sep 5 2011, 17:54)  А вот если мне нужно законфигить ПЛИС не прошивая EPCS. Например. Есть базовая прошивка в EPCS. Стартуем. Ниос смотрит- Ага, такой-то модуль  )) По езернету просит новую прошивку. Я ему ее отправляю, ПЛИС переконфигурируется (без прошивки EPCS) и все радуются  . Такое возможно?
|
|
|
|
|
Sep 5 2011, 15:17
|
Частый гость
 
Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134

|
Цитата(vadimuzzz @ Sep 5 2011, 18:31)  нет, remote_upgrade может только переключать прошивки, которые есть на флешке NIOS мне всё равно нужен в обоих загружаемых конфигурациях. Я так понимаю, у меня одна конфигурация из двух нужных записывается типом Factory в страницу 0 (используется EPCS 16). После старта она проверяет вывод, который сигналит, в каком устройстве используется плата и плата или остаётся в текущей конфигурации, или прописывает новый адрес старта конфигурации и вызывает переконфигурацию, например аппаратным выводом nCONFIG ?
|
|
|
|
|
Sep 5 2011, 15:55
|
Частый гость
 
Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134

|
Цитата(gosu-art @ Sep 5 2011, 19:43)  А если сделать так: Ставим параллельную флешь, и параллельно с ней SRAM. Грузимся по AP с флэхи, "отключаем" ее, "подключаем" срам, загружаем туды новую прошивку, рестартимся и уже по АП с нее грузимся. Т.е. Флэха будет только для первого старта. Не сильно мудрено? Я так понимаю, что теоретически можно. Но кто будет переключать выборку FLASH и SRAM и удерживать состояние во время переконфигурации? А почему Active parallel загрузка? Вам нужно менять и пользовательскую логику и программу процессора?
|
|
|
|
|
Sep 5 2011, 16:22
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(Копейкин @ Sep 5 2011, 19:55)  Но кто будет переключать выборку FLASH и SRAM и удерживать состояние во время переконфигурации? Триггер внешний или CPLD поставить. Можно че нить на транзисторах намутить, в общем решаемо. У нас просто системы построены так, чтобы все заливалось с ПО верхнего уровня. Цитата(Копейкин @ Sep 5 2011, 19:55)  А почему Active parallel загрузка? Ну дык параллельное все)). Можно было бы конечно из EPCS по AS. а потом из ОЗУ по АП. Но альтера крайне не рекомендует щелкать MSELами.
|
|
|
|
|
Sep 6 2011, 00:27
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(Копейкин @ Sep 5 2011, 22:17)  Я так понимаю, у меня одна конфигурация из двух нужных записывается типом Factory в страницу 0 (используется EPCS 16). После старта она проверяет вывод, который сигналит, в каком устройстве используется плата и плата или остаётся в текущей конфигурации, или прописывает новый адрес старта конфигурации и вызывает переконфигурацию, например аппаратным выводом nCONFIG ? да, можно и так. я делал немного иначе, Factory - это некая урезанная прошивка, минимальный набор функций для чтения/записи прошивок, а рабочие прошивки все в User Mode. но ваш вариант тоже нормальный. Цитата(gosu-art @ Sep 5 2011, 22:43)  А если сделать так: Ставим параллельную флешь, и параллельно с ней SRAM. Грузимся по AP с флэхи, "отключаем" ее, "подключаем" срам, загружаем туды новую прошивку, рестартимся и уже по АП с нее грузимся. Т.е. Флэха будет только для первого старта. Не сильно мудрено? теоретически можно, но я не очень понимаю зачем? что мешает принять новую прошивку по какому-либо интерфейсу, залить ее на флешку и переключиться на нее? а в базовую прошивку добавить условие переключение на другую прошивку, скажем, по команде.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|