
Zynq 7000. Переносим I²C Master Controller. Linux + buildroot + kernel driver
andreyzaostrovnykh 10 минут назад Zynq 7000. Переносим I²C Master Controller. Linux + buildroot + kernel driver Средний 131 мин 428 Блог компании Beget Электроника для начинающих Процессоры FPGA * DIY или Сделай сам...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Вот важная новость с фронта ИИ: andreyzaostrovnykh 10 минут назад Zynq 7000. Переносим I²C Master Controller. Linux + buildroot + kernel driver Средний 131 мин 428 Блог компании Beget Электроника для начинающих Процессоры FPGA * DIY или Сделай сам Кейс Теперь пора переносить проект под управление ОС Linux.
В этой статье мы подробно вопросы разберем как пройти весь путь от FSBL до вывода системной консоли на OLED SSD1306. Для этого нам потребуется собрать все необходимые загрузочные артефакты: FSBL c отладкой для информативной загрузки, DTS, out-of-tree драйвер для I²C Master Controller, ядро и rootfs, соберем uImage, потом слепим BOOT. BIN и загрузим его на SD-карту.
Технические детали
И я планирую сопроводить это все глубокой детализацией о каждом проделываемом действии. В общем, всем интересующимся добро пожаловать под кат! Перед началом повествования, хотелось бы заранее оговориться, что основная цель, которую я преследую при написании этой статьи - рассказать о своем опыте, с чего можно начать, при изучении отладочных плат на базе Zynq.
Я не являюсь профессиональным разработчиком под ПЛИС и SoC Zynq, не являюсь системным программистом под Linux и могу допускать какие-либо ошибки в использовании терминологии, использовать не самые оптимальные пути решения задач, etc. Но отмечу, что любая конструктивная и аргументированная критика только приветствуется. Необходимое для началаПеред началом убедитесь, что у вас есть все необходимое для работы, то есть то над чем мы трудились в прошлой статье:Проект vivado/proj/zynq_mini_oled.
xpr, в котором все настроено для работы PS7 с DDR, UART1, SD0, правильным тактированием FCLK, и AXI GP0 подключенным к нашему AXI SmartConnect;i2c_master_axi добавлен в Block Design по адресу 0x43C00000, прописаны все XDC, произведен синтез, implementation, сгенерирован bitstream;Сгенерирован XSA-файл /vivado/zynq_mini_oled. xsa с галочкой Include bitstream;По железу требования получаются все те же, на всякий случай:Плата ZYNQ MINI Rev B, питание Type-C;MicroSD ≥ 2 ГБ;OLED SSD1306 128×64, I²C, адрес 0x3C (хотя иногда это 0x3D);OLED подключен на гребенку контактов CAM1: SDA к T20, SCL к P20, питание 3. 3 V, GND;USB-клавиатура через type-C/type-A переходник в разъем USB host платы (необходимо будет для ввода в консоли);BOOT-перемычки в положении "загрузка с SD";По программному обеспечению требования такие:Vitis 2025.
2;Клон репозитория I2C_Master_Controller, может пригодиться для поиска ошибок в артефактах;Примерно ~30 ГБ под сборку Buildroot;Пакеты на хосте. Все необходимое установить можно выполнив команду: sudo apt install -y build-essential bc bison flex libssl-dev libgnutls28-dev libncurses-dev pkg-config python3 rsync wget cpio unzip device-tree-compiler gawk u-boot-tools git mtools dosfstools picocombootgen, он входит в Vitis, но понадобится запуск source ...
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.




