разработка и программирование электронных устройств

Author Archives: Developer

Эксперименты с WiFi модулями на основе SoC ESP8266

Система на кристалле SoC (System on crystal) ESP8266 от китайского производителя Espressif предоставляет возможность простой разработки программируемых модулей с доступом к беспроводной сети WLAN. ESP8266 не имеет встроенной Flash — памяти программ, а вместо нее использует внешнюю микросхему QSPI Flash . Основные характеристики ESP8266 : RISC процессор Tensilica L106 с тактовой частотой 160 МГц Максимальный […]

Пример защищенного https – соединения с использованием mbed TLS

TLS (Transport Layer Security) – протокол защиты транспортного уровня, который обеспечивает защищенную передачу данных между узлами в сети Интернет (определение из Wikipedia). Этот криптографический протокол находиться над протоколом TCP в многоуровневой модели сетевого стека, как показано на следующем рисунке. TLS выглядит на рисунке как некоторый промежуточный слой между прикладным и транспортным уровнями. На транспортном уровне […]

Пример использования BSD Socket API в стеке LwIP

Сокеты Беркли (BSD Socket API) впервые появились как интерфейс прикладного программирования в операционной системе BSD Unix. Сокеты являются интерфейсом межпроцессного взаимодействия (IPC) в ОС Unix, они могут использоваться для передачи данных между отдельными процессами как на одном компьютере, так и на разных компьютерах через компьютерную сеть. Интерфейс BSD Socket API стал стандартом, поэтому все, что […]

Введение в Lightweight IP (LwIP) стек протоколов TCP/IP

LwIP — это стек протоколов TCP/IP с открытым исходным кодом. Первоначально LwIP был разработан Адамом Дункельсом в Шведском институте компьютерных наук, сейчас разработка ведется силами сообщества. LwIP получил очень широкое распространение во встраиваемых системах на базе микроконтроллеров благодаря низкому потреблению оперативной памяти. Именно этот TCP/IP стек используется в фреймворке ARM mbed и генераторе кода инициализации […]

ARM MBED. Как добавить поддержку своей отладочной платы.

Большинство разработчиков, интересующихся программированием микроконтроллеров, сталкивались с фреймворком arm mbed. Он предназначен для разработки встраиваемых программ для работы с “интернетом вещей” IoT(internet of things) под различные аппаратные микроконтроллерные платформы. Мое первоначальное знакомство с фреймворком началось и закончилось регистрацией на сайте и созданием учетной записи для использования онлайн-компилятора. Открыв страницу поддержки отладочных плат , я обнаружил, […]

Сборка ядра Linux для Raspberry Pi 3

Первым делом попробуем разобраться в том, зачем заново собирать ядро Linux в работающей системе. Дело в том, что ядро операционной системы Linux является монолитным, то есть состоит из одного исполняемого бинарного образа (как прошивка для микроконтроллера). Кроме того в архитектуре ядра реализована поддержка так называемых модулей ядра,- исполняемых бинарных образов, которые могут быть загружены в […]

Программирование Raspberry Pi 3 : Кросс-компиляция C/C++ программ в Eclipse под Windows

Вычислительных возможностей платы Raspberry Pi 3(далее по тексту Rpi3) более чем достаточно для разработки программ сразу в целевой системе. Однако процесс разработки можно ускорить и сделать более комфортным, если разрабатывать программное обеспечение для Rpi3 на своем персональном компьютере. В данной статье я собираюсь описать процесс настройки кросс-компиляции в Eclipse под Windows. Также будет описана настройка […]

Обзор одноплатного компьютера Raspberry Pi 3

Первопроходцем дешевых одноплатных компьютеров для широкого круга пользователей навсегда в истории вычислительной техники останется одноплатный компьютер Raspberry Pi . Цель его появления на свет была очень благородной — обучение программированию школьников и всех желающих, предоставив им компьютер по самой низкой цене. После появления на свет Raspberry Pi появилось большое количество подобных устройств. Некоторые из них […]

Beaglebone Black: Управление портами GPIO на языке C

Для одноплатного компьютера Beaglebone Black со встроенной операционной системой Linux существует множество способов управления портами ввода/вывода GPIO на различных языках программирования, но все же язык С является для Unix -подобных операционных систем самым родным языком. В прошлой статье мы рассмотрели пример управления светодиодами с помощью виртуальной файловой системы. Таким же образом можно управлять портами GPIO. […]

Обзор одноплатного компьютера Beaglebone Black.

Не так давно (в 2011 году) прогремела на весь мир реклама самого дешевого в мире компьютера (35$) Raspberry PI, который позиционировался как средство для обучения школьников и студентов. Кроме Raspberry PI существует достаточно большое количество аналогичных по возможностям одноплатных компьютеров на базе процессорных ядер ARM. Общим для всех этих устройств является наличие интерфейсов USB Host, […]