Burenkov 0 25 сентября, 2018 Опубликовано 25 сентября, 2018 (изменено) · Жалоба Доброго дня коллеги. Стоит задача с помощью мастера в fpga записать достаточно большой массив данных в DDR память на стороне HPS и потом процессором его обработать. В данный момент сделал через буферную ончип память - мой мастер пишет в двух-портовый ончип, а программа в юзерспейсе запущенная на арме читает вручную через h2f_axi_master. Хочу выкинуть ончип память и писать напрямую в ддр через f2h_axi_slave или f2h_sdram0, но не очень понимаю как мне получить физический адрес от линукса. С линуксом работал очень мало, но подозреваю что простой malloc не поможет, т.к. физический адрес в памяти он не вернет, и еще не гарантируется непрерывность выделенного адресного пространства. Может у кого то был опыт подобный? Изменено 25 сентября, 2018 пользователем Burenkov Sergey Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба Может у кого то был опыт подобный? возможно такая статья поможет: https://habr.com/company/metrotek/blog/248145/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Burenkov 0 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба возможно такая статья поможет: https://habr.com/company/metrotek/blog/248145/ Спасибо, изучаю. Жаль про драйвер написано очень мало:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 25 сентября, 2018 Опубликовано 25 сентября, 2018 · Жалоба Спасибо, изучаю. Жаль про драйвер написано очень мало:) там линк был на гитхаб, может что полезное вычитаете: https://github.com/Des333/soc-fpga2sdram-te...tree/master/drv Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Burenkov 0 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Начал разбираться в написании драйвера, но пока даже не могу собрать тот что у уважаемого 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 Как правильно собирать это?) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 27 сентября, 2018 Опубликовано 27 сентября, 2018 · Жалоба C:/intelFPGA/18.0/ Как правильно собирать это?) ядро и драйверы можно собирать в нативном (х86) линуксе, в линуксе под виртуалкой (virtualbox, vmware), прямо на целевой платформе (armel, armelhf), но под виндой никаких методов мне не известно.. также помимо линуксовости среды сборки возможно придется использовать архитектуру х86-64bit т.е. ставите линукс в любом вышесказанном варианте и всё должно скомпилиться.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
R6L-025 1 2 октября, 2018 Опубликовано 2 октября, 2018 · Жалоба On 9/25/2018 at 12:30 PM, Burenkov said: Доброго дня коллеги. Стоит задача с помощью мастера в fpga записать достаточно большой массив данных в DDR память на стороне HPS и потом процессором его обработать. В данный момент сделал через буферную ончип память - мой мастер пишет в двух-портовый ончип, а программа в юзерспейсе запущенная на арме читает вручную через h2f_axi_master. Хочу выкинуть ончип память и писать напрямую в ддр через f2h_axi_slave или f2h_sdram0, но не очень понимаю как мне получить физический адрес от линукса. С линуксом работал очень мало, но подозреваю что простой malloc не поможет, т.к. физический адрес в памяти он не вернет, и еще не гарантируется непрерывность выделенного адресного пространства. Может у кого то был опыт подобный? Посмотрите тут: https://rocketboards.org/foswiki/view/Documentation/EmbeddedLinuxBeginnerSGuide и тут:https://github.com/digibird1/Cyclone-V-SoC-system_Base Вторая ссылка, как я понял, как раз Ваш случай Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться