|
Xilinx linux + SDK + dma driver |
|
|
|
Apr 25 2018, 14:28
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Здравствуйте! Можно ли в Xilinx SDK (v2018.1) написать приложение для работы с AXI-DMA для ОС Linux? Как настроить SDK, чтобы не появлялось вопросов рядом с #include<something.h>? И как прописать пути для того, чтобы суметь подключить linux/dmaengine.h (при компиляции приложения пишет, что нет такого файла)? Собрала для zedboard linux_xlnx с Xilinx git, запустила, все работает. В SDK указала репозитории для device-tree-xlnx и linux_xlnx. Хочу написать приложение, которое позволяло бы инициировать прием данных через AXI-DMA. В моем device-tree прописан блок DMA и указаны драйверы в файле pl.dtsi: Код / { amba_pl: amba_pl { #address-cells = <1>; #size-cells = <1>; compatible = "simple-bus"; ranges; axi_dma_0: dma@40400000 { #dma-cells = <1>; clock-names = "s_axi_lite_aclk m_axi_sg_aclk m_axi_s2mm_aclk"; clocks = <&clkc 15>, <&clkc 15>; compatible = "xlnx,axi-dma-1.00.a"; interrupt-names = "s2mm_introut"; interrupt-parent = <&intc>; interrupts = <0 30 4>; reg = <0x40400000 0x10000>; xlnx,addrwidth = <0x20>; dma-channel@40400030 { compatible = "xlnx,axi-dma-s2mm-channel"; dma-channels = <0x1>; interrupts = <0 30 4>; xlnx,datawidth = <0x20>; xlnx,device-id = <0x0>; }; }; }; }; В system-top.dts файл pl.dtsi подключен. SDK выдает вот такую ошибку (см картинку). И смущает еще одно - вопросы рядом с include.  1. Можно ли вообще написать в SDK приложение, работающее с axi-dma драйвером? Или надо как-то отдельно писать свой драйвер, который будет обращаться к axi-dma драйверу, и к которому сможет обращаться мое приложение? 2. Как убрать вопросы рядом с #include?
Сообщение отредактировал sheynmanyu - Apr 25 2018, 14:45
|
|
|
|
|
 |
Ответов
|
May 7 2018, 16:36
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(_Ivan_33 @ Apr 27 2018, 09:29)  Вообще я на своей плате смотрел dmesg и драйвер дма в петалинуксе вроде как присутствует Пока столкнулась вот с такой проблемой: root@zedboard_dma_linux:~# dmesg | grep dma dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330 dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16 ERROR: could not get clock /amba_pl/dma@40400000:m_axi_s2mm_aclk(2) xilinx-vdma 40400000.dma: Xilinx AXI DMA Engine Driver Probed!! Как устранить ошибку?
|
|
|
|
|
May 7 2018, 21:02
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 7 2018, 19:36)  Пока столкнулась вот с такой проблемой: ERROR: could not get clock /amba_pl/dma@40400000:m_axi_s2mm_aclk(2) попробуйте переписать с таким синтаксисом: clock-names = "s_axi_lite_aclk", "m_axi_sg_aclk", "m_axi_mm2s_aclk", "m_axi_s2mm_aclk";еще можно гуглю скормить строку ошибки или чуть проще "xilinx dma 40400000", там куча solved попадается..
Сообщение отредактировал Jury093 - May 8 2018, 06:34
|
|
|
|
|
May 8 2018, 11:19
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 5-07-17
Пользователь №: 97 975

|
Цитата(Jury093 @ May 8 2018, 00:02)  попробуйте переписать с таким синтаксисом: clock-names = "s_axi_lite_aclk", "m_axi_sg_aclk", "m_axi_mm2s_aclk", "m_axi_s2mm_aclk"; еще можно гуглю скормить строку ошибки или чуть проще "xilinx dma 40400000", там куча solved попадается.. Эмм, а в каком файле мне это переписать? Просто у меня сейчас petalinux, и я абсолютно без понятия, откуда он берет файлы, на основе которых потом генерирует systеm.dtb. Более того, в приведенном выше pl.dtsi меня смущает число каналов и число clk. Канала указано 3, а clk всего два. Во всех примерах, которые мне встречались, эти числа совпадают: каналов 3 и clk три. Более того, в дизайне режим SG вообще не включен. Откуда он его взял в pl.dtsi? Да, сейчас pl.dtsi выглядит так: Код / { amba_pl: amba_pl { #address-cells = <1>; #size-cells = <1>; compatible = "simple-bus"; ranges; axi_dma_0: dma@40400000 { #dma-cells = <1>; clock-names = "s_axi_lite_aclk", "m_axi_sg_aclk", "m_axi_s2mm_aclk"; clocks = <&clkc 15>, <&clkc 15>; compatible = "xlnx,axi-dma-1.00.a"; interrupt-names = "s2mm_introut"; interrupt-parent = <&intc>; interrupts = <0 30 4>; reg = <0x40400000 0x10000>; xlnx,addrwidth = <0x20>; dma-channel@40400030 { compatible = "xlnx,axi-dma-s2mm-channel"; dma-channels = <0x1>; interrupts = <0 30 4>; xlnx,datawidth = <0x20>; xlnx,device-id = <0x0>; }; }; }; }; Интересный вопрос: а для нормальной работы dmaengine SG должен быть включен? Есть у кого-нибудь под рукой ссылка на рабочий дизайн?
Сообщение отредактировал sheynmanyu - May 8 2018, 13:54
|
|
|
|
|
May 8 2018, 21:44
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 8 2018, 14:19)  Эмм, а в каком файле мне это переписать? Просто у меня сейчас petalinux, и я абсолютно без понятия, откуда он берет файлы, на основе которых потом генерирует systеm.dtb. Более того, в приведенном выше pl.dtsi меня смущает число каналов и число clk. Канала указано 3, а clk всего два. Во всех примерах, которые мне встречались, эти числа совпадают: каналов 3 и clk три. Более того, в дизайне режим SG вообще не включен. Откуда он его взял в pl.dtsi? Да, сейчас pl.dtsi выглядит так: понятно, просто в вашем исходном сообщение был фрагмент dts, собственно правка к нему и относилась.. судя по тому же инету вам надо поправить на 3, типа Код clocks = <&clkc 15>, <&clkc 15>, <&clkc 15>; и пересобрать либо отдельно dtb, либо (как у вас там устроено не знаю) ядро в комплекте с dtb запросто может быть, что для вашего ядра этот драйвер broken, тут либо локальную доку шерстить, или в инете искать инфу/патчи откуда берет? скорее всего в недрах пакета есть архив или ветка с шаблонами, оттуда и генерятся исходные dtsi, второй вариант - тянется стандартное ядро и на него накладывают патчи и создаются dtsi попробуйте все же изменить pl.dtsi и обновить сборку, желательно без полной пересборки..
|
|
|
|
Сообщений в этой теме
sheynmanyu Xilinx linux + SDK + dma driver Apr 25 2018, 14:28 sheynmanyu Цитата(_Ivan_33 @ Apr 27 2018, 09:29) Воо... May 3 2018, 15:48     sheynmanyu Цитата(Jury093 @ May 9 2018, 00:44) откуд... May 10 2018, 07:38      Jury093 Цитата(sheynmanyu @ May 10 2018, 10:38) я... May 10 2018, 21:09 sheynmanyu Как указать petalinux 2018.1, где лежат необходимы... May 14 2018, 11:58 sheynmanyu Если сюда еще хоть кто-то заглядывает?..
Нашла в о... May 15 2018, 10:40 _Ivan_33 Еще подкрутить параметры виртуалки в сторону увели... May 15 2018, 10:46 sheynmanyu Цитата(_Ivan_33 @ May 15 2018, 13:46) Еще... May 15 2018, 10:50  Jury093 Цитата(sheynmanyu @ May 15 2018, 13:50) Э... May 15 2018, 16:21   sheynmanyu Цитата(Jury093 @ May 15 2018, 19:21) обыч... May 15 2018, 17:59   sheynmanyu Цитата(Jury093 @ May 15 2018, 19:21) сами... May 17 2018, 11:07    Jury093 Цитата(sheynmanyu @ May 17 2018, 14:07) П... May 17 2018, 15:50     sheynmanyu Цитата(Jury093 @ May 17 2018, 18:50) два ... May 17 2018, 16:02      Jury093 Цитата(sheynmanyu @ May 17 2018, 19:02) П... May 17 2018, 18:19 _Ivan_33 мне кажется что в таких процессах важен процессор
... May 15 2018, 11:43 sheynmanyu Цитата(_Ivan_33 @ May 15 2018, 14:43) мне... May 15 2018, 11:53 sheynmanyu Поставила Ubuntu второй системой с Windows. Постав... May 22 2018, 14:54 Jury093 Цитата(sheynmanyu @ May 22 2018, 17:54) К... May 22 2018, 22:14  sheynmanyu Цитата(Jury093 @ May 23 2018, 01:14) судя... May 23 2018, 10:24   Jury093 Цитата(sheynmanyu @ May 23 2018, 13:24) П... May 23 2018, 15:50 sheynmanyu Вот в SDK удобно перемещаться между библиотечными ... May 25 2018, 15:04 doom13 Цитата(sheynmanyu @ May 25 2018, 18:04) В... May 28 2018, 07:11  sheynmanyu Цитата(doom13 @ May 28 2018, 10:11) LinK+... May 30 2018, 19:21 sheynmanyu Удивительное дело! ОС - Ubuntu 16.04.4, идет в... May 29 2018, 07:39 Jury093 Цитата(sheynmanyu @ May 29 2018, 10:39) У... May 29 2018, 10:43 _Ivan_33 а если попробовать поиск по этой папке чтоб найти ... May 31 2018, 09:09 sheynmanyu Цитата(_Ivan_33 @ May 31 2018, 12:09) а е... May 31 2018, 09:52 _Ivan_33 по первому варианту может изначально попробовать н... May 31 2018, 12:29 sheynmanyu Всем привет!
И спасибо за помощь! Jun 1 2018, 13:51
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|