Перейти к содержанию
    

Здравствуйте!

Я новичок как в 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 не понимаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это Yocto и Petalinux дистрибутивы.

А с чего вы будете загружаться ? Просто если с SD, то можно взять Debian и у вас будут apt-get и прочие радости жизни.

Devcfg его нужно включать при сборке ядра или отдельным драйвером собирать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для того, чтобы запустить 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 (еще один ресурс могу попозже кинуть, не могу пока вспомнить)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А с чего вы будете загружаться ? Просто если с SD, то можно взять Debian и у вас будут apt-get и прочие радости жизни.

Devcfg его нужно включать при сборке ядра или отдельным драйвером собирать.

Спасибо за ответ!

С SD-карты. Debian? На сайте xilinx я не заметила, что можно Debian использовать. Есть ли ссылочка на tutorial? Debian для ARM Cortex-A9 (ZYNQ 7000).

 

PFC_ALVARO_BUSTOS_BENAYAS - это руководство, которое поможет вам многое прояснить по поводу того, как запустить linux на zynq с помощью buidlroot (еще один ресурс могу попозже кинуть, не могу пока вспомнить)

Спасибо за ответ! Уже читаю руководство, кое-что проясняется. Жду ссылку на другой ресурс :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неплохие материалы для освоения Зинки в целом и Линукса в нем:

http://www.googoolia.com/wp/2014/10/29/les...m-host-of-zynq/

 

https://embeddedcentric.com/zynq-training-course/

https://embeddedcentric.com/embedded-operating-systems/

И еще немножко тут:

https://forums.xilinx.com/t5/Xcell-Daily-Bl...ded/ba-p/651297

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сборка rootfs возмите отсюда https://habrahabr.ru/company/metrotek/blog/235707/

На SD нужно создать раздел с rootfs выглядить sd будет так, как на картинке.

Screenshot_from_2017-07-13_01_11_17.png

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.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для Ваших целей, возможно, избыточен, но неплох arm archlinux. Из преимуществ - хорошая wiki по этому дистрибутиву, и дружественность онного. Я именно на нем останоивлся. Тут выложен уже готовый rootfs

https://archlinuxarm.org/platforms/armv7/xilinx/zedboard.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо огроменное! Вот только делаю в соответствии с:

Неплохие материалы для освоения Зинки в целом и Линукса в нем:

http://www.googoolia.com/wp/2014/10/29/les...m-host-of-zynq/

Но мне никак не удается создать zynq_zed в папке u-boot-xlnx/include/configs/ :crying:

Про кросскомпилятор я 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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Но только мне пока для ZedBoard нужен Linux. В учебно-тренировочных целях. А дальше я планирую под другую плату линукс собирать. То есть готовый дистрибутив мне не подходит.

Для Ваших целей, возможно, избыточен, но неплох arm archlinux. Из преимуществ - хорошая wiki по этому дистрибутиву, и дружественность онного. Я именно на нем останоивлся. Тут выложен уже готовый rootfs

https://archlinuxarm.org/platforms/armv7/xilinx/zedboard.

Изменено пользователем sheynmanyu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перехожу в папку u-boot-xlnx/include/configs... и не вижу zynq_zed.h

К сожалению, помочь разобраться не могу. Волею судеб Линукс и Зедборд лежат на полке. Их место занял Лэттис и PCIE.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше всего смотрите в сторону 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 портировать не сложно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрала... Запустила. Спасибо всем за советы и ссылки.

Возникла проблема с сохранением файлов. Хочу сохранять файлы после выключения питания платы.

 

Образ файловой системы качала отсюда 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...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мой недолгий линуксовый опыт подсказывает, что rootfs нужно не в рамдиске разворачивать, а на SD карте держать. Тогда и файлы будут сохранятся. U-BOOTу нужно сказать, что корневая файловая система лежит на SD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...