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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Altera DE1-Soc + Linux + NiosII + Qt какие библиотеки нужны?, Altera DE1-Soc + Linux + NiosII + Qt какие библиотеки нужны?
RamZoom
сообщение Jun 28 2017, 16:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150



Всем привет! Имеется плата DE1-Soc с двух ядерным кортексом и ~85-ю тысячами логики. С сайта terasic был скачан и установлен образ с графическим линуксом. Из репозиториев (не из исходников!) при помощи танцев с бубнами был установлен Qt и полностью настроен. Приложения собираются и запускаются. Какие библиотеки необходимо доустановить Qt для взаимодействия с логикой, т.е. с NiosII и подключенной к нему периферией???
Go to the top of the page
 
+Quote Post
Jury093
сообщение Jun 28 2017, 22:25
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(RamZoom @ Jun 28 2017, 19:39) *
Всем привет! Имеется плата DE1-Soc с двух ядерным кортексом и ~85-ю тысячами логики. С сайта terasic был скачан и установлен образ с графическим линуксом. Из репозиториев (не из исходников!) при помощи танцев с бубнами был установлен Qt и полностью настроен. Приложения собираются и запускаются. Какие библиотеки необходимо доустановить Qt для взаимодействия с логикой, т.е. с NiosII и подключенной к нему периферией???

что в вашем понимание "для взаимодействия с логикой"?
если с устройствами в линуксе, то открываете устройство стандартными вызовами и общаетесь с устройством (при наличии прав в системе)
если с логикой в плане ФПГА, то через какие-нить мосты или шины (это стык проц-фпга) и драйвера, либо самописные, либо из ниоса.. естесно, со стороны ФПГА д.б. что-то типа блока регистров или подобного..
Go to the top of the page
 
+Quote Post
RamZoom
сообщение Jun 28 2017, 22:51
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150



Будет собран проект с qsys, который будет включать в себя подключенное ядро и порт светодиодов (led). Так вот и вопрос как обращаться к led из программы, написанной на Qt. В примерах есть #include <sys/mman.h>
#include "hwlib.h"
#include "socal/socal.h"
#include "socal/hps.h"
#include "socal/alt_gpio.h",
но у меня нет этих библиотек. Сейчас в описаниях нашел вроде они будут в папках самого Quartus после его установки от 13.1 версии и выше. Завтра посмотрю
Go to the top of the page
 
+Quote Post
Gleb80
сообщение Sep 10 2017, 14:42
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470



Цитата(RamZoom @ Jun 28 2017, 19:39) *
... Имеется плата DE1-Soc .... Какие библиотеки необходимо доустановить Qt для взаимодействия с логикой, т.е. с NiosII и подключенной к нему периферией???


Приветствую! Тоже сейчас разбираюсь с платой DE1-SoC. Очень помогают вот эти статьи:
https://zhehaomao.com/blog/fpga/2014/05/24/sockit-10.html
https://habrahabr.ru/company/metrotek/blog/235707/
https://habrahabr.ru/company/metrotek/blog/248145/
В частности, в статье, на которую указывает первая ссылка, рассказывается как установить связь между вашим приложением, выполняемом в пространстве пользователя Linux и аппаратурой в FPGA.
Если я правильно понял, у вас Linux крутится на HPS, а в FPGA еще ядро NIOS, для которого своя программа нужна?
А графический интерфейс как организован? Через ETHERNET на ПК или есть какой-то модуль с дисплеем?
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 11 2017, 06:36
Сообщение #5


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



В Qt нет никакого специального механизма, относящегося к Altera HPS. Вот я пишу консольные программы на Qt для Altera SoC, а с ПЛИС работаю через специальный драйвер, как работал бы с любым прочим устройством. Сначала надо усвоить структуру, что они хоть и лежат в "одном корпусе", но как они связаны между собой? И тогда станет всё очевидно, а Qt тут ни при чем.


--------------------
Go to the top of the page
 
+Quote Post
Gleb80
сообщение Sep 15 2017, 20:16
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470



Цитата(AVR @ Sep 11 2017, 09:36) *
...Вот я пишу консольные программы на Qt для Altera SoC ...

В каком смысле консольные? Я думал, что Qt предназначено для создания графического интерфейса пользователя.
Как раз сейчас размышляю над тем, как организовать отображение данных и графический пользовательский интерфейс на своем устройстве.
Данные это графики, в основном FFT принятого сигнала.
Устройство состоит из DE10-Nano + Linux, вот такого ЖКИ:
https://www.terraelectronica.ru/catalog_inf...hp?CODE=1919182
который соединен с DE10-Nano через HDMI,
а также, усилителя аналогового сигнала, подаваемого затем на АЦП, стоящем на DE10-Nano.
Так вот, чтобы рисовать свои графики, я думаю использовать Qt.
С радостью послушаю (почитаю) советы людей, уже применявших SoC + Qt. Стоит ли вообще в данном случае связыаться с Qt?
Может существует иной путь для создания графического пользовательского интерфейса на SoC?
Насколько я понял из вот из этого:
https://rocketboards.org/foswiki/Documentat...sVideoAndHmiIps
на SoC нету аппаратной поддержки OpenGL, и отрисовка будет производиться прогрммно, нагружая HPS.
Если кто пробовал, расскажите, будет ли рисование графика на Qt тормозить?

Сообщение отредактировал Gleb80 - Sep 15 2017, 20:27
Go to the top of the page
 
+Quote Post
Jury093
сообщение Sep 16 2017, 08:24
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(Gleb80 @ Sep 15 2017, 23:16) *
на SoC нету аппаратной поддержки OpenGL, и отрисовка будет производиться прогрммно, нагружая HPS.

на SOC вообще нет графического контроллера - контроллер графики организуется в ФПГА части, в простейшем случае просто мост между HPS и экраном, в навороченном варианте в ФПГА реализуются функции аппаратного ускорения
на том же рокетсбоард выложены демки Андроида для Altera SoC (исходники платные), что указывает на возможность такой реализации

Цитата
Если кто пробовал, расскажите, будет ли рисование графика на Qt тормозить?

я гонял графику для SoC на интерфейсах i80 и rgb - QT вполне нормально отрисовывает на небольших разрешениях, Иксы с браузером тоже более-менее нормально..
тормоза будут однозначно на ресурсоемких вещах - флеш в браузере, видео с распаковкой и прочие штучки, где требуются аппаратные кодеки для работы с видео и графикой
Go to the top of the page
 
+Quote Post
Gleb80
сообщение Sep 17 2017, 14:56
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470



Цитата(Jury093 @ Sep 16 2017, 11:24) *
на том же рокетсбоард выложены демки Андроида для Altera SoC (исходники платные), что указывает на возможность такой реализации

Спасибо за подсказку, гляну, что там есть...

Цитата(Jury093 @ Sep 16 2017, 11:24) *
я гонял графику для SoC на интерфейсах i80 и rgb - QT вполне нормально отрисовывает на небольших разрешениях

Если я правильно понял, то у Вас на HPS крутился Linux, на него был установлен Qt. В FPGA находились IP-ядра, занимающиеся отрисовкой на ЖКИ (Frame Reader и т.п.). Linux с графическим интерфейсом, отображаемым на том же ЖКИ?
Какую плату Вы использовали - terasic или что-то самодельное?
Если можно, расскажите по-подробней как и что там было сделано...

Сам я сейчас склоняюсь к такому решению - консольный Linux, в FPGA находится FFT корка и графическая аппаратура. FFT по DMA передает данные в DDR, мое собственное приложение, крутящееся в Linuxе эти данные забирает, на их основе формирует картинку и помещает ее во Frame Buffer, находящийся в DDR, откуда Frame Reader (IP-ядро), через f2h-axi-master это считывает и выдает картинку на ЖКИ.
Повторюсь, что рисовать нужно 2D графики, преимущественно спектр сигнала, захватываемого АЦП, ну и всякую сопутствующую информацию по-бокам. Обновлять кривую нужно будет где-то 10 раз в секунду. Кривая будет состоять из 512 точек.
Go to the top of the page
 
+Quote Post
chirik
сообщение Sep 25 2017, 16:52
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 29-10-09
Из: Карелии
Пользователь №: 53 301



Цитата(Gleb80 @ Sep 17 2017, 17:56) *
Спасибо за подсказку, гляну, что там есть...


Если я правильно понял, то у Вас на HPS крутился Linux, на него был установлен Qt. В FPGA находились IP-ядра, занимающиеся отрисовкой на ЖКИ (Frame Reader и т.п.). Linux с графическим интерфейсом, отображаемым на том же ЖКИ?
Какую плату Вы использовали - terasic или что-то самодельное?
Если можно, расскажите по-подробней как и что там было сделано...

Сам я сейчас склоняюсь к такому решению - консольный Linux, в FPGA находится FFT корка и графическая аппаратура. FFT по DMA передает данные в DDR, мое собственное приложение, крутящееся в Linuxе эти данные забирает, на их основе формирует картинку и помещает ее во Frame Buffer, находящийся в DDR, откуда Frame Reader (IP-ядро), через f2h-axi-master это считывает и выдает картинку на ЖКИ.
Повторюсь, что рисовать нужно 2D графики, преимущественно спектр сигнала, захватываемого АЦП, ну и всякую сопутствующую информацию по-бокам. Обновлять кривую нужно будет где-то 10 раз в секунду. Кривая будет состоять из 512 точек.


Если вам не нужна крутая графика, а просто вывод графика или графиков, то это можно сделать и на ПЛИС https://www.youtube.com/watch?v=8O06kx9tA2w
https://www.youtube.com/watch?v=P2Jpszg-6YQ
Go to the top of the page
 
+Quote Post
Gleb80
сообщение Sep 27 2017, 06:40
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470



Цитата(chirik @ Sep 25 2017, 19:52) *
Если вам не нужна крутая графика...

Нужно приблизительно вот так:



а на предложенных видео отображается только результат БПФ и больше ничего лишнего )
Go to the top of the page
 
+Quote Post
AVR
сообщение Sep 27 2017, 08:07
Сообщение #11


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Gleb80 @ Sep 27 2017, 09:40) *
Нужно приблизительно вот так:

Я очень люблю Qt, но вынужден признать: в Вашем случае он совершенно не нужен для этой задачи.
Можно прекрасно налохматить такой простейший интерфейс без помощи Qt, тут даже кругов с заливкой нет.


--------------------
Go to the top of the page
 
+Quote Post
Gleb80
сообщение Sep 28 2017, 08:13
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470



Цитата(AVR @ Sep 27 2017, 11:07) *
Можно прекрасно налохматить такой простейший интерфейс без помощи Qt...


Тут согласен, но ведь нет пределов совершенству, GUI можно будет и по-красивей сделать. К тому же, будет большое разветвленное меню, а в его воздвижении, как я понимаю, Qt мне сильно поможет.
Go to the top of the page
 
+Quote Post
RamZoom
сообщение Sep 28 2017, 16:42
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150



Извиняюсь, что долго отсутствовал. Решение по моему вопросу оказалось достаточно простым: при установке самого QuartusII эти библиотеки находятся в ....embedded\ip\altera\hps\altera_hps\hwlib. В папке include хидер файлы, а в src\hwmgr исходники. Папку altera_hps переименовал а Altera, закинул на запущенной плате в Qt и все пошло как по маслу. Единственное огорчение возникает, когда проект на Qt собранный на виртуальной машине закидываешь и пере собираешь на плате не подключенной к интернету, получаешь ошибку о разнице времени. Часов реального времени-то на ней не предусмотрено. А в остальном пробовал ставить образы и с Ubuntu и с LXDE. LXDE работает поинтереснее, но при любом изменении файла configure (установка mc, nautilus ....) при следующем старте платы вылетает ошибка. Подтверждение позволяет дальше операционке загрузиться. У Ubuntu такой проблемы не наблюдал

Цитата(Gleb80 @ Sep 27 2017, 07:40) *
Нужно приблизительно вот так:



а на предложенных видео отображается только результат БПФ и больше ничего лишнего )


По поводу графиков использовал QCustomPlot и эта библиотека показала себя с наилучшей стороны. При отрисовке проблем нет. Устанавливать и собирать ничего не нужно просто скинул в папку с проектом хидер и исходник, добавил их к проектным файлам, закинул на форму widget преобразовал его в QCustomPlot, добавил в .pro файл проекта QT += printsupport и всех вопросов. QWT еще не собирал на плате.

Сообщение отредактировал RamZoom - Sep 28 2017, 16:44
Go to the top of the page
 
+Quote Post
Gleb80
сообщение Sep 28 2017, 16:52
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470



Цитата(RamZoom @ Sep 28 2017, 19:42) *
использовал QCustomPlot

Понял, благодарю за подсказку, погляжу что это за QCustomPlot. Для меня вообще Qt пока нечто новое и неизведанное.
Какой вы монитор используете? Какое разрешение? Я сейчас как раз этим занимаюсь, пытаюсь изменить установленное в сборке Linux Xfce Desktop для платы DE10-Nano разрешение на то, которое имеет мой дисплей.
Go to the top of the page
 
+Quote Post
RamZoom
сообщение Sep 28 2017, 17:02
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 30-03-14
Пользователь №: 81 150



Qt по моему мнению лучшая на сегодняшний день среда разработки среди своих соратников. По повода дисплея использую стандартный монитор, подключенный через VGA с разрешением 1024х768. И мне очень интересен ваш подход к решению по изменению видео вывода. Сколько документации уже перекопал, так и не понял, как в общем в linux и в каком формате данные передаются на видеокарту
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 04:29
Рейтинг@Mail.ru


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