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

 
 
 
Reply to this topicStart new topic
> Проверка успешности реконфигурации, MultiBoot Spartan 3AN
egorman44
сообщение Mar 23 2015, 09:25
Сообщение #1


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

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Здравствуйте многоуважаемые форумчане! Есть проект который использует MultiBoot. Хотелось бы узнать есть ли способ как-либо детектировать событие, когда ПЛИС хотела загрузиться с конфигурации 1 на конфигурацию 2 , но по каким-либо причинам это не получилось и вернулась на конфигурацию 1. Нашел такой регистр как STATUS. Вроде бы в нем присутствуют соответствующие флаги "Configuration Watchdog Timer expired" и "Post-configuration CRC check error", но к моему удивлению они уже установлены в лог.1 когда я их читаю после подачи питания, когда запускается конфигурация 1 , т.е. говорят о наличии ошибки. Подскажите может кто делал, в чем тут фокус ?
Go to the top of the page
 
+Quote Post
egorman44
сообщение Mar 24 2015, 10:00
Сообщение #2


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

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



У меня возникли подозрения, что я как то неправильно читаю либо интерпретирую прочитанное из регистра STAT. В регистре STAT должен содержаться режим конфигурации 3 бита, у меня выставлен Internal Master SPI что в бинарном виде выглядит как 3'b011 , но к сожалению в полученных от ICAP (16'hCF9F) данных, я не увидел нигде, ничего похожего на 3'b011. Принятые данные 16'hCF9F надо побайтно перевернуть получиться значение -> 16'F1F9, режим конфигурации располагается в 11:9 битах , но там нули. sad.gif
Кто-то может пробовал читать этот регистр через ICAP / SelectMAP ?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
EugeneS
сообщение Mar 31 2015, 12:22
Сообщение #3


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

Группа: Свой
Сообщений: 181
Регистрация: 28-08-04
Пользователь №: 557



QUOTE (egorman44 @ Mar 23 2015, 12:25) *
Здравствуйте многоуважаемые форумчане! Есть проект который использует MultiBoot. Хотелось бы узнать есть ли способ как-либо детектировать событие, когда ПЛИС хотела загрузиться с конфигурации 1 на конфигурацию 2 , но по каким-либо причинам это не получилось и вернулась на конфигурацию 1. Нашел такой регистр как STATUS. Вроде бы в нем присутствуют соответствующие флаги "Configuration Watchdog Timer expired" и "Post-configuration CRC check error", но к моему удивлению они уже установлены в лог.1 когда я их читаю после подачи питания, когда запускается конфигурация 1 , т.е. говорят о наличии ошибки. Подскажите может кто делал, в чем тут фокус ?


STATUS регистр доступен через Impact.
Пример на сайте Xilinx: XTP104 - KC705 MultiBoot Design
Go to the top of the page
 
+Quote Post
troiden
сообщение Mar 31 2015, 12:37
Сообщение #4


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

Группа: Свой
Сообщений: 108
Регистрация: 19-02-09
Из: Москва
Пользователь №: 45 069



Цитата(egorman44 @ Mar 23 2015, 12:25) *
Здравствуйте многоуважаемые форумчане! Есть проект который использует MultiBoot. Хотелось бы узнать есть ли способ как-либо детектировать событие, когда ПЛИС хотела загрузиться с конфигурации 1 на конфигурацию 2 , но по каким-либо причинам это не получилось и вернулась на конфигурацию 1. Нашел такой регистр как STATUS. Вроде бы в нем присутствуют соответствующие флаги "Configuration Watchdog Timer expired" и "Post-configuration CRC check error", но к моему удивлению они уже установлены в лог.1 когда я их читаю после подачи питания, когда запускается конфигурация 1 , т.е. говорят о наличии ошибки. Подскажите может кто делал, в чем тут фокус ?

Нечто подобное делалось для пятого Virtex. После включения питания грузилась резервная прошивка, она запускала загрузку боевой. Если происходил сбой по CRC или таймауту Watchdog, то грузилась обратно резервная. Чтобы система не зашла в бесконечный цикл, в резервной прошивке читался Boot History Status Register (BOOTSTS) через ICAP. В приложенном файле модуль, отвечающий за логику перезагрузки ПЛИСа. Может чем поможет sm.gif
Прикрепленные файлы
Прикрепленный файл  reprogram_block_fallback.v ( 5.5 килобайт ) Кол-во скачиваний: 130
 
Go to the top of the page
 
+Quote Post
egorman44
сообщение Mar 31 2015, 12:48
Сообщение #5


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

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Цитата(EugeneS @ Mar 31 2015, 15:22) *
STATUS регистр доступен через Impact.
Пример на сайте Xilinx: XTP104 - KC705 MultiBoot Design


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


Цитата(troiden @ Mar 31 2015, 15:37) *
Нечто подобное делалось для пятого Virtex. После включения питания грузилась резервная прошивка, она запускала загрузку боевой. Если происходил сбой по CRC или таймауту Watchdog, то грузилась обратно резервная. Чтобы система не зашла в бесконечный цикл, в резервной прошивке читался Boot History Status Register (BOOTSTS) через ICAP. В приложенном файле модуль, отвечающий за логику перезагрузки ПЛИСа. Может чем поможет sm.gif

Посмотрим !

Всем Спасибо!
Go to the top of the page
 
+Quote Post

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

 


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


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