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

 
 
 
Reply to this topicStart new topic
> Запись массива данных из fpga в ddr память HPS, Altera SoC, линукс
Burenkov Sergey
сообщение Sep 25 2018, 09:30
Сообщение #1


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Доброго дня коллеги.
Стоит задача с помощью мастера в fpga записать достаточно большой массив данных в DDR память на стороне HPS и потом процессором его обработать. В данный момент сделал через буферную ончип память - мой мастер пишет в двух-портовый ончип, а программа в юзерспейсе запущенная на арме читает вручную через h2f_axi_master. Хочу выкинуть ончип память и писать напрямую в ддр через f2h_axi_slave или f2h_sdram0, но не очень понимаю как мне получить физический адрес от линукса. С линуксом работал очень мало, но подозреваю что простой malloc не поможет, т.к. физический адрес в памяти он не вернет, и еще не гарантируется непрерывность выделенного адресного пространства. Может у кого то был опыт подобный?

Сообщение отредактировал Burenkov Sergey - Sep 25 2018, 09:40
Go to the top of the page
 
+Quote Post
Jury093
сообщение Sep 25 2018, 10:12
Сообщение #2


Знающий
****

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



Цитата(Burenkov Sergey @ Sep 25 2018, 12:30) *
Может у кого то был опыт подобный?

возможно такая статья поможет:
https://habr.com/company/metrotek/blog/248145/
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Sep 25 2018, 13:08
Сообщение #3


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Цитата(Jury093 @ Sep 25 2018, 13:12) *
возможно такая статья поможет:
https://habr.com/company/metrotek/blog/248145/

Спасибо, изучаю.
Жаль про драйвер написано очень малоsm.gif
Go to the top of the page
 
+Quote Post
Jury093
сообщение Sep 25 2018, 13:56
Сообщение #4


Знающий
****

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



Цитата(Burenkov Sergey @ Sep 25 2018, 16:08) *
Спасибо, изучаю.
Жаль про драйвер написано очень малоsm.gif

там линк был на гитхаб, может что полезное вычитаете:
https://github.com/Des333/soc-fpga2sdram-te...tree/master/drv
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Sep 26 2018, 21:22
Сообщение #5


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Начал разбираться в написании драйвера, но пока даже не могу собрать тот что у уважаемого Des333 на гитхабе.
Скачал исходники линукса 4.5(такая версия на образе флешки), указываю в Makefile переменную с путями до исходников
Код
KDIR ?= /cygdrive/e/Users/bur/downloads/linux-socfpga-socfpga-4.5/

Получаю:
Код
$ make
C:/intelFPGA/18.0/embedded/host_tools/gnu/make/H-x86_64-mingw32/bin/make -C /cygdrive/e/..../linux-socfpga-socfpga-4.5/ M=/cygdrive/e/Users/bur/projects/.../DE10_NANO_SoC_GHRD/software/drv modules
make: *** /cygdrive/e/Users/bur/downloads/linux-socfpga-socfpga-4.5: No such file or directory.  Stop.
make: *** [default] Error 2


Как правильно собирать это?)
Go to the top of the page
 
+Quote Post
Jury093
сообщение Sep 27 2018, 09:17
Сообщение #6


Знающий
****

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



Цитата(Burenkov Sergey @ Sep 27 2018, 00:22) *
C:/intelFPGA/18.0/
Как правильно собирать это?)

ядро и драйверы можно собирать в нативном (х86) линуксе, в линуксе под виртуалкой (virtualbox, vmware), прямо на целевой платформе (armel, armelhf), но под виндой никаких методов мне не известно..
также помимо линуксовости среды сборки возможно придется использовать архитектуру х86-64bit

т.е. ставите линукс в любом вышесказанном варианте и всё должно скомпилиться..
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th August 2022 - 22:18
Рейтинг@Mail.ru


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