Я не тот, кто просит совета. Не буду вас ни в чем переубеждать. Не надо пересобирать всё - только то, что необходимо. Внутри PL не появляются новые IP сами по себе, их туда внедряю лично я и никто другой, поэтому с задачей "какие нужны драйверы (и нужны ли они вообще) и как их компилировать и "прописывать" в девайстри " предпочитаю справляться сам, а не надеяться на "смышлёных помощников". И конечно, после трёхлетнего опыта работы с ZYNQ 7000 волей-неволей начинаешь пользоваться готовыми бинарниками наработками - собственного приготовления разумеется. Со временем таких "готовых" становится всё больше. Я просто хотел поделиться своими наработками. Если кому то buildroot очень облегчает развитие проекта - почему нет.
Я делал дисконусную, ставил на крышу, в 20 метрах от основной КВ антенны (вертикал 10-80м). Чтобы каждый раз не переключать антенну, переходя на передачу на трансивере. Дисконус, как ни странно работал неплохо на приём.
"Загрузчик пересобери, ядро персобери, dts пересобери, boot.bin сделай" -- это делается один раз , без всякого "пересобери". "Загрузчик" встроен в BOOT.bin , также, как и u-boot и Bitstream. Ядро "пересобирать " не надо, один раз собрал и пользуйся. Или взять готовое для ZYNQ, есть 3,4,5, 6 поколения, скачивайте на здоровье. Повторюсь , ядро НЕ нужно адаптировать, обновлять, он будет работать на всех ОС, Angstrom, OpenWRT, ARCH, Debian - подобных. Devicetree.dtb делается один раз, под своё железо. Как и Boot.bin
Короче , "перетягивание" с Алвиннера выглядит так :
Создаётся раздел FAT (fat32) и туда копируются BOOT.bin uImage devicetree.dtb из вашего "загашника". Этот раздел должен быть Первым в таблице разделов. Размера 30Мб. достаточно. DevTree и zImage от алвиннера - в мусорку.
Второй раздел должен быть ext2- ext4, в нём и располагается RootFS . Если вы взяли РутФС от алвиннера, то содержимое /boot лучше сразу удалить, чтобы не запутаться.
можно создать ещё несколько разделов ЕХТ4 и разместить там другие ОС. Например у меня из первого раздела SD загружается Jammy, со второго PYNQ, с третьего Ubuntu 18.04, с четвертого Xillinux, а с NAND - OpenWRT
Я считаю, вопрос (RootFS) не стоит выеденного яйца.
Ядро надо собирать отдельно от всяких билдрутов, петалинуксов с ёктами. Тогда это станет осознанным процессом. Опыт сборки ядер пригодится не раз. И ещё придёт понимание, что не существует ядра под Дебиан 11 или Убунту 24.
Лучше всего брать готовые RootFS и не морочиться со сборкой. Берёте минимал/сервер версию Убунту-Дебиан и что нужно добавляете через apt-get. Есть версии как бы "специально для Xilinx-ZYNQ" - PYNQ и Xillinux :-). Лично мне более удобен Армбиан (версия для OrangePiOne) - всегда ей пользуюсь.
Если критичен малый объём , например, чтобы система уместилась на NAND 256 Mb, то OpenWRT-BrainOS-LeDe - отличный выбор. Есть удобный пакетный менеджер. Свежеустановленная LEDE занимает 11 Мб. (Разумеется, Ядро подойдет любое, 3,4,5,6 поколения - без проблем)
Ну уж если уж прямо горит собрать "свою" RootFS, то DebootStrap - то что надо. За полчаса можно собрать пару "Убунт-Дебианов".
Всё вышенаписанное - это не теоретические выкладки. Проверено. Опробовано. Скачать (u-boot, uImage, RootFS и др.) можно в группе https://t.me/+R_oA68EGEtM4NmM6
"к сожалению @Astranome не совсем все обещанное запостил" - все наработки постить - нет столько времени и сил, а что будет востребовано, угадать не могу. Например, я думал, что тема оснащения ZYNQ-ка (VGA/HDMI) дисплеем и "звуковой системой" - будет интересна большинству, оказалось - нет. Так что, как говорится, оставляйте заявки.
Рановато для статьи. Надо подождать 17 мая. Тогда и будет более развёрнутая информация. Проект на самой ранней стадии и сроки его реализации туманны, тем более, что это не Open Source.
Фишка как раз в том, что создаётся такое железо, которое выполняет Python код НАПРЯМУЮ , без компиляторов, виртуальной машины, интерпретатора или JIT-слоя.
Софта для работы с fpga dev board не существует, есть софт для самой ПЛИС - то есть микросхемы, которая установлена на плате, (или макетке, неважно). Бесплатный софт от производителя, разумеется, есть. https://habr.com/ru/articles/250511/ (Приложение D)
Причём здесь одноплатники и порог вхождения? Не надо никуда входить, переступая через пороги. Чудеса - это не сюда, реклама всяких волшебных курсов в соседней колонке. Эти фпга могут покупать не только лишь все - это прекрасно, это не рекламная статья от магазина на диване.
Дело в том , что платки на Спартан-6 в Авалоне 841 не являются платами управления. Там Raspberry Pi 3 управляют майнингом, обеспечивают связь с Пулами и т.п. Где купить, схемы и прочая документашка обсуждается в тематической группе , ссылка в конце статьи
Что видит на экране осциллографа Hewlett Packard 1740A господин Хакер, сидящий спиной к зрителю, на последнем фото? Время прохождения пинга от Беркли до Нью-Йорка, вестимо.
tgl/tl-parser/tl-parser.c: In function ‘tl_parse_args134’: tgl/tl-parser/tl-parser.c:1907:26: error: ‘__builtin___sprintf_chk’ may write a terminating nul past the end of the destination [-Werror=format-overflow=] 1907 | sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ()); | ^ In file included from /usr/include/stdio.h:894, from tgl/tl-parser/tl-parser.c:32: /usr/include/arm-linux-gnueabihf/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 2 and 21 bytes into a destination of size 20 38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 39 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 40 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make: *** [Makefile.tl-parser:4: objs/tl-parser.o] Error 1
Используйте короткие волны и будет вам связь везде.
КВ связь в авиации применяется издавна и по н.в.
В "Цифре" используется USB , а не AM или FM .
Я не тот, кто просит совета. Не буду вас ни в чем переубеждать. Не надо пересобирать всё - только то, что необходимо. Внутри PL не появляются новые IP сами по себе, их туда внедряю лично я и никто другой, поэтому с задачей "какие нужны драйверы (и нужны ли они вообще) и как их компилировать и "прописывать" в девайстри " предпочитаю справляться сам, а не надеяться на "смышлёных помощников". И конечно, после трёхлетнего опыта работы с ZYNQ 7000 волей-неволей начинаешь пользоваться готовыми
бинарникаминаработками - собственного приготовления разумеется. Со временем таких "готовых" становится всё больше. Я просто хотел поделиться своими наработками. Если кому то buildroot очень облегчает развитие проекта - почему нет.У меня HDMI не требует внешнего обвеса , 8 проводков и разъём.
VGA тоже реализован. Но там ещё горстка резисторов кроме разъёма.
Я делал дисконусную, ставил на крышу, в 20 метрах от основной КВ антенны (вертикал 10-80м). Чтобы каждый раз не переключать антенну, переходя на передачу на трансивере. Дисконус, как ни странно работал неплохо на приём.
"Загрузчик пересобери, ядро персобери, dts пересобери, boot.bin сделай" -- это делается один раз , без всякого "пересобери". "Загрузчик" встроен в BOOT.bin , также, как и u-boot и Bitstream. Ядро "пересобирать " не надо, один раз собрал и пользуйся. Или взять готовое для ZYNQ, есть 3,4,5, 6 поколения, скачивайте на здоровье. Повторюсь , ядро НЕ нужно адаптировать, обновлять, он будет работать на всех ОС, Angstrom, OpenWRT, ARCH, Debian - подобных. Devicetree.dtb делается один раз, под своё железо. Как и Boot.bin
Короче , "перетягивание" с Алвиннера выглядит так :
Создаётся раздел FAT (fat32) и туда копируются BOOT.bin uImage devicetree.dtb из вашего "загашника". Этот раздел должен быть Первым в таблице разделов. Размера 30Мб. достаточно. DevTree и zImage от алвиннера - в мусорку.
Второй раздел должен быть ext2- ext4, в нём и располагается RootFS . Если вы взяли РутФС от алвиннера, то содержимое /boot лучше сразу удалить, чтобы не запутаться.
можно создать ещё несколько разделов ЕХТ4 и разместить там другие ОС. Например у меня из первого раздела SD загружается Jammy, со второго PYNQ, с третьего Ubuntu 18.04, с четвертого Xillinux, а с NAND - OpenWRT
Не согласен :-) RootFS, который был на AllWinner, под Zynq запускается сразу, а не за пару часов.
Я считаю, вопрос (RootFS) не стоит выеденного яйца.
Ядро надо собирать отдельно от всяких билдрутов, петалинуксов с ёктами. Тогда это станет осознанным процессом. Опыт сборки ядер пригодится не раз. И ещё придёт понимание, что не существует ядра под Дебиан 11 или Убунту 24.
Лучше всего брать готовые RootFS и не морочиться со сборкой. Берёте минимал/сервер версию Убунту-Дебиан и что нужно добавляете через apt-get. Есть версии как бы "специально для Xilinx-ZYNQ" - PYNQ и Xillinux :-). Лично мне более удобен Армбиан (версия для OrangePiOne) - всегда ей пользуюсь.
Если критичен малый объём , например, чтобы система уместилась на NAND 256 Mb, то OpenWRT-BrainOS-LeDe - отличный выбор. Есть удобный пакетный менеджер. Свежеустановленная LEDE занимает 11 Мб. (Разумеется, Ядро подойдет любое, 3,4,5,6 поколения - без проблем)
Ну уж если уж прямо горит собрать "свою" RootFS, то DebootStrap - то что надо. За полчаса можно собрать пару "Убунт-Дебианов".
Всё вышенаписанное - это не теоретические выкладки. Проверено. Опробовано. Скачать (u-boot, uImage, RootFS и др.) можно в группе https://t.me/+R_oA68EGEtM4NmM6
Он проходит 3 ... :-) кнопки:
Запустить Синтез
Запустить Имплементацию
Сгенерировать Битстрим
"к сожалению @Astranome не совсем все обещанное запостил" - все наработки постить - нет столько времени и сил, а что будет востребовано, угадать не могу. Например, я думал, что тема оснащения ZYNQ-ка (VGA/HDMI) дисплеем и "звуковой системой" - будет интересна большинству, оказалось - нет. Так что, как говорится, оставляйте заявки.
Рановато для статьи. Надо подождать 17 мая. Тогда и будет более развёрнутая информация. Проект на самой ранней стадии и сроки его реализации туманны, тем более, что это не Open Source.
Фишка как раз в том, что создаётся такое железо, которое выполняет Python код НАПРЯМУЮ , без компиляторов, виртуальной машины, интерпретатора или JIT-слоя.
Распиновка в виде pdf схемы - лежит в группе, в разделе SPARTAN-6
Софта для работы с fpga dev board не существует, есть софт для самой ПЛИС - то есть микросхемы, которая установлена на плате, (или макетке, неважно). Бесплатный софт от производителя, разумеется, есть. https://habr.com/ru/articles/250511/ (Приложение D)
Причём здесь одноплатники и порог вхождения? Не надо никуда входить, переступая через пороги. Чудеса - это не сюда, реклама всяких волшебных курсов в соседней колонке. Эти фпга могут покупать не только лишь все - это прекрасно, это не рекламная статья от магазина на диване.
Дело в том , что платки на Спартан-6 в Авалоне 841 не являются платами управления. Там Raspberry Pi 3 управляют майнингом, обеспечивают связь с Пулами и т.п. Где купить, схемы и прочая документашка обсуждается в тематической группе , ссылка в конце статьи
Что видит на экране осциллографа Hewlett Packard 1740A господин Хакер, сидящий спиной к зрителю, на последнем фото? Время прохождения пинга от Беркли до Нью-Йорка, вестимо.
И чтобы по 20 центов. Ладно, даю 50.
не 16, а 100. И у "четвёрок" никакого турбо не было
tgl/tl-parser/tl-parser.c: In function ‘tl_parse_args134’:
tgl/tl-parser/tl-parser.c:1907:26: error: ‘__builtin___sprintf_chk’ may write a terminating nul past the end of the destination [-Werror=format-overflow=]
1907 | sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ());
| ^
In file included from /usr/include/stdio.h:894,
from tgl/tl-parser/tl-parser.c:32:
/usr/include/arm-linux-gnueabihf/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 2 and 21 bytes into a destination of size 20
38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile.tl-parser:4: objs/tl-parser.o] Error 1