Часть 1. Настройка окружения для работы с libopencm3Часть 2. Работа с GPIO, SPI, отладка проекта при помощи GDBЧасть 3. Работа с USART, прерываниями, I2C и таймерамиДанная статья является заключительной в цикле, посвященном быстрому старту разработки под STM32 при помощи libopencm3. Без лишних слов приступим к рассмотрению оставшейся периферии, наиболее часто используемой в микроконтроллерах. Читать далее
В этом тексте я показал как конечный автомат может работать ядром для драйвера аппаратного I2C трансивера. Меня удивляет, что в оригинальном коде от вендоров микроконтроллеров программисты прошли мимо конечных автоматов при написании I2C кода внутри своих официальных uHAL. Непорядок... В связи с этим мне пришлось разрабатывать собственный полноценный драйвер I2C буквально на физических регистрах I2C трансивера. Читать далее
В первой части мы подготовили среду для легковесной разработки под STM32. Пора приступить к экспериментам. Читать далее
Хабр, привет! Данная статья посвящена разработке I2C (Inter-Integrated Circuit) модуля ядра Linux. Далее описан процесс реализация базовой структуры I2C драйвера, в которую можно легко добавить реализацию необходимого функционала. Опишем входные данные: I2C блок для нового процессора «зашитый»…