|
Altera DE1-Soc + Linux + NiosII + Qt какие библиотеки нужны?, Altera DE1-Soc + Linux + NiosII + Qt какие библиотеки нужны? |
|
|
|
Jun 28 2017, 16:39
|
Участник

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

|
Всем привет! Имеется плата DE1-Soc с двух ядерным кортексом и ~85-ю тысячами логики. С сайта terasic был скачан и установлен образ с графическим линуксом. Из репозиториев (не из исходников!) при помощи танцев с бубнами был установлен Qt и полностью настроен. Приложения собираются и запускаются. Какие библиотеки необходимо доустановить Qt для взаимодействия с логикой, т.е. с NiosII и подключенной к нему периферией???
|
|
|
|
|
Jun 28 2017, 22:25
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

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

Группа: Участник
Сообщений: 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 версии и выше. Завтра посмотрю
|
|
|
|
|
Sep 10 2017, 14:42
|

Частый гость
 
Группа: Свой
Сообщений: 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.htmlhttps://habrahabr.ru/company/metrotek/blog/235707/https://habrahabr.ru/company/metrotek/blog/248145/ В частности, в статье, на которую указывает первая ссылка, рассказывается как установить связь между вашим приложением, выполняемом в пространстве пользователя Linux и аппаратурой в FPGA. Если я правильно понял, у вас Linux крутится на HPS, а в FPGA еще ядро NIOS, для которого своя программа нужна? А графический интерфейс как организован? Через ETHERNET на ПК или есть какой-то модуль с дисплеем?
|
|
|
|
|
Sep 15 2017, 20:16
|

Частый гость
 
Группа: Свой
Сообщений: 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
|
|
|
|
|
Sep 16 2017, 08:24
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(Gleb80 @ Sep 15 2017, 23:16)  на SoC нету аппаратной поддержки OpenGL, и отрисовка будет производиться прогрммно, нагружая HPS. на SOC вообще нет графического контроллера - контроллер графики организуется в ФПГА части, в простейшем случае просто мост между HPS и экраном, в навороченном варианте в ФПГА реализуются функции аппаратного ускорения на том же рокетсбоард выложены демки Андроида для Altera SoC (исходники платные), что указывает на возможность такой реализации Цитата Если кто пробовал, расскажите, будет ли рисование графика на Qt тормозить? я гонял графику для SoC на интерфейсах i80 и rgb - QT вполне нормально отрисовывает на небольших разрешениях, Иксы с браузером тоже более-менее нормально.. тормоза будут однозначно на ресурсоемких вещах - флеш в браузере, видео с распаковкой и прочие штучки, где требуются аппаратные кодеки для работы с видео и графикой
|
|
|
|
|
Sep 17 2017, 14:56
|

Частый гость
 
Группа: Свой
Сообщений: 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 точек.
|
|
|
|
|
Sep 25 2017, 16:52
|
Частый гость
 
Группа: Участник
Сообщений: 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=8O06kx9tA2whttps://www.youtube.com/watch?v=P2Jpszg-6YQ
|
|
|
|
|
Sep 27 2017, 06:40
|

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

|
Цитата(chirik @ Sep 25 2017, 19:52)  Если вам не нужна крутая графика... Нужно приблизительно вот так:  а на предложенных видео отображается только результат БПФ и больше ничего лишнего )
|
|
|
|
|
Sep 28 2017, 08:13
|

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

|
Цитата(AVR @ Sep 27 2017, 11:07)  Можно прекрасно налохматить такой простейший интерфейс без помощи Qt... Тут согласен, но ведь нет пределов совершенству, GUI можно будет и по-красивей сделать. К тому же, будет большое разветвленное меню, а в его воздвижении, как я понимаю, Qt мне сильно поможет.
|
|
|
|
|
Sep 28 2017, 16:42
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Sep 28 2017, 16:52
|

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

|
Цитата(RamZoom @ Sep 28 2017, 19:42)  использовал QCustomPlot Понял, благодарю за подсказку, погляжу что это за QCustomPlot. Для меня вообще Qt пока нечто новое и неизведанное. Какой вы монитор используете? Какое разрешение? Я сейчас как раз этим занимаюсь, пытаюсь изменить установленное в сборке Linux Xfce Desktop для платы DE10-Nano разрешение на то, которое имеет мой дисплей.
|
|
|
|
|
Sep 28 2017, 17:02
|
Участник

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

|
Qt по моему мнению лучшая на сегодняшний день среда разработки среди своих соратников. По повода дисплея использую стандартный монитор, подключенный через VGA с разрешением 1024х768. И мне очень интересен ваш подход к решению по изменению видео вывода. Сколько документации уже перекопал, так и не понял, как в общем в linux и в каком формате данные передаются на видеокарту
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|