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

 
 
> Altera Remote Ststem Update
doom13
сообщение Jan 21 2015, 13:59
Сообщение #1


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Добрый день.
В проекте присутствует ядро Remote update, всё управление происходит с помощью Nios II. Есть две конфигурации: factory и application.
Factory заливается по адресам 0x0, application - 0xd00000. Включается питание запускается factory конфигурация, которая через Remote Update загружает конфигурацию application.
Алгоритм работы для factory следующий:
Код
rd_data = rsu_controller_rd_reconf_src_condition((void *)RSU_CONTROLLER_BASE);
if((rd_data == RECONF_SOURCE_POR) || (rd_data == RECONF_SOURCE_EXTERNAL_RST) || (rd_data == RECONF_SOURCE_LOGIC_TRIGGERED))
{
    rsu_controller_wr_config_mode((void *)RSU_CONTROLLER_BASE, CONFIG_MODE_APPLICATION);
    rsu_controller_wr_wdt_timeout((void *)RSU_CONTROLLER_BASE, RSU_WDT_TIMEOUT_VALUE);
    rsu_controller_write_param((void *)RSU_CONTROLLER_BASE, PARAM_WDT_ENABLE, 1);
    rsu_controller_write_param((void *)RSU_CONTROLLER_BASE, PARAM_PAGE_SELECT, APPLICATION_PAGE_START_ADDRESS);
    rsu_controller_reconfig((void *)RSU_CONTROLLER_BASE);
}


Алгоритм работы для application:
Код
rd_data = rsu_controller_rd_config_mode((void *)RSU_CONTROLLER_BASE);
if(rd_data == CONFIG_MODE_APPLICATION)
{
    rd_data = rsu_controller_read_param((void *)RSU_CONTROLLER_BASE, PARAM_WDT_ENABLE);
    if(rd_data)
    {
         rsu_controller_reset_timer((void *)RSU_CONTROLLER_BASE, 1); // сигнал разрешения сброса wdt, разрешает подачу меандра на вход reset_timer ядра Remote Update
    }
}


Для удобства перепрошивки довавлена функция реконфигурации, алгоритм которой:
Код
#if __REMOTE_SYSTEM_UPDATE_CONFIGURATION_MODE == CONFIG_MODE_FACTORY
    rsu_controller_wr_config_mode((void *)RSU_CONTROLLER_BASE, CONFIG_MODE_FACTORY);
    rsu_controller_write_param((void *)RSU_CONTROLLER_BASE, PARAM_WDT_ENABLE, 0);
    rsu_controller_wr_wdt_timeout((void *)RSU_CONTROLLER_BASE, 0);
    rsu_controller_write_param((void *)RSU_CONTROLLER_BASE, PARAM_PAGE_SELECT, FACTORY_PAGE_START_ADDRESS);
    rsu_controller_reconfig((void *)RSU_CONTROLLER_BASE);
#elif __REMOTE_SYSTEM_UPDATE_CONFIGURATION_MODE == CONFIG_MODE_APPLICATION
    rsu_controller_reconfig((void *)RSU_CONTROLLER_BASE);
#endif


Вопросы в следующем:
1) Заливаем factory, application, переключаем питание - всё работает, даём команду Reconfig - всё перезапускается.
2) Залит только factory. По включению питания запустилось, дали команду Reconfig - всё ок.
3) Проблемная ситуация 1: Находимся в режиме application и перезаливаем прошивку для application. Что-то легло - прошивка залилась неправильно/частично, даём команду Reconfig и FPGA уже не стартует (а должна была остаться конфигурация factory).
Сбрасываем питание, запускается factory и Reconfig для него уже работает.
4) Проблемная ситуация 2: Включаем питание. Для application залита какая-то ерунда - загружается конфигурация factory. Factory перезаливает прошивку для application, делаем Reconfig и всё опять дохнет (а должна была стартануть конфигурация application). По сбросу питания опять всё запускается, переходит в режим application и нормально работает.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
doom13
сообщение Jan 23 2015, 10:51
Сообщение #2


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Нашёл ещё одну глючную ситуацию, работает application (работа начиналась с включения питания factory запускал application) и посылается новая прошивка для application (прошивка правильная). Прошивка записывается во флэш. После перепрошивки конфигурационной флэшки пытаюсь сделать RECONFIG, а оно опять дохнет. После переключения питания возобновляет работу. Т.е. получается, что RECONFIG не работает именно после перепрошивки конфигурационной флэшки (для описанных выше ситуаций везде присутствовала перезапись флэша!!!).
Если перезаписи флэша не было. Выполняем RECONFIG для factory с битым application, то работает правильно - остаётся в factory. Если выполнять RECONFIG для аpplication (без записи флэшки), так же работает - сбрасывается на factory, который опять же запустит application.
Очень похоже на какую-то проблему с интерфейсом конфигурационной флэшки. Для прошивки используется EPCS/EPCQx1 flash controller, может быть проблема в нём, что-то не могут поделить c Remote Update?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- doom13   Altera Remote Ststem Update   Jan 21 2015, 13:59
- - vadimuzzz   посмотрел у себя в коде, все аналогично. возникли ...   Jan 23 2015, 04:08
|- - doom13   Цитата(vadimuzzz @ Jan 23 2015, 07:08) по...   Jan 23 2015, 06:38
|- - vadimuzzz   Цитата(doom13 @ Jan 23 2015, 12:38) Предп...   Jan 23 2015, 06:56
- - doom13   С Ваших слов возникло предположение по поводу необ...   Jan 23 2015, 07:07
|- - vadimuzzz   ЦитатаUPP: Но как тогда работает пункт №2 (залит f...   Jan 23 2015, 08:06
|- - doom13   Цитата(vadimuzzz @ Jan 23 2015, 11:06) я ...   Jan 23 2015, 08:30
|- - vadimuzzz   Цитата(doom13 @ Jan 23 2015, 14:30) Ещё н...   Jan 23 2015, 09:00
|- - doom13   Цитата(vadimuzzz @ Jan 23 2015, 12:00) ес...   Jan 23 2015, 09:22
|- - vadimuzzz   Цитата(doom13 @ Jan 23 2015, 15:22) nSTAT...   Jan 23 2015, 10:36
|- - vadimuzzz   Цитата(doom13 @ Jan 23 2015, 16:51) Очень...   Jan 23 2015, 11:35
|- - doom13   Цитата(vadimuzzz @ Jan 23 2015, 14:35) а ...   Jan 23 2015, 11:40
- - Golikov A.   может сократить пути и уменьшить число вариантов з...   Jan 23 2015, 12:06
|- - doom13   Цитата(Golikov A. @ Jan 23 2015, 15:06) м...   Jan 23 2015, 12:10
- - Golikov A.   просто можно грузиться всегда через фактори и она ...   Jan 23 2015, 17:47
|- - doom13   Цитата(Golikov A. @ Jan 23 2015, 20:47) п...   Jan 23 2015, 19:22
- - Golikov A.   а вочьдогом перегрузить?   Jan 23 2015, 21:49
|- - doom13   Цитата(Golikov A. @ Jan 24 2015, 00:49) а...   Jan 24 2015, 12:13
- - doom13   Почитал ещё параметры для Remote Update, после ста...   Jan 26 2015, 12:59
- - doom13   Как и предполагалось, есть какая-то ерунда при исп...   Jan 26 2015, 15:24
- - vadimuzzz   ЦитатаКак и предполагалось, есть какая-то ерунда п...   Jan 27 2015, 02:44
|- - doom13   Цитата(vadimuzzz @ Jan 27 2015, 05:44) а ...   Jan 27 2015, 06:11
|- - vadimuzzz   Цитата(doom13 @ Jan 27 2015, 12:11) Там б...   Jan 27 2015, 09:09
|- - doom13   Цитата(vadimuzzz @ Jan 27 2015, 12:09) мо...   Jan 27 2015, 10:40
|- - vadimuzzz   Цитата(doom13 @ Jan 27 2015, 16:40) Не по...   Jan 28 2015, 04:55
|- - doom13   Цитата(vadimuzzz @ Jan 28 2015, 07:55) ко...   Jan 28 2015, 08:12
|- - vadimuzzz   Цитата(doom13 @ Jan 28 2015, 14:12) Да не...   Jan 28 2015, 08:41
|- - doom13   Цитата(vadimuzzz @ Jan 28 2015, 11:41) а ...   Jan 28 2015, 09:07
- - Golikov A.   а флешка не переконфигурируется на чтение по 1 или...   Jan 28 2015, 09:08
|- - doom13   Цитата(Golikov A. @ Jan 28 2015, 12:08) а...   Jan 28 2015, 09:26
|- - vadimuzzz   Цитата(doom13 @ Jan 28 2015, 15:26) Данна...   Jan 28 2015, 09:57
|- - doom13   Цитата(vadimuzzz @ Jan 28 2015, 12:57) я ...   Jan 28 2015, 10:05
|- - vadimuzzz   Цитата(doom13 @ Jan 28 2015, 16:05) Или э...   Jan 28 2015, 11:01
|- - doom13   Цитата(vadimuzzz @ Jan 28 2015, 14:01) не...   Jan 28 2015, 11:28
- - Golikov A.   ну пока прошивку не считаешь, режим же не поймешь....   Jan 28 2015, 10:27
- - doom13   Default-mode для EPCQ256 (N25Q256) - это, как пони...   Jan 28 2015, 13:04
|- - vadimuzzz   Цитата(doom13 @ Jan 28 2015, 19:04) EPCS/...   Jan 28 2015, 14:10
|- - doom13   Цитата(vadimuzzz @ Jan 28 2015, 17:10) до...   Jan 28 2015, 15:12
- - doom13   Перекомпилил с настройкой Active Serial x1 - не за...   Jan 29 2015, 06:43


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:51
Рейтинг@Mail.ru


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