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

 
 
> 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 28 2015, 13:04
Сообщение #2


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

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



Default-mode для EPCQ256 (N25Q256) - это, как понимаю, х1. Т.е. при загрузке ПЛИС должна перевести её в х4, а потом грузится (по окончании загрузки вернуть режим в х1).
EPCS/EPCQx1 controller работает в режиме х1. Далее Remote Update задаёт реконфигурацию и загрузчик должен залить обновлённую прошивку перенастроив х1 в х4, но почему-то не может.

Стёр флэшку, при включении питания активны DQ0 (serial data input) и DQ1 (serial data output) - FPGA пробует считать прошивку. На DQ2, DQ3 - '1' (вижу высокий уровень). В случае обновления прошивки и выполнения RECONFIG все пины активны (FPGA читает в режиме х4).
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 28 2015, 14:10
Сообщение #3


Гуру
******

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



Цитата(doom13 @ Jan 28 2015, 19:04) *
EPCS/EPCQx1 controller работает в режиме х1. Далее Remote Update задаёт реконфигурацию и загрузчик должен залить обновлённую прошивку перенастроив х1 в х4, но почему-то не может.

до загрузчика, я так понимаю, дело просто не доходит - он запускается уже в user-mode. а есть возможность все операции, включаяя загрузку sof, выполнить в режиме x1? если получится, значит действительно что-то с переключением режимов флешки
Go to the top of the page
 
+Quote Post
doom13
сообщение Jan 28 2015, 15:12
Сообщение #4


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

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



Цитата(vadimuzzz @ Jan 28 2015, 17:10) *
до загрузчика, я так понимаю, дело просто не доходит - он запускается уже в user-mode. а есть возможность все операции, включаяя загрузку sof, выполнить в режиме x1? если получится, значит действительно что-то с переключением режимов флешки

А вот с загрузкой прошивки сконвертированной для Active Serial есть какой-то баг, не стартует с ней FPGA.
Может быть это из-за того, что в настройках проекта (Device and Pin Options->Configuration->Configuration scheme) у меня выбран Active Serial x4, а сконвертить пытаюсь для Active Serial?
Или выбранный в настройках Active Serial x4 на генерацию sof влиять не должен?
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
- - doom13   Нашёл ещё одну глючную ситуацию, работает applicat...   Jan 23 2015, 10:51
|- - 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   Перекомпилил с настройкой Active Serial x1 - не за...   Jan 29 2015, 06:43


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

 


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


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