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

 
 
> Переконфигурация SPARTAN6 через ICAP, Кто нибудь такое делал?
Golikov A.
сообщение Sep 10 2015, 14:18
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!
После долгих чтений ug380 наконец то заставил ICAP корректно читать регистры, и писать я думаю тоже.

Пошел дальше, попытался заставить спартан6 переконфигуриться на 2 прошивку.
задал general1,2 на адрес 2 прошивки и флажок 0В поставил чтобы из SPI грузился.
задал general3,4 на адрес 00, чтобы вернуться в 1 прошивку, если что не так.
general5 задал для проверки
запустил IPROG

Спартан меня понял, и начал процесс, погасил все лампочки, а потом снова зажег, но снова в 1 прошивке, из которой я пытался улететь во 2. При этом статус истории загрузки 0001, то есть типа все хорошо, ошибок не было, general5 при этом изменился. И так он делает постоянно с включенным жетагом и с отключенным. Что ему не нравиться то? Кто это реально делал, поделитесь опытом, пожалуйста!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Sep 11 2015, 11:52
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



в примере вообще все просто, GENERAL задали и IPROG дернули.

Вроде все происходит, почему флаг iprog в истории статусов не ставиться... Еще я где-то читал что JTAG не может работать с ICAP вместе, но вроде бы выдрал JTAG, может его вообще надо как-то землить?

-g next_config_register_write:Disable
этот флаг же надо установить? А то битген добавить перезапись регистров, может еще что-то надо?

Сделал встроенными в ISE средствами мульти бут с заголовочным файлом, выяснил вот что.

1. Обязательно надо ставить NEW_MODE, очевидно ножки м0,м1 становятся пользовательскими и не отражают реальности. Потому надо режим загрузки поставить руками, но ISE впрочем иначе отказывается работать.
2. В графе адрес 2 прошивке, обязательно должны быть добавлен опкоды загрузки. То есть это не просто адрес а прямо то что FPGA выдавит наружу при начале загрузки, так что 0x0B_ADDR.
3. Как только я понял что это то что выдавливается наружу я понял что адресация должна быть хитрее:
У меня флэшка at45321d, у нее страницы по умолчанию в 528 байтном режиме, а в этом режиме она принимает адрес не номером байта, а страница и смещение, и потому вместо 0х100000 надо ставить 0х1F0400. При этом когда делаете прошивку, в iMPACT адрес 2 ревизии надо указывать 0х100000, потому что при записи адрес принимается номером байта! ААААА!!! ненавижу их!

Теперь осталось раскодировать заголовок, потому что кроме GENERAL и BOOTMODE там делается еще что-то, и вот это что-то позволяет загружаться...




upd:
При правильном указании адреса и мой вариант загрузился!
Непонятно почему не попав в прошивку не появлялось флагов fallback и так далее... почему она возвращалась к 1 прошивке никак не отметив этого факта...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 2nd September 2025 - 08:24
Рейтинг@Mail.ru


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