Статьи

Rust embedded. Stopwatch.

Rust embedded. Stopwatch.Rust embedded. Spi and embedded-graphics (in Russian).Rust embedded. Gpio. (in Russian)Rust embedded. Sequel. (in Russian)Rust embedded. (in Russian)Hello everyone. This is my new article about Rust for embedded systems. I decided to start writing articles in English to attract a large audience (I apologize to the Russian audience). This article is about creating a stopwatch using Rust and the embedded-graphics library. Today ...
Далее

Rust embedded. Spi и embedded-graphics.

Друзья, привет! Продолжаем тему Rust для embedded. Это уже 4 статья по теме rust embedded, для ознакомления с предыдущими статьями, вот список: Rust embedded. Stopwatch. Rust embedded. Spi и embedded-graphics. Rust embedded. Gpio. Rust embedded. Сиквел. Rust embedded. Сегодня у нас в статье GPIO, SPI, графический экран SSD1306 и крейт "embedded-graphics". Задача примера по нажатию на пользовательскую кнопку на отладочной плате вращать изображение на ...
Далее

Rust embedded. Gpio.

Rust embedded. Stopwatch. Rust embedded. Spi и embedded-graphics. Rust embedded. Gpio. Rust embedded. Сиквел. Rust embedded. Сегодня речь про gpio и rust. Gpio основной интерфейс для старта.  Сегодня мы поморгаем светодиодами на отладочной плате stm32f429i-disco и сделаем это двумя способами. Интерфейс ввода/вывода общего назначения (англ. general-purpose input/output, GPIO) — интерфейс для связи между компонентами компьютерной системы, к примеру микропроцессором и различными периферийными устройствами. Контакты ...
Далее

Rust embedded. Сиквел.

Rust embedded. Stopwatch. Rust embedded. Spi и embedded-graphics. Rust embedded. Gpio. Rust embedded. Сиквел. Rust embedded. Изучение на примерах очень важно для разработчика, с помощью примеров разработчик может прицениться к новому инструменту и понять, зачем ему этот инструмент. Какие преимущества даёт этот инструмент, почему нужно его использовать и т.д. Сегодня в статье у нас будет два примера для двух отладочных плат, один пример полностью ...
Далее

Rust embedded.

Rust embedded. Stopwatch. Rust embedded. Spi и embedded-graphics. Rust embedded. Gpio. Rust embedded. Сиквел. Rust embedded. Rust - это язык системного программирования, предназначенный для обеспечения безопасности, скорости и параллелизма. Rust имеет множество функций времени и безопасности во время компиляции, чтобы избежать сбоев данных и общих ошибок, все с минимальными издержками до нуля. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и ...
Далее

GCC для FPGA

После прочтения статьи Уничтожить монополию Америки в EDA. Иннополис делает первый шаг, мне захотелось погрузиться больше в EDA тематику и изучить, что есть в opensource на данный момент для этого. Начнем с SymbiFlow. SymbiFlow - это инструмент для FPGA с открытым исходным кодом для стремительных инноваций. SymbiFlow предназначен для обеспечения новых инноваций, а также для оптимизации и автоматизации рабочих процессов разработки под FPGA, чтобы ...
Далее

Стратегия и этапы разработки LLVM бекэнд компилятора для целевой архитектуры ShuraCore.

В данной статье рассмотрена стратегия и этапы проектирования бэкенд части компилятора с использованием инфраструктуры LLVM для целевой архитектуры ShuraCore. В статье показаны все этапы прохождения LLVM IR кода в SSA представлении к моменту получения исполняемого файла для целевой архитектуры. This article discusses a strategy and design stages of a backend part of a compiler using LLVM infrastructure for the ShuraCore target architecture. The article ...
Далее

HLS часть 2. BRAM.

Сегодня пример будет про BRAM и HLS, про BRAM было рассказано в предыдущих статьях, сегодня будем расширять знания по этой теме. HLS. Часть 0. HLS часть 1 . AXIS. HLS часть 2. BRAM. Vivado HLS (High Level Synthesis) — САПР Xilinx, предназначенная для создания цифровых устройств с применением языков высокого уровня C/C++. Block Memory Generator — используется как элемент оперативного и постоянного хранения информации, ...
Далее

HLS часть 1 . AXIS.

Vivado HLS (High Level Synthesis) - САПР Xilinx, предназначенная для создания цифровых устройств с применением языков высокого уровня C/C++. Немного про HLS читайте в предыдущей статье. HLS. Часть 0. HLS часть 1 . AXIS. HLS часть 2. BRAM. Протокол AXI-Stream используется, как стандартный интерфейс для соединения IP блоков, которые обмениваются данными. Интерфейс может использоваться для соединения одного главного IP, который генерирует данные, с другим ...
Далее

HLS. Часть 0.

HLS. Часть 0. HLS часть 1 . AXIS. HLS часть 2. BRAM. HLS (High Level Synthesis) – применяется для создания цифровых устройств с применением языков высокого уровня. Основной целью продуктов HLS является упрощение процесса проектирования FPGA для разработчика, знакомого с программированием на языках высокого уровня, таких как C++, Rust и др. Практическое применение FPGA часто вызывает трудности для дотнетчиков, джавистов и др., которые сталкиваются ...
Далее

Zynq-7000 SoC — Xilinx. Z-turn Lite. Bare metal. Часть 5.

Сегодня пример посветим BRAM, немного про BRAM было рассказано в предыдущей статье, сегодня будем расширять знания по этой теме. Block Memory Generator - используется как элемент оперативного и постоянного хранения информации, данный элемент реализуется на основе блочной памяти FPGA. Запоминающее устройство, генерируемое с помощью настраиваемого модуля Block Memory Generator. Во всех элементах памяти, создаваемых с помощью генератора Block Memory Generator, для каждого порта запоминающего ...
Далее

Zynq-7000 SoC — Xilinx. Z-turn Lite. Bare metal. Часть 4. MicroBlaze.

MicroBlaze — soft-процессорное ядро, разработанное компанией Xilinx для использования в FPGA. MicroBlaze имеет универсальные средства соединения с периферией, обеспечивающее возможность применять его в разнообразных встраиваемых решениях. Для доступа к внутренней памяти FPGA (BRAM), MicroBlaze использует специальную шину LMB (DLMB, ILMB), что снижает нагрузку на другие шины. Подключение soft-процессора возможно средствами специального соединения, подобного FIFO — FSL (Fast Simplex Link). Интерфейс с soft-процессором может помочь ускорить разработку алгоритмов с большим количеством ...
Далее