fpga-systems-magazine

ZYNQ SW: EBAZ4205: часть 4 (Vivado 2023)

Главная » Статьи » Обзоры плат » Xilinx FPGA
sea
27.12.2023 14:05
5131
7
4.5

Продолжение. Начало см. в первой части

Ссылка на PDF версию в конце статьи

SW часть проекта

Теперь переходим в Vitis через меню Tools -> Launch Vitis IDE

Создаем новый проект платформы. File -> New -> Platform Project...

Задаем имя платформы.

Выбираем через browse экспортированный ранее проект

Больше ничего менять не нужно, нажимаем Finish

Теперь нужно немного скорректировать конфигурацию, чтобы выводить stdin/stdout на наш uart1. И проверяем, что все настроено на uart1 в Settings.

Запускаем build проекта.

Платформа готова. Теперь выбираем вкладку Welcome -> Examples

и из списка выбираем Hello World проект

Далее

Далее

Далее

Finish

В дереве проекта видим приложение

Можно посмотреть исходный код

Скомпилировать

Готово

 

Запускаем. Но перед запуском, нужно убрать флешку из разъема SD если она там была, иначе платформа загрузится с нее и не будет доступна для прошивки через JTAG.

Подключаем программатор к плате. Подключаем переходник USB-rs232 к выходу UART на плате.

Подаем питание.

Я подал питание на другой разъем, который рядом с sd flash. Там все пины подписаны на плате. Питание подал прямо с pl2303 с линии +5В. Обязательно подключить gnd. А линии rx\tx нужно соединять RX<->TX и TX<->RX (если вдруг кому-то это не очевидно).

Настраиваем программатор. Программируем конфигурацию bit из экспортированной папки

D:\FPGA_Projects\hello_world\hello_world_ebaz4205_platform\export\hello_world_ebaz4205_platform\hw\design_1_wrapper.bit

Запускаем прошивку.

Для работы с терминалом я не нашел встроенного инструмента, поэтому запустил Putty на COM порт на скорость 115200.

На приложении (Application) запускаем - RUN. При этом прошивка загрузится через программатор в плату.

Переключаемся на окно терминала, и в терминале видим сообщения от ядра! Все получилось.

Итоги

Пройдя инструкцию по шагам, мы произвели минимальную настройку системы ZYNQ на базе платы EBAZ4205. Для этого мы настроили ее в соответствии с ее аппаратными особенностями: выбрали последовательный порт UART который выведен на разъем, настроили работу установленной на плате DDR памяти. Экспортировали полученный проект из Vivado. Далее в Vitis мы создали проект платформы на базе нашей платы и создали проект приложения на базе темплейта Hello World. В результате должны были увидеть текстовые сообщения, выведенные через последовательный порт UART, программой, работающей в ядре. И нам это удалось! 

Работа в новой версии Vitis 2023 немного отличается от версии 2020. Не смог с ходу найти Vitis Serial консоль. Возможно, прошивать конфигурацию не требуется перед запуском приложения в режиме отладки. Но ответы на эти и другие вопросы предлагается найти самостоятельно ;)

Ссылки

https://hackaday.com/2020/11/18/hacking-the-fpga-control-board-from-a-bitcoin-miner/

https://github.com/xjtuecho/EBAZ4205

https://github.com/Elrori/EBAZ4205

https://www.jianshu.com/p/b83c663ecaaa

https://hhuysqt.github.io/zynq1/

https://www.youtube.com/watch?v=b6g5tNZZnVc

https://github.com/blkf2016/ebaz4205 - linux образ для SD флешки для запуска

 

Разные примеры использования и доработки платы

https://www.programmersought.com/article/63123379082/  EBAZ4205 ZYNQ development board-the first step in getting started

https://www.programmersought.com/article/43024210515/  helloworld of EBAZ4205 of zynq7010

https://www.programmersought.com/article/63646026059/  EBAZ4205 mine board ZYNQ7010 uses JTAG to burn program to NAND and run - переключатель

https://www.programmersought.com/article/78153940676/ Mining board EBAZ4205-ZYNQ7010 linux development notes 1---create vivado bare metal project and SDK

https://www.programmersought.com/article/33604391182/ Mining machine board EBAZ4205-ZYNQ7010 linux development notes 3--I2C driver framework explained

https://www.programmersought.com/article/39142405511/ zynq7010 transformation of EBAZ4205 entry - как добавить 50 МГц генератор в PL

https://www.programmersought.com/article/22063460399/ Run AXI_DMA interrupt loopback test on EBAZ4205 zynq7010

https://www.programmersought.com/article/91104417164/ EBAZ4205 key interrupt

https://www.programmersought.com/article/65574959208/ EBAZ4205 mining board petalinux development LINUX project

 

https://youtu.be/Mb-cStd4Tqs видео, на базе которого был создан туториал в части 1 и 2.

https://marsee101.blog.fc2.com/blog-entry-6089.html Статья, которая использовалась для того, чтобы понять, как сделать HelloWorld на Vitis версии 2023

5131
7
4.5

Всего комментариев : 7
avatar
1 ra3ydi • 19:42, 30.12.2023
Привет-мир запустили, хорошо. Теперь покажите , как к EBAZ подключить клавиатуру. Или USB PHY . Так , чтобы работало, а не в теории.
avatar
2 sea • 00:40, 31.12.2023
Коллега, я сам новичек. Вот вспоминаю, как там чего.
DE UA3MQJ
avatar
3 ra3ydi • 02:15, 31.12.2023
UA3MQJ DE RA3YDI
Приветствую, Алексей! Я последние полгода ковыряюсь с подобной платой, поставил целью превратить её в некотором смысле в аналог Распберри Пи,  то есть , чтобы была установлена не очень устаревшая операционка, то есть чтобы имелась возможность обновления - Дебиан 11 или Убунту 20, а также , чтобы можно было подключить монитор и клавиатуру. Заманчиво , как вариант, SDR радио или хотя бы панораму изготовить на этой плате.  Или синтезатор (музыкальный инструмент) , запустить голосового ассистента, Алису или Марусю, Веб-радио с новостной лентой... Дело в том, что "бюджетные" "малинки" с "апельсинками" стали совсем не бюджетными, а эту плату можно приобрести в 10 раз дешевле Распберри Пи 3. 
В итоге полугодичных трудов, на этих "КПУ от майнера с помойки" запущены Убунту и Дебиан, на монитор выводится системная консоль, успешно  билдятся Убут, Девайстри и Кернел, можно программировать на Питоне и других языках, запущен личный почтовый сервер, МКуТТ брокер. Только клавиатуру и мышь не удаётся подключить. Или USB. И, похоже , людей, которые это сделали, просто нет нашем отечестве.
avatar
4 Strijar • 12:52, 29.01.2024
Так проще всего собрать систему на buildroot и тогда с USB не будет проблем. У меня есть такие платы, можно заняться, но сейчас поднимаю LCD на другой плате с Zynq. 73 de R1CBU (:
avatar
5 ra3ydi • 19:22, 23.02.2024
Приветствую, Олег. Я тоже осваиваю не Ебаз, а другую плату на ZYNQ 7010. S9 называется. Предполагаю, что ваша "другая плата" с ZYNQ 7007S и там есть 6 контактов и надпись "LCD". Если так, то могу поделиться своими наработками.  Например создал примерную схему могу подогнать.
А с Билдрутом я пока не подружился. Жду, когда кто-нибудь подробно объяснит, что к чему :-)
 73 DE RA3YDI
avatar
6 Strijar • 15:46, 25.02.2024
Добрый день! Не, у меня именно EBA74205 на Zynq 7010. Схемы от них есть, в общем то поэтому и брал. А вообще всяких Zynq у меня уже гора. С buildroot работаю много - если есть вопросы, обращайтесь. 73!
avatar
7 ra3ydi • 09:27, 13.08.2024
Всё, что намечал, сделал. Подключение к Zynq 7010:
HDMI монитора, вывод на него CLI , Desktop, картинок и видео
Разнообразных LCD через I2C SPI parallel 4 (8) bit , включая экзотический огромный 1602 от МЭЛТ
TFT 7735 9341 (SPI) 9325 8bit, выводится загрузочный лог, tty1, картинки и видео
Аудио вход - работает I2S микрофон INMP441
Аудиовыход I2S + аналоговый стерео, воспроизводятся МР3 и остальные звуковые форматы, работает веб-радио, МИДИ синтезатор ZynAddSubFx с потрясающим банком Mysterious-выдаёт космические звуки. Синтез речи (голосовой ассистент)
GPIO - 16 шт. , видны в системе, как Р1 Р2...
LED - 4шт, отображают загруженность ядер процессора, активность (запись-чтение) SD, активность TTY.
кнопка выполняет функцию Power Down, завершаются все процессы, сохраняются данные
Создаю документацию-даташит, с распиновками и примерами
avatar

FPGA-Systems – это живое, постоянно обновляемое и растущее сообщество.
Хочешь быть в курсе всех новостей и актуальных событий в области?
Подпишись на рассылку

ePN