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

 
 
> Доступность FPGA периферии, Проверить доступность сконфигурированной FPGA периферии
Juzujka
сообщение Sep 7 2015, 09:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 3-04-09
Из: Москва, Киров
Пользователь №: 47 125



В приложении на Linux подразумевается обращение к On-Chip-SRAM, PIO и пр.
Доступ через mmap.
Но FPGA может быть не сконфигурирована. Или сконфигурирована неправильно.
Если FPGA не сконфигурирована, то
open("/mem/") возвращает нормальный файловый дескриптор
mmap возвращает указатель
выполнение операции
variable = pointer_to_mmap[index];
приводит к тому, что в HPS рабочей остаётся только кнопка Reset.
try{...} до catch{...} не доходит

известны ли кому-нибудь способы определить доступность периферии заранее?

FPGA - SoC Cyclone V
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
serjj
сообщение Sep 7 2015, 12:00
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Цитата
Сделайте в fpga регистр, в который будет заноситься сигнатура типа 0xaa55 при конфигурации и проверяйте её прямым чтением (inw (address)). А лучше написать свой драйвер и проверять готовность через ioctl, так правильней из userspace

А в чём разница? biggrin.gif Это будет тоже самое обращение к периферии, которое также вероятно приведёт к зависанию линуха.

Почитайте про такой модуль как FPGA manager и про работу с ним. Он входит в состав HPS и отвечает за конфигурирование FPGA из под проца и мониторинг состояния FPGA. В hwlib для него написан драйвер, из под линуха тоже должно быть что-то. А заоодно почитайте вот эту тему. В ней вы узнаете о ещё одной проблеме, которая может возникнуть, когда FPGA грузится позже проца.
Go to the top of the page
 
+Quote Post
Juzujka
сообщение Sep 7 2015, 12:35
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 3-04-09
Из: Москва, Киров
Пользователь №: 47 125



Цитата(serjj @ Sep 7 2015, 15:00) *
А в чём разница? biggrin.gif Это будет тоже самое обращение к периферии, которое также вероятно приведёт к зависанию линуха.

Почитайте про такой модуль как FPGA manager и про работу с ним. Он входит в состав HPS и отвечает за конфигурирование FPGA из под проца и мониторинг состояния FPGA. В hwlib для него написан драйвер, из под линуха тоже должно быть что-то. А заоодно почитайте вот эту тему. В ней вы узнаете о ещё одной проблеме, которая может возникнуть, когда FPGA грузится позже проца.


Да, я тоже сразу откинул варианты с регистром, всё равно его через mmap читать-писать.
В качестве альтернативного варианта избежать хотя бы части проблем решил считывать биты режима в регистре статуса модуля менеджера FPGA.
Они показывают, была ли вообще удачно загружена FPGA.

Но это тоже не очень хороший вариант. Потому что можно загрузить какую попало конфигурацию ПЛИС, биты режима покажут User mode, что говорит о успешной загрузке конфигурации, а при чтении-записи области без периферийныхустройств, ядро так же упадёт.

Сообщение отредактировал Juzujka - Sep 7 2015, 13:23
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 21:20
Рейтинг@Mail.ru


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