Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
SoC'культ привет! Вот мы дождались, когда в отдельном чате по Embedded части #FPGA назреют массы и поднимется бунт, который приводит нас к такой интересной теме как "Работа с #Linux на системах-на-кристалле #Zynq". На этом стриме стриме мы разберем, что нам нужно сделать, для того, чтобы научиться собирать линукс для Zynq, как создавать аппаратную платформу в FPGA части СнК и как ее использовать/обращаться к ней из операционной системы Linux. В качестве подопытного железа мы воспользуемся отладкой MyIR Z-Turn, но думаю, что после этого эфира мы сможем пересобрать все это дела и для любой другой отладки на Zynq. PS: "Petalinux должен сдохнуть" - ведущий -- - Телеграм чат про Embedded часть FPGA - софтпроцессоры Nios II, Microblaze, RISC-V, MIPS и другие. - SoC ARM FPGA: Zynq, ZynqMP, Intel SoC. -- 0:00 - Приветственное Слово 2:00 - Объявление о Конференция FPGA-Systems 6:00 - Вступительное слово Игоря Александровича 6:40 - Тема Zynq 7000 на базе процессора SOC ARM 7:00 - Отладочная плата Z-Turn Board 8:10 - Описание структуры, элементов и схемы платы 9:40 - Находим называние кристалла на схеме 10:00 - Создаем проект в Vivado 2019.02 для системы Zynq 13:20 - Настройка памяти DDR3 17:20 - Создание Block Design для системы Zynq в Vivado 18:30 - Настройка clk и reset для Zynq 19:20 - Настройки входного клока 21:40 - Создание axi_gpio модуля 23:30 - Загрузка PS первична ! 24:50 - Добавляем axi_interconnect 26:40 - Соединяем линии clk и данных между блоками 29:10 - Соединение reset к модулям 30:00 - настройка axi_gpio модуля 31:40 - Банки ввода-вывода ZYNQ 500 501 33:20 - Настройка напряжений для банков Zynq 34:20 - Настройка QSPI интерфейс 35:00 - Настройка Ethernet контроллера ENET0 38:00 - Пояснение по MIO и EMIO 47:00 - Описание возможности gmii to rgmii интерфейса 49:10 - Настройка SD карты 49:50 - Настройка источника питания SD card 51_30 - Настройка USB-UART 53:10 - Настройка I2C 54:00 - Настройка CAN 1:01:20 - Address Editor смотрим карту памяти 1:02:30 - Генерация проекта 1:05:20 - Включаем настройки генерации .bin файла 1:08:10 - Установка ila на вых портов axi_gpio 1:09:30 - Объявление о плате Mini-Zed для отладки проектов 1:15:17 - Запускаем synthesis проекта 1:20:20 - Про необходимые репозитария и ссылки на них от Xilinx 1:24:00 - Про публинчые ключи для криптографии образов 1:27:30 - Export Hardware, получаем xsa файл 1:30:40 - Работа с репозиториями и подготовка source папки 1:31:20 - git chckeout 1:32:10 - генерируем devicetree через xsct,через API hsi выполняя gendt.tcl 1:36:30 - описание ps7_init.tcl 1:40:00 - Открываем Vitis GUI 1:40:18 - Генерация devicetree из Vitis (мышкой) 1:52:00 - Перебираемся на машину с линухом для генерации софта 1:53:08 - Необходимые репозитории 1:53:45 - Структура папок проекта 1:58:23 - Скрипт для конфига билдрута (br-config) 2:02:05 - Запуск окна конфига 2:03:31 - Buildroot -Taget options 2:04:25 - Buildroot - Build options (все настройки по умолчанию) 2:04:40 - Buildroot - Toolchain 2:10:06 - Buildroot -System configuration 2:24:08 - Buildroot -Filesystem Images 2:25:37 - Пара слов про свои приложения (BR2_External) 2:26:42 - Сохраняем кофиг 2:27:00 - Пара слов про скрипт билда (br_build) 2:27:45 - Запуск сборки 2:29:35 - Результат сборки 2:40:33 - Конфиг u-boot и последующая сборка 2:42:23 - Как выглядит devicetree для u-boot И чем отличается 2:43:25 - Запуск интерфейса конфига u-boot 2:44:06 - На что стоит обратить внимание 2:47:27 - Убедиться то стоит отметка 2:48:03 - сохраняем конфиг и запускаем сборку (запуск автоматом, так как это прописано в скрипте выше) 2:48:38 - Если все ОК, то появится файл 2:50:25 - Ставим на плате режим загрузки по JTAG 2:53:23 - Проверяем определилась ли плата и работаем с платой через JTAG (загружаем убут) 2:24:55 - Загружаем u-boot.elf 2:26:13 - Подключаемся к УАПП платы и проверяем работу u-boot 2:57:18 - Минутка мотивации с бесконечно глубокой мыслью :) 3:03:43 - Пара слов про env 3:06:26 - Шаги для записи env в QSPI (делаем FSBL) 3:08:50 - Ковыряем исходник FSBL для запинывания программируемого тактового генератора, если он есть.(на момент старта убута клоки должны работать) 3:12:00 - Делаем BOOT.bin 3:16:28 - Заливаем BOOT.bin во флеш 3:18:17 - Проверяем 3:19:20 - Еще раз пара слов про скрипт сборки убута ub_build 3:21:40 - Подведение итога предыдущих действий 3:22:13 - Конфигурация ядра (описание скрипта сборки) 3:24:33 - Из важного в конфиге ядра 3:26:58 - Сборка и установка модулей 3:27:15 - Пересобираем rootFS так как установились некоторые драйвера 3:29:15 - Смотрим devicetree ядра 3:34:50 - Объяснения работы сишного препроцессора #include в процессе генерации devicetree 3:39:54 - Собираем все образы в один (взгляд на *.its) 4:08:40 - Про четыре возможности загрузки битстрим PL Ваши предложения и вопросы направляйте на admin@fpga-systems.ru -- Ваша компания может стать спонсором следующего стрима напишите нам на admin@fpga-systems.ru #systemverilog #uvm #fpga