|
Linux для zynq7000 |
|
|
|
Jul 7 2017, 18:11
|
Участник

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

|
Здравствуйте! Я новичок как в Linux, так и в мире FPGA. Помогите, пожалуйста, с выбором Linux для ZYNQ 7000. Нашла несколько возможных вариантов: PetaLinux, Xilinx Zynq Linux, Yocto, Xillinux. Никак не могу разобраться, чем же они друг от друга отличаются? В моем проекте Linux нужен для контроля за состоянием системы (запись в логи информации о температуре, ошибках, нештатных ситуациях) и для передачи информации по сети Ethernet (файлов, для чего планируется поднять FTP сервер). Возможно, прошивка PL (хотелось бы иметь возможность подключить драйвера для Devcfg). Как таковой real time system на данном этапе не нужно, поэтому в эту сторону я не смотрела. Что удалось выяснить (поправьте, если я неправильно поняла): xillinux - полновесная ОС с графическим интерфейсом (похоже, избыточна). Xilinx Zynq Linux - интересная сборка для ZedBoard. Включает в себя Telnet, SSH, WebServer, FTP. Не включает по умолчанию драйвер для Devcfg (можно ли его самостоятельно добавить?) Про Yocto и Petalinux не понимаю.
|
|
|
|
|
Jul 8 2017, 16:29
|
Группа: Участник
Сообщений: 14
Регистрация: 22-06-17
Из: Санкт-Петербург
Пользователь №: 97 789

|
Это Yocto и Petalinux дистрибутивы. А с чего вы будете загружаться ? Просто если с SD, то можно взять Debian и у вас будут apt-get и прочие радости жизни. Devcfg его нужно включать при сборке ядра или отдельным драйвером собирать.
|
|
|
|
|
Jul 8 2017, 18:35
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 6-03-14
Из: Зеленоград
Пользователь №: 80 823

|
Для того, чтобы запустить linux на zynq вам необходимо иметь следующее: 1. Загрузчик boot.bin (включает в себя fsbl + файл прошивки логики (если имеется) + u-boot) 2. Файл дерева устройств .dts 3. Ядро ос linux 4. rootfs
Petalinux - это система сборки от xilinx, которая позволит вам получить все эти файлы (так же в ней парой команд можно добавлять свои модули и приложения, выбирать необходимые модули для ядра и пакеты для включения в rootfs)
C помощью buildroot или yocto можно собирать ядро и rootfs, а для сборки загрузчика и dts можно скачать с git'a u-boot-xlnx и device-tree-compiler и собирать их самому парой-тройкой команд (хотя эти системы сборки могут вроде и загрузчик с dts собрать, но по моему мнению собирать самому попроще будет)
Используя готовые дистрибутивы вы столкнетесь с проблемой добавления собственных пакетов и модулей в дистрибутив. А если у вас должно быть что то свое в логике то такой вариант точно не подойдет.
PFC_ALVARO_BUSTOS_BENAYAS - это руководство, которое поможет вам многое прояснить по поводу того, как запустить linux на zynq с помощью buidlroot (еще один ресурс могу попозже кинуть, не могу пока вспомнить)
|
|
|
|
|
Jul 10 2017, 11:55
|
Участник

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

|
Цитата(g700 @ Jul 8 2017, 19:29)  А с чего вы будете загружаться ? Просто если с SD, то можно взять Debian и у вас будут apt-get и прочие радости жизни. Devcfg его нужно включать при сборке ядра или отдельным драйвером собирать. Спасибо за ответ! С SD-карты. Debian? На сайте xilinx я не заметила, что можно Debian использовать. Есть ли ссылочка на tutorial? Debian для ARM Cortex-A9 (ZYNQ 7000). Цитата(Alexey_pashinov @ Jul 8 2017, 21:35)  PFC_ALVARO_BUSTOS_BENAYAS - это руководство, которое поможет вам многое прояснить по поводу того, как запустить linux на zynq с помощью buidlroot (еще один ресурс могу попозже кинуть, не могу пока вспомнить) Спасибо за ответ! Уже читаю руководство, кое-что проясняется. Жду ссылку на другой ресурс
|
|
|
|
|
Jul 12 2017, 19:22
|
Группа: Участник
Сообщений: 14
Регистрация: 22-06-17
Из: Санкт-Петербург
Пользователь №: 97 789

|
Сборка rootfs возмите отсюда https://habrahabr.ru/company/metrotek/blog/235707/На SD нужно создать раздел с rootfs выглядить sd будет так, как на картинке.  1 - загрузочный ( fat ) 2 - rootfs ( etx4 ) Как разворачивать rootfs на SD сказано в сылке выше. Так же еще необходимо добавить в uboot-env: bootargs=console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=0 Не забудте указать ту файловую систему, которая у вас в данном примере etx4. И проверьте, что uboot будет читать uboot-env.
|
|
|
|
|
Jul 13 2017, 20:54
|
Частый гость
 
Группа: Свой
Сообщений: 76
Регистрация: 8-04-11
Из: Ростов-на-Дону
Пользователь №: 64 227

|
Для Ваших целей, возможно, избыточен, но неплох arm archlinux. Из преимуществ - хорошая wiki по этому дистрибутиву, и дружественность онного. Я именно на нем останоивлся. Тут выложен уже готовый rootfs https://archlinuxarm.org/platforms/armv7/xilinx/zedboard.
|
|
|
|
|
Jul 14 2017, 08:28
|
Участник

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

|
Спасибо огроменное! Вот только делаю в соответствии с: Цитата(GriXa @ Jul 12 2017, 13:41)  Неплохие материалы для освоения Зинки в целом и Линукса в нем: http://www.googoolia.com/wp/2014/10/29/les...m-host-of-zynq/Но мне никак не удается создать zynq_zed в папке u-boot-xlnx/include/configs/ Про кросскомпилятор я Ubuntu сказала: $bash export CROSS_COMPILE=arm-xilinx-linux-gnueabi- Про Arm тоже: $bash export ARCH=arm Ввожу $bash make zynq_zed_config После ввода этой команды терминал выдает сообщение # # configuration written to .config # Перехожу в папку u-boot-xlnx/include/configs... и не вижу zynq_zed.h
|
|
|
|
|
Jul 14 2017, 11:43
|
Участник

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

|
Спасибо! Но только мне пока для ZedBoard нужен Linux. В учебно-тренировочных целях. А дальше я планирую под другую плату линукс собирать. То есть готовый дистрибутив мне не подходит. Цитата(R6L-025 @ Jul 13 2017, 23:54)  Для Ваших целей, возможно, избыточен, но неплох arm archlinux. Из преимуществ - хорошая wiki по этому дистрибутиву, и дружественность онного. Я именно на нем останоивлся. Тут выложен уже готовый rootfs https://archlinuxarm.org/platforms/armv7/xilinx/zedboard.
Сообщение отредактировал sheynmanyu - Jul 14 2017, 11:43
|
|
|
|
|
Jul 14 2017, 13:27
|

Участник

Группа: Участник
Сообщений: 44
Регистрация: 22-05-09
Пользователь №: 49 385

|
Цитата(sheynmanyu @ Jul 14 2017, 11:28)  Перехожу в папку u-boot-xlnx/include/configs... и не вижу zynq_zed.h К сожалению, помочь разобраться не могу. Волею судеб Линукс и Зедборд лежат на полке. Их место занял Лэттис и PCIE.
|
|
|
|
|
Jul 14 2017, 17:13
|
Местный
  
Группа: Свой
Сообщений: 372
Регистрация: 14-02-06
Пользователь №: 14 339

|
Лучше всего смотрите в сторону petalinux, только он имеет какую-никакую, но оффициальную поддержку от Xilinx. В последних версиях (2017.*) Yocto инструментария включается в него все больше и больше. Petalinux позволяет генерировать dts и прочее на базе проекта Vivado, все расписано в мануале. Для Zedboard есть bsp, можно скачать с сайта Xilinx. Главное подобрать свежие доки, были отличия при сборке версий 2013-2014, 2015-2016 и линейки 2017. Быстрый старт можно освоить здесь ( https://github.com/Digilent/petalinux-bsps/...ide-for-Arty-Z7 ) , проект мне кажется на Zedboard портировать не сложно.
|
|
|
|
|
Jul 20 2017, 12:55
|
Участник

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

|
Собрала... Запустила. Спасибо всем за советы и ссылки. Возникла проблема с сохранением файлов. Хочу сохранять файлы после выключения питания платы. Образ файловой системы качала отсюда http://www.wiki.xilinx.com/Build+and+Modify+a+Rootfs. Перепаковала, чтобы он нормально воспринимался u-boot. Попробовала после загрузки создать текстовый файл, сохранить его и перезагрузиться. После перезхагрузки моего файла уже не было. При загрузке линукса в терминал выводится: RAMDISK: gzip image found at block 0 mmc0: new high speed SDHC card at address 0007 mmcblk0: mmc0:0007 SD04G 3.71 GiB mmcblk0: p1 p2 EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities EXT4-fs warning (device ram0): ext4_update_dynamic_rev:749: updating to rev 1 because of new feature flag, running e2fsck is recommended EXT4-fs (ram0): mounted filesystem without journal. Opts: (null) VFS: Mounted root (ext4 filesystem) on device 1:0. Starting rcS... ++ Mounting filesystem mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory mount: mounting /dev/mmcblk0 on /mnt failed: No such file or directory Help...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|