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

 
 
> VC707 доступ к Linear Flash, Либо загрузка, либо доступ
ConstHw
сообщение Mar 25 2016, 12:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 12-11-15
Пользователь №: 89 287



Всем привет

Плата в режиме BPI Config
http://www.xilinx.com/support/documentatio...707_Eval_Bd.pdf
( Страница 80 )

1.1 Берем проект для Xilinx VC707 - BIST
http://www.xilinx.com/products/boards-and-...l#documentation
1.2 Скачиваем, смотрим внутри на наличие внутри ядра AXI_EMC в режиме Linear Flash
1.3 Собираем bit файл system_wrapper.bit
1.4 Экспортируем hdf в SDK
1.5 В SDK создаем бутлоадер. Задаем оффсет
1.6 Создаем в SDK прошивку download.bit - инициализируем файл BRAM в system_wrapper.bit бутлоодером
1.7 Генерим SREC файл из того что хотим сделать нашим приложением
1.8 Открываем опять Вивадо, собираем mcs файл
Код
Addr1         Addr2         Date                    File(s)
0x00000000    0x007B616F    Mar 25 14:22:08 2016    D:/Users/vinogradovk/rdf0195-vc707-bist-c-2015-1/bins/download.bit
0x02000000    0x0209B29F    Mar 25 12:22:55 2016    D:/Users/vinogradovk/rdf0195-vc707-bist-c-2015-1/bins/lwip_echo_server.srec

1.9 Загружаем mcs файл во флэшку

Дальше начинаются чудеса
2.1. Плата по прежнему в режиме "грузись с флэшки"
2.2 Дергаем питание и смотрим в консоль
Код
SREC Bootloader
Loading SREC image from flash @ address: 62000000
ERROR: Error while reading an SREC line from flash

2.3 То есть плиса прошилась, бутлоадер оказался в памяти BRAM, но не смог прочитать SREC
2.4 Оставляя плису прошитой, открываем SDK, запускаем бутлоадер из SDK на платформе
2.5 Ставим точку останова перед началом чтения памяти и открываем смотрелку памяти из SDK memory
2.6 Видим фигу - по адресу 0x60000000, где лежит битфайл с которого плиса только что грузилась, лежат нули. Остальные памяти, например DDR3 через МИГ видны и доступны

Исключаем чудеса
3.1 Открываем Hw_Manager, берем файл download.bit грузим его в ПЛИС и О ЧУДО
Код
SREC Bootloader
Loading SREC image from flash @ address: 62000000

Executing program starting at address: 00000000


-----lwIP TCP echo server ------
TCP packets sent to port 6001 will be echoed back
Start PHY autonegotiation

3.2 Запускаем на прошитой через JTAG плисе любое приложение, ставим останов
3.3 В SDK инструменте Memory видим битник прошивки плис по адресу 0x600000 и SREC приложения по адресу 62000000

Выводы
Если ПЛИСа была загружена с BPI FLASH, то доступа к этой BPI FLASH у нее уже нет

Как такое может быть?
И как это победить?
Чем плиса залитая из флэшки отличается от плисы залитой с jtag?
Помню была ситуация когда ножка SCK для SPI конфигурационной флэшки была доступна после ухищирений, но ведь тут в ПЛИСу заливаются абсолютно одинаковые битфайлы, отличающиеся путем попадания в ПЛИСу.
Положение джамперов на плате не меняется, всегда в режиме "грузись с BPI"
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Muscat
сообщение Mar 25 2016, 19:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 277
Регистрация: 8-04-09
Из: Москва
Пользователь №: 47 382



1) Если EMC в режиме linear flash, то нет доступа к внутренним регистрам (AXI_REG шина не появляется)

2) Не понял? В режиме синхронного чтения клок выходит ИЗ флэшки и идет В ПЛИСу, разве нет?
Страница 62
http://www.xilinx.com/support/documentatio...ries_Config.pdf
При этом блок STARTUPE (там же страница 92) используется для вывода клока ИЗ плисы, когда используется SPI FLASH. Разве не так?

3) Не менял, но флэшку не вижу после конфигурации из нее. У вас же так же было "по умолчанию"? Вы добавили блок Startupe? Или изменили режим?

Последний пункт не понял. Почему не будет? Если ПЛИСа сконфигурирована через JTAG, то как раз все работает, бутлоадер видит флэшку, можно обращаться к данным по указателю. См пункты 3.1-3.3
Для Commong Flash Memory Interface нужно еще какое то ядро? EMC не подходит?

Огромное спасибо что так активно и содержательно помогаете


--------------------
Because it's there
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ConstHw   VC707 доступ к Linear Flash   Mar 25 2016, 12:51
- - doom13   Цитата(ConstHw @ Mar 25 2016, 15:51) Выво...   Mar 25 2016, 13:20
- - ConstHw   doom13, спасибо! Стало намного понятнее, но ря...   Mar 25 2016, 13:52
|- - doom13   Цитата(ConstHw @ Mar 25 2016, 16:52) 1) Ч...   Mar 25 2016, 18:35
|- - doom13   Цитата(Muscat @ Mar 25 2016, 22:32) 2) Не...   Mar 25 2016, 20:31
- - Muscat   Да, с направлением клока ошибся Так, то есть если...   Mar 25 2016, 21:02
|- - doom13   Цитата(Muscat @ Mar 26 2016, 00:02) 1) ПЛ...   Mar 25 2016, 21:23
- - Muscat   Ну вроде разобрались Если дефолтный режим асинхр...   Mar 25 2016, 21:26
|- - doom13   Цитата(Muscat @ Mar 26 2016, 00:26) Если ...   Mar 25 2016, 21:47
- - doom13   Маленький нюанс подключения AXI EMC к BPI Flash (у...   Mar 28 2016, 06:56
- - ConstHw   Адресацию оставил как есть, то есть использую внеш...   Mar 28 2016, 15:31
|- - doom13   Цитата(ConstHw @ Mar 28 2016, 18:31) Адре...   Mar 28 2016, 18:19
- - ConstHw   Я все таки думаю дело в другом, потому что в асинх...   Mar 29 2016, 09:41
|- - doom13   Цитата(ConstHw @ Mar 29 2016, 12:41) Я вс...   Mar 29 2016, 14:38
- - doom13   Посмотрите pg100-axi-emc, третий раздел Designing ...   Mar 29 2016, 20:21
- - doom13   Цитата(ConstHw @ Mar 25 2016, 15:51) 1.1 ...   Mar 30 2016, 06:49
- - ConstHw   Спасибо огромное за дизайн! У вас с ним работа...   Mar 30 2016, 11:37
|- - doom13   Цитата(ConstHw @ Mar 30 2016, 14:37) Спас...   Mar 30 2016, 13:21
- - ConstHw   doom13, заработало в асинхроне, задача стартовать ...   Apr 5 2016, 08:46
- - doom13   Цитата(ConstHw @ Apr 5 2016, 11:46) doom1...   Apr 5 2016, 08:58


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

 


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


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