Embedded FPGA - поднимаем Linux на Zynq-7000

Поділитися
Вставка
  • Опубліковано 20 гру 2024

КОМЕНТАРІ • 28

  • @FPGASystems
    @FPGASystems  Рік тому +1

    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

  • @arzamas1988
    @arzamas1988 3 роки тому +4

    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

  • @vladimirkacher557
    @vladimirkacher557 3 роки тому +5

    Вопрос. По времени это 1:52. Что значит делаем софт на линуксовой машине? А до этого вы ведь собирали проект под Win10. Не понятный переход. Какая связь между всем описанным материалом и "линуксовой машиной", и что именно надо делать на "линуксовой машине". Я не придираюсь, мне просто не понятно. Хотел научиться, а тут получается целого куска нет...
    И вы говорите:"Я возьму уже готовый проект". А что брать остальным, если такого проекта нет? И опять же вопрос, а чем же мы тогда почти два часа занимались? Разве мы не проект делали на Vivado?

  • @vladimirkacher557
    @vladimirkacher557 3 роки тому +6

    Отработал Вашу инструкцию уже до 2:29:45, даже на двух различных компьютерах, под Debian и Ubuntu. Toolchain не собирается ни там, ни там. Попытаюсь дальше отработать, но меня терзают смутные сомнения, что и дальше не заработает. Да и на видео у Вас как-то странно вышло. Вроде бы что-то делаете, а в результате используете домашние заготовки. Это не упрек, просто жаль и Вашего времени и моего. По этой инструкции нельзя к сожалению научиться чему-то реальному...

    • @FPGASystems
      @FPGASystems  3 роки тому

      вопросы по стриму лучше задавать в телеграм группе, в которой присутствует ведущий стрима t.me/fpgasystems_embd

    • @alexalexxx-j2w
      @alexalexxx-j2w Рік тому

      в итоге получилось разобраться?

    • @vladimirkacher557
      @vladimirkacher557 Рік тому +1

      По этому видео нельзя разобраться. Я и с автором потом персонально пробовал, у него удаленно тоже не вышло установить Линукс на плату ArtyZ20. Но, есть хорошая статья для этой китайской платы, что на видео. Я по ней сделал (Zynq 7000. Собираем Linux и RootFS при помощи Buildroot).

  • @arzamas1988
    @arzamas1988 3 роки тому +1

    Добрый день! Не получается сгенерировать *.xsa методом как на 1:27:53. Использую Vivado 2017.1 Есть ли особенность работы в моей версии среды разработки?

    • @FPGASystems
      @FPGASystems  3 роки тому

      да, в 2017.1 это делается несколько по другому, устанавливай версию не ниже 2019,2

    • @arzamas1988
      @arzamas1988 3 роки тому

      @@FPGASystems спасибо за ответ. К сожалению, лицензия только на 17 версию.

    • @FPGASystems
      @FPGASystems  3 роки тому

      @@arzamas1988 Посмотри пжлст UG973 таблица 1 стр 10 www.xilinx.com/support/documentation/sw_manuals/xilinx2020_2/ug973-vivado-release-notes-install-license.pdf, может твой кристалл поддерживается бесплатной версией Vitis/Vivado

    • @arzamas1988
      @arzamas1988 3 роки тому

      @@FPGASystemsДа, есть. Спасибо за информацию. Я правильно понимаю, что по умолчанию скачивается Free WebPack edition без ограничения по времени работы?

    • @FPGASystems
      @FPGASystems  3 роки тому

      @@arzamas1988 Да, просто качай Vitis, Vivado внутри Vitis уже есть, и работай спокойно. Вопросы по эмбедет части лучше задавать в нашем телеграм чате по Embedded FPGA t.me/fpgasystems_embd
      Ведущий стрима есть в этом чате

  • @rogodenis
    @rogodenis Рік тому

    А какой тулчейн качать для zynqmp?

  • @vladimirkacher557
    @vladimirkacher557 3 роки тому

    Не запускается xsct на 1:33. Терминал пишет, что нет такой команды. Подскажите, что делать.

    • @vladimirkacher557
      @vladimirkacher557 3 роки тому +1

      Ответ найден. Прогамма XSCT находится у меня совсем в другом месте, да и запускается из совершенно другого терминала автоматически. Соответственно файл gendt.tcl следует переписать относительно собственного расположения каталогов и репозиториев. Желательно акцентировать внимание слушателей на этом, поскольку это сильно усложняет отработку материала.

    • @arzamas1988
      @arzamas1988 3 роки тому

      @@vladimirkacher557 мне пришлось батник из папки bin запустить уже в новом терминале сделать cd на каталог с проектом и запустить скрипт. Хотя варинат мышкой мне понравился больше.

    • @arzamas1988
      @arzamas1988 3 роки тому

      у вас получилось полностью запинать проект?

    • @vladimirkacher557
      @vladimirkacher557 3 роки тому

      @@arzamas1988 Да, но не так как здесь рассказано. На этом видео все очень фрагментарно и многое упущено.

    • @arzamas1988
      @arzamas1988 3 роки тому +1

      @@vladimirkacher557 можете подсказать другие источники, которые вам помогли?

  • @AlexKruk-k5b
    @AlexKruk-k5b Рік тому

    он же скопировал чужой ролик и голос ужал .

  • @ssergey79
    @ssergey79 Рік тому +1

    Здравствуйте. Могли бы вы помочь переделать прошивку для асика Bitmain E9pro? нужно лишь в системе линукса в прошивке добавить пользователю miner вызов команды sudo root, так как данная команда закрыта для этого пользователя. прошивка стоит на базе Linux version 4.19.0-xilinx-v2019.1-g17c8c30f072a (jenkins@nomd-nomd-fwc-bj) загрузчик собран на U-boot zynq7020

    • @kvakaziabr
      @kvakaziabr 7 місяців тому

      Здравствуйте , получилось что то?