|
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 3 2018, 15:48
|
Участник

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

|
Цитата(_Ivan_33 @ Apr 27 2018, 09:29)  Вообще я на своей плате смотрел dmesg и драйвер дма в петалинуксе вроде как присутствует Вроде в TRM был описан пример как можно с дма работать
Очень интересен результат! Юлия, отпишитесь, пожалуйста, как это все поднимите C Petalinux 2018 у меня возникли сложности: в SDK изменился компилятор для 32-разрядных arm. Дождалась, когда выйдет petalinux 2018.1, изменила в настройках ядра префикс для компилятора на arm-linux-gnueabihf-... В качестве префикса для кросс-компилятора указала его же: export CROSS_COMPILE=arm-linux-gnueabihf- и все собралось!
Сообщение отредактировал sheynmanyu - May 4 2018, 12:57
|
|
|
|
|
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 и обновить сборку, желательно без полной пересборки..
|
|
|
|
|
May 10 2018, 07:38
|
Участник

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

|
Цитата(Jury093 @ May 9 2018, 00:44)  откуда берет? скорее всего в недрах пакета есть архив или ветка с шаблонами, оттуда и генерятся исходные dtsi, второй вариант - тянется стандартное ядро и на него накладывают патчи и создаются dtsi попробуйте все же изменить pl.dtsi и обновить сборку, желательно без полной пересборки.. я пробовала обновлять: не помогло. Банально не собралось. но когда я в дизайне разрешила scatter-gather (он, в общем-то, мне не очень нужен. Но раз драйвер просит...) - все собралось и заработало. И правильно сгенерировались файлы dtsi, и ошибок в dmesg не стало! Но: не удается запустить на выполнение dmatest. Правильно ли я понимаю? После ввода команды Код root@simple_loop_dma:/sys/module# ls /sys/class/dma dma0chan0 dma0chan2 dma0chan4 dma0chan6 dma1chan0 dma0chan1 dma0chan3 dma0chan5 dma0chan7 dma1chan1 появляется список dma-каналов. При этом каналы dma0chan* - это DMA PL330, то есть DMA из PS части, а dma1chan* - это AXI-DMA? В /sys/module/ у меня есть и axidmatest и dmatest. При этом, в соответствии с https://www.kernel.org/doc/html/v4.15/drive...ne/dmatest.html мне удалось запустить на выполнение dmatest с каналом dma0chan*. Но для dma1chan* ничего не выходит. Тест не запускается. В ответ на команду Код root@simple_loop_dma:/# 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 xilinx-vdma 40400000.dma: Xilinx AXI DMA Engine Driver Probed! Как проверить работоспособность моего axi dma блока??? Подскажите, плиз!
Сообщение отредактировал sheynmanyu - May 10 2018, 13:36
|
|
|
|
|
May 10 2018, 21:09
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 10 2018, 10:38)  я пробовала обновлять: не помогло. Банально не собралось. но когда я в дизайне разрешила scatter-gather (он, в общем-то, мне не очень нужен. Но раз драйвер просит...) - все собралось и заработало. И правильно сгенерировались файлы dtsi, и ошибок в dmesg не стало! так что в результате помогло - коррекция dts или разрешение "scatter-gather"? Цитата api/dmaengine/dmatest.html"]https://www.kernel.org/doc/html/v4.15/drive...ne/dmatest.html[/url] мне удалось запустить на выполнение dmatest с каналом dma0chan*. Но для dma1chan* ничего не выходит. Тест не запускается. а как не запускается? система виснет? в консоль что-нить пишет? натолкайте отладочных printf("я тут step1\n"); в исходник dmatest и попробуйте отловить, где валится софтина в момент работы с dma1chan Цитата Как проверить работоспособность моего axi dma блока??? у меня такой системы нет, т.ч. только общие советы: - проверьте, что необходимые ресурсы и права для dmaXchan присутствуют и одинаковые - валидность прерываний, адресов блоков регистров прерывания: Код cat /proc/interrupts блоки регистров Код cat /proc/iomem возможно тут: http://www.wiki.xilinx.com/DMA+Drivers+-+Soft+IPsесть что полезное как наиболее вероятное, раз для канала0 работает, то не прописано или прописано неправильно все тоже для канала1 как версия - там тред с solved: https://forums.xilinx.com/t5/Embedded-Linux...p/522755/page/6"Ok, finally I have done it, by copying axi_dma_0 entry to system_user.dtsi changing xlnx,device-id of its second channel to <0x1> and changing "misc_clk_0" in it to "clkc 15"."
Сообщение отредактировал Jury093 - May 10 2018, 21:14
|
|
|
|
|
May 14 2018, 11:58
|
Участник

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

|
Как указать petalinux 2018.1, где лежат необходимые библиотеки? Вот здесь предлагается приложение создавать с помощью Xilinx SDK, но необходимо прописать путь к sysroots/что-то там. Беда в том, что у меня эта папка в проекте пуста, даже после вызова команды petalinux-build -c rootfs. Как прописать пути к linux/delay.h и прочим include? где их вообще искать?
Сообщение отредактировал sheynmanyu - May 14 2018, 12:00
|
|
|
|
|
May 15 2018, 10:50
|
Участник

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

|
Цитата(_Ivan_33 @ May 15 2018, 13:46)  Еще подкрутить параметры виртуалки в сторону увеличения производительности или наконец поставить линукс на нормальный комп Эмм... А можно ли не снося убунту подкрутить виртуалку? Оперативка выделена почти вся. Вчера ругалась на нехватку места, но с тех пор я удалила около 6 ГБ...
|
|
|
|
|
May 15 2018, 11:53
|
Участник

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

|
Цитата(_Ivan_33 @ May 15 2018, 14:43)  мне кажется что в таких процессах важен процессор а можешь огласить характеристики своего компа?
и характиристики виртуальки - сколько там выделено ресурсов Она ругается на оставшееся место на диске. Всего 100 ГБ, до запуска build --sdk оставалось около 30 ГБ. Перед выдачей ошибок система ругнулась на оставшиеся 700 МБ на жестком диске  yulia@yulia-U:~/ZYNQ/xilinx_linux/my_projects/simple_loop/simple_loop_dma$ df -k -T Filesystem Type 1K-blocks Used Available Use% Mounted on udev devtmpfs 9734880 0 9734880 0% /dev tmpfs tmpfs 1952248 9308 1942940 1% /run /dev/sda1 ext4 80056152 73746076 2220376 98% / tmpfs tmpfs 9761224 216 9761008 1% /dev/shm tmpfs tmpfs 5120 4 5116 1% /run/lock tmpfs tmpfs 9761224 0 9761224 0% /sys/fs/cgroup VM_Shared_Folder vboxsf 567159508 50101244 517058264 9% /media/sf_VM_Shared_Folder tmpfs tmpfs 1952248 56 1952192 1% /run/user/1000 И информация о директории с проектом petalinux yulia@yulia-U:~/ZYNQ/xilinx_linux/my_projects/simple_loop/simple_loop_dma$ du ./build/ -h --max-depth=1 2,6M ./build/cache 1,1G ./build/sstate-cache 192K ./build/conf 4,5G ./build/downloads 740K ./build/misc 16G ./build/tmp 22G ./build/ Что из этого всего можно удалить, но не тратить при этом кучу времени на повторное скачивание при редактировании проекта?
Сообщение отредактировал sheynmanyu - May 15 2018, 13:41
|
|
|
|
|
May 15 2018, 16:21
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 15 2018, 13:50)  Эмм... А можно ли не снося убунту подкрутить виртуалку? Оперативка выделена почти вся. Вчера ругалась на нехватку места, но с тех пор я удалила около 6 ГБ... смотря что за виртуалка: - на этом же винте создать дополнительный виртуальный диск, подключить к виртуалке, разметить и примонтировать - поставить дополнительный жесткий диск, далее по первому сценарию обычно производитель пакетов пишет, сколько примерно требуется дискового места, если не хватает 100Г то нарежьте 500Г или 1Т подобный образом я барахтался собирая андроид, 40Г "съел" за несколько часов на время сборки повлиять можно по разному - добавить ядер для ВМ, добавить физической оперативки, вынести сборку на более шустрый накопитель, в любом случае это будут неизбежные потери на виртуальность по "мусору" - гляньте в /var/cache/apt/archives Цитата(sheynmanyu @ May 15 2018, 13:40)  Если сюда еще хоть кто-то заглядывает?.. сами прикиньте насколько специфичная тема.. в качестве утешения - у альтеры примерно также и даже было хуже
|
|
|
|
|
May 15 2018, 17:59
|
Участник

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

|
Цитата(Jury093 @ May 15 2018, 19:21)  обычно производитель пакетов пишет, сколько примерно требуется дискового места, если не хватает 100Г то нарежьте 500Г или 1Т подобный образом я барахтался собирая андроид, 40Г "съел" за несколько часов
на время сборки повлиять можно по разному - добавить ядер для ВМ, добавить физической оперативки, вынести сборку на более шустрый накопитель, в любом случае это будут неизбежные потери на виртуальность
по "мусору" - гляньте в /var/cache/apt/archives Спасибо! Завтра попробую!
|
|
|
|
|
May 17 2018, 11:07
|
Участник

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

|
Цитата(Jury093 @ May 15 2018, 19:21)  сами прикиньте насколько специфичная тема.. в качестве утешения - у альтеры примерно также и даже было хуже Про специфичную тему: а у Вас сайт https://www.yoctoproject.org/ открывается? Я уже неделю на него зайти не могу. Ни с Chrome, ни с Explorer...
|
|
|
|
|
May 17 2018, 15:50
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 17 2018, 14:07)  Про специфичную тему: а у Вас сайт https://www.yoctoproject.org/ открывается? Я уже неделю на него зайти не могу. Ни с Chrome, ни с Explorer...  два раза проверил в течение дня - открывается (win7-64, не самый свежий хром) а что пишут браузеры? обычный пинг на сайт проходит? из хостовой ОС или гостевой? если из гостевой, то надо смотреть сделан ли проброс через bridge или смотреть настройки локального NAT..
|
|
|
|
|
May 17 2018, 16:02
|
Участник

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

|
Цитата(Jury093 @ May 17 2018, 18:50)  два раза проверил в течение дня - открывается (win7-64, не самый свежий хром) а что пишут браузеры? обычный пинг на сайт проходит? из хостовой ОС или гостевой? если из гостевой, то надо смотреть сделан ли проброс через bridge или смотреть настройки локального NAT.. Помог vpn. Ping не пробовала. Появился новый вопрос: что означают слова Код Unable to automatically checkout GIT submodules ' ui/keycodemapdb capstone'. | If you require use of an alternative GIT binary (for example to | enable use of a transparent proxy), then please specify it by | running configure by with the '--with-git' argument. e.g. | | $ ./configure --with-git='tsocks git' | | Alternatively you may disable automatic GIT submodule checkout | with: | | $ ./configure --disable-git-update' | | and then manually update submodules prior to running make, with: | | $ scripts/git-sbumodule.sh update ui/keycodemapdb capstone И где это все править?
|
|
|
|
|
May 17 2018, 18:19
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 17 2018, 19:02)  Появился новый вопрос: что означают слова configure - это обычно скрипт, лежит как правило в корне дерева исходников в первой строчке configure будет запущен с дополнительными параметрами для git, который будет использовать transparent proxy для доступа к субмодулям вторая строка запрещает использование для git проверку третья строка запускает скрипт git-sbumodule.sh для ручного обновления субмодулей перед запуском сборочного make ЗЫ запустите "./configure --help" там вывалится полная помощь по аргументам. я, как большой нелюбитель командной строки, обычно делаю "./configure --help > config.hlp" - мне так проще.. Цитата(sheynmanyu @ May 17 2018, 19:02)  И где это все править? пардон, на вопрос не ответил - это не править, а так запускать надо конфигуратор или скрипты конфигуратор будет нудить об отсутствующих библиотеках или доконфигурит до конца и сплодит Makefile, после этого можно пробовать команду Make
|
|
|
|
|
May 22 2018, 14:54
|
Участник

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

|
Поставила Ubuntu второй системой с Windows. Поставила petalinux, настроила параллельную сборку проекта - сборка идет супер быстро (по сравнению с тем, что было). Но, выдает вот такую ошибку и не собирает образы: Код ERROR: Could not invoke dnf. Command '/media/sheynmanyu/0E1AD4571AD43E01/petalinux_proj/DMA_zedboard_test/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/recipe-sysroot-native/usr/bin/dnf -y -c /media/sheynmanyu/0E1AD4571AD43E01/petalinux_proj/DMA_zedboard_test/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/media/sheynmanyu/0E1AD4571AD43E01/petalinux_proj/DMA_zedboard_test/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/rootfs/etc/yum.repos.d --repofrompath=oe-repo,/media/sheynmanyu/0E1AD4571AD43E01/petalinux_proj/DMA_zedboard_test/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/oe-rootfs-repo --installroot=/media/sheynmanyu/0E1AD4571AD43E01/petalinux_proj/DMA_zedboard_test/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/rootfs --setopt=logdir=/media/sheynmanyu/0E1AD4571AD43E01/petalinux_proj/DMA_zedboard_test/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/temp --nogpgcheck install bridge-utils pciutils packagegroup-core-boot tcf-agent run-postinsts openssh-sftp-server packagegroup-petalinux-utils shadow kernel-modules udev-extraconf packagegroup-core-ssh-dropbear packagegroup-petalinux-openamp canutils mtd-utils base-passwd' returned 1: Added oe-repo repo from /media/sheynmanyu/0E1AD4571AD43E01/petalinux_proj/DMA_zedboard_test/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/petalinux-user-image/1.0-r0/oe-rootfs-repo Last metadata expiration check: 0:00:01 ago on Tue 22 May 2018 05:25:58 PM UTC. Dependencies resolved. ... Running transaction Preparing : 1/1 Installing : update-alternatives-opkg-0.3.5-r0.cortexa9hf_neo 1/190 Installing : busybox-1.24.1-r0.cortexa9hf_neon 2/190 error: unpacking of archive failed: cpio: read failed - Inappropriate ioctl for device Installing : libc6-2.26-r0.cortexa9hf_neon 3/190 Running scriptlet: libc6-2.26-r0.cortexa9hf_neon 3/190 error: busybox-1.24.1-r0.cortexa9hf_neon: install failed Installing : kernel-4.14.0-xilinx-4.14+xilinx+v2018.1+git999- 4/190 Running scriptlet: kernel-4.14.0-xilinx-4.14+xilinx+v2018.1+git999- 4/190 Installing : libpam-1.3.0-r5.cortexa9hf_neon 5/190 Running scriptlet: libpam-1.3.0-r5.cortexa9hf_neon 5/190 Installing : libuuid1-2.30-r0.cortexa9hf_neon 6/190 error: unpacking of archive failed: cpio: read failed - Inappropriate ioctl for device Installing : libblkid1-2.30-r0.cortexa9hf_neon 7/190 error: libuuid1-2.30-r0.cortexa9hf_neon: install failed error: unpacking of archive failed: cpio: read failed - Inappropriate ioctl for device Installing : libsmartcols1-2.30-r0.cortexa9hf_neon 8/190 error: libblkid1-2.30-r0.cortexa9hf_neon: install failed error: unpacking of archive failed: cpio: read failed - Inappropriate ioctl for device Installing : libmount1-2.30-r0.cortexa9hf_neon 9/190 error: libsmartcols1-2.30-r0.cortexa9hf_neon: install failed error: unpacking of archive failed: cpio: read failed - Inappropriate ioctl for device Installing : libtinfo5-6.0+20170715-r0.cortexa9hf_neon 10/190 Running scriptlet: libtinfo5-6.0+20170715-r0.cortexa9hf_neon 10/190 error: libmount1-2.30-r0.cortexa9hf_neon: install failed ...
Failed: base-files.plnx_zynq7 3.0.14-r89 busybox.cortexa9hf_neon 1.24.1-r0 eudev.cortexa9hf_neon 3.2.2-r0 initscripts-functions.cortexa9hf_neon 1.0-r155 libblkid1.cortexa9hf_neon 2.30-r0 libfdisk1.cortexa9hf_neon 2.30-r0 libmount1.cortexa9hf_neon 2.30-r0 libsmartcols1.cortexa9hf_neon 2.30-r0 libudev1.cortexa9hf_neon 3.2.2-r0 libuuid1.cortexa9hf_neon 2.30-r0 shadow.cortexa9hf_neon 4.2.1-r0 smartmontools.cortexa9hf_neon 6.5-r0 util-linux.cortexa9hf_neon 2.30-r0 util-linux-su.cortexa9hf_neon 2.30-r0
Error: Transaction failed
Сообщение отредактировал sheynmanyu - May 22 2018, 17:01
|
|
|
|
|
May 22 2018, 22:14
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 22 2018, 17:54)  Код ERROR: Could not invoke dnf. судя по инету, не хватает dnf, попробуйте для старта просто в консоли команду dnfdnf это пакетный менеджер для Федора, в Дебьян аналогом будет apt-get если в вашей убунте его нет, то надо поискать как поставить примерно как по ссылке: https://unix.stackexchange.com/questions/30...l-dnf-on-debianЦитата error: unpacking of archive failed: cpio: read failed - Inappropriate ioctl for device это похоже на недокачанные/битые архивы найдите первый битый в списке в дереве проекта, вероятно он упал в download и переложите временно в другое место, пересборка должна вытащить недостающий архив - если целый, то повторяете для остальных, если битый, то тут надо разбираться
|
|
|
|
|
May 23 2018, 10:24
|
Участник

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

|
Цитата(Jury093 @ May 23 2018, 01:14)  судя по инету, не хватает dnf, попробуйте для старта просто в консоли команду dnf это похоже на недокачанные/битые архивы найдите первый битый в списке в дереве проекта, вероятно он упал в download и переложите временно в другое место, пересборка должна вытащить недостающий архив - если целый, то повторяете для остальных, если битый, то тут надо разбираться Похоже, что 1) почему-то вчера, хотя мне память говорит об обратном, не был корректно установлен gcc-multilib 2) Я зря понадеялась, что раз из-под убунты я вижу файлы, созданные ранее под Windows с дисками ntfs, то на них можно расположить петалинуксовский проект. После перенесения директории проекта в /home/, повторного клонирования всех репозиториев в тот же /home/... все собралось. Спасибо огромное за советы!
|
|
|
|
|
May 23 2018, 15:50
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 23 2018, 13:24)  После перенесения директории проекта в /home/, повторного клонирования всех репозиториев в тот же /home/... все собралось. Спасибо огромное за советы! ну мои советы были весьма широкополосны и не всегда в тему, впрочем если чем помог, то я рад.. успехов в борьбе с petalinux и dma!
|
|
|
|
|
May 28 2018, 07:11
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(sheynmanyu @ May 25 2018, 18:04)  Вот в SDK удобно перемещаться между библиотечными файлами, подключаемыми в проект. А модули драйверов для петалинукса создаются с помощью petalinux-create -t modules ... и дальше их редактируешь в текстовом редакторе. Есть ли приличный способ посмотреть функции, вызываемые из модуля, с помощью автоматического переключения между файлами, как в SDK? Есть ли пакет для разработки модулей? А то я смотрю на код, хочу уточнить, что та или иная функция делает, и... ииии? у меня gedit!  LinK+ IDE
|
|
|
|
|
May 29 2018, 10:43
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(sheynmanyu @ May 29 2018, 10:39)  Удивительное дело! ОС - Ubuntu 16.04.4, идет второй системой наравне с Windows. Каждый день при первой загрузке компьютера не находит gcc-multilib. После установки день можно работать, на следующий день история повторяется. Кто-нибудь с таким сталкивался?  а попробуйте так: 1. после очередной загрузки и установки дайте команду: Код printenv и смотрите содержимое переменной PATH на предмет пути до вашего gcc-multilib2. ребутаете комп и еще раз printenv - вероятно там пути до gcc уже не будет 3. находите и открываете файл ~/.bashrc - файл настроек для текущего пользователя 4. дописываете туда типа такого Код export PATH=$PATH:/home/jury093/src/nuc976.pi/arm_linux_4.3/usr/bin где home-jury-bla-bla меняете на путь до gcc из пункта №1 5. сохраняете файл 6. без перезагрузки стартуете новую сессию пользователя и набрав в консоли "arm" потом 2 раза TAB должны увидеть подсказку для всех arm-* 7. всё, теперь ежедневные установки больше будут не нужны.. возможно потребуется покрутить под свои реалии эту переменную: Код export CROSS_COMPILE=arm-linux-
|
|
|
|
|
May 30 2018, 19:21
|
Участник

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

|
Цитата(doom13 @ May 28 2018, 10:11)  LinK+ IDE Спасибо за совет! Тогда такой вопрос... Чтобы можно было собрать модуль для линукса, запущенного на арм процессоре, необходимо правильно прописать все пути к библиотекам ядра. Где они находятся в linux-xlnx или в директориях opt/petalinux/. Petalinux 2018.1. Ткните меня, пожалуйста, носом в описание, tutorial, manual. Уже вторую неделю пытаюсь правиль прописать пути к include linux/smth и верно задать кросс-компилятор - не выходит
|
|
|
|
|
May 31 2018, 09:52
|
Участник

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

|
Цитата(_Ivan_33 @ May 31 2018, 12:09)  а если попробовать поиск по этой папке чтоб найти папку linux с исходниками? А если попробовать поиск, то вылазит сразу огромное количество .h файлов с одинаковыми названиями и расположенных в разных папках. И я не понимаю, к каким именно файлам прописывать пути? И второй вопрос - как задать зависимости для настройки ядра. Ну подгружу я этот модуль, а где ему искать необходимые библиотеки уже в памяти конечного устройства с запущенным petalinux? Выглядит, конечно, как "У меня есть кусок кремния, медная проволока и паяльник. Решил начать с простого - спаять процессор", но все же  ))
Сообщение отредактировал sheynmanyu - May 31 2018, 09:55
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|