Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Xilinx MultiBoot
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Golikov A.
Всем привет!

Постигаю мультибут, и хочу убедиться что все правильно понимаю

У меня 1 резервная прошивка и 2 боевые

1. Правильно я понимаю что для ISE мне надо создать 3 проекта, по одному для каждой прошивки, в одном проекте собрать 3 прошивке не получится?

2. Я хочу загрузиться в golden прошивку, из нее перейти в 1 боевую по некому условию, и если что пойдет не так вернуться в golden. Правильно я понимаю что заголовок имеет смысл делать только для golden прошивки. А переход из нее в 1 боевую, и из 1 боевой во 2 делать через ICAP, через который и заполнить GENERAL1,2?

3. Что будет в этой схеме, если загрузка 1 боевой прошивки даст сбой? Я после 3 попыток вернусь в golden, она допустим загрузиться, но там у меня опять переход на 1 боевую. Будет переход или после fallback уже не может быть переходов по GENERAL 1,2? Что будет со счетчиком неудачных попыток?

4. Щелкая между 1 и 2 боевой прошивкой, в случае помех (например) я могу ловить ошибки, правильно я понимаю что нахватав 9 не загрузок ПЛИС встанет и не будет грузиться ни туда ни сюда?

5. Число попыток загрузки, 3 как я понял для заголовка, потом для прошивки тоже 3 или до 3 (то есть если заголовок грузанулся не с 1 раза, то для прошивки остается уже меньше попыток), дальше если прошивка не загрузилась до 3 попыток, переход на golden, если она не загрузилась еще 3 раза до 6 , то переход в самое начало, а вот дальше
написано что еще раз попытаются загрузить прошивку и golden прошивку, и тем самым доведут счетчик до 9, почему до 9? получается до 8, или они какую-то из них попробуют загрузить 2 раза?


П.С. Еще все тоже самое предстоит с альтерой циклоном 4 вроде, 2 прошивки у нее точно можно щелкать, а вот 3 у нее возможно переключать? Может кто сразу ответить может?
Golikov A.
Дополняю список вопросов%)

6. Дурацкий варнинг при задаче значений адреса следующей прошивки и golden
BitGen:316 The golden_config_addr:0x0B000044 option will be ignored when next_config_addr:0x0B000044 is used.
При этом в заголовке если посмотреть заполняются все регистры. Сначала я думал что это из-за одинаковости адресов, но нет, для разных адресов оно тоже есть.
Варнинг пропадает если задать прошивке голден адрес 0, в этом случае система пишет, что сдвигает адрес на величину заголовка и делает его 0х44.
Что на самом деле глупо, потому что без 0В в начале он с СПИ флешки не загрузится...

Так что точно означает этот варнинг?

7. магическая цифра 0х44, действительно везде все про нее говорят, что это размер заголовка, и это так, но нигде в инструкции не написано что он фиксирован. Отсюда вопрос, как по уму задать первый адрес прошивки и адрес голден прошивки? Или принять что в наших реалиях заголовок имеет размер 0х44 и никогда не поменяется?
AndriAno
Цитата(Golikov A. @ Jul 22 2015, 21:34) *
Всем привет!

Постигаю мультибут, и хочу убедиться что все правильно понимаю

У меня 1 резервная прошивка и 2 боевые

1. Правильно я понимаю что для ISE мне надо создать 3 проекта, по одному для каждой прошивки, в одном проекте собрать 3 прошивке не получится?

2. Я хочу загрузиться в golden прошивку, из нее перейти в 1 боевую по некому условию, и если что пойдет не так вернуться в golden. Правильно я понимаю что заголовок имеет смысл делать только для golden прошивки. А переход из нее в 1 боевую, и из 1 боевой во 2 делать через ICAP, через который и заполнить GENERAL1,2?

3. Что будет в этой схеме, если загрузка 1 боевой прошивки даст сбой? Я после 3 попыток вернусь в golden, она допустим загрузиться, но там у меня опять переход на 1 боевую. Будет переход или после fallback уже не может быть переходов по GENERAL 1,2? Что будет со счетчиком неудачных попыток?

4. Щелкая между 1 и 2 боевой прошивкой, в случае помех (например) я могу ловить ошибки, правильно я понимаю что нахватав 9 не загрузок ПЛИС встанет и не будет грузиться ни туда ни сюда?

5. Число попыток загрузки, 3 как я понял для заголовка, потом для прошивки тоже 3 или до 3 (то есть если заголовок грузанулся не с 1 раза, то для прошивки остается уже меньше попыток), дальше если прошивка не загрузилась до 3 попыток, переход на golden, если она не загрузилась еще 3 раза до 6 , то переход в самое начало, а вот дальше
написано что еще раз попытаются загрузить прошивку и golden прошивку, и тем самым доведут счетчик до 9, почему до 9? получается до 8, или они какую-то из них попробуют загрузить 2 раза?


П.С. Еще все тоже самое предстоит с альтерой циклоном 4 вроде, 2 прошивки у нее точно можно щелкать, а вот 3 у нее возможно переключать? Может кто сразу ответить может?


1. Сколько прошивок столько проектов.
2. Про какой заголовок идет речь? Из голдена в другие переходил через ICAP.
3. Должен снова пробовать загрузиться.
4 и 5 не проверял.

Да, еще есть приколы с Big/Litle Endian. (в разных местах документации написано по разному)
Golikov A.
1. Понятно
2. Если делать мультибутовую прошивку то в начале прописывается 0х44 байта, с задачей всех регистров. Чтобы сразу полететь на рабочую прошивку, и если она плохая вернуться в голден. Я так понимаю некая автоматизация, которую можно и опустить, если все переходы делать руками через ICAP.

3. Но счетчик попыток не сброшен, я так понимаю если он больше 3, то всегда берется адрес из генерал3.4, то есть он тупо еще 3 раза погрузиться в файл сейф, повторит процесс с 0 и умрет, нет?
3.1 вы пользовались опцией -g next_config_register_write:Disable?

По поводу ICAP правильно я понимаю что клок на входе это не совсем клок, просто некий синхросигнал?
Где взять для него команды, для записи - чтения, в каком документе список?
Чтобы ним работать надо ему кормить команды с 0xffff через байты синхронизации АА995566 или можно сразу обращаться к нему по делу?
Golikov A.
Инструкции для ICAP я нашел они в описании пакетов, но что-то я не очень понимаю смысл его сигналов

у него 2 шины входная и выходная.
у него есть признак чтения - записи в коде команды
И у него зачем то есть еще сигнал входа - выхода.
И сигнал бизи

И вот что-то я вообще не понял как его заставить работать. Кто уже с этим разбирался, подскажите последовательность чтения,

Для перезагрузки я ему кормлю последовательность

FFFF
aa99
5566
3261
0000
3281
0b10
32a1
0000
32c1
0b00
30a1
000e
2000

в сам ICAP я пихаю это с переставленными битами [8 : 15][0 :7], перезагрузка по ходу дела происходит, а вот новый образ не конфигурируется, что-то не так с адресами? я планировал что будет загрузка из 1 битной SPI флэшки по адреса 0х100000 и если ничего не выйдет, то возврат в адрес 0. Но что-то ПЛИС просто переходит в ничто и даже первая удачная прошивка не загружается.

Образа я сгенерировал с опцией выключения замены конф регистров -g next_config_register_write:Disable, может я не все регистры задаю?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.