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

Author Archives: Developer

Пример защищенного 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, […]

Сборка инструментария ARM Toolchain (arm-none-eabi) в Fedora Linux

В дистрибутиве Fedora Electronic Lab отсутствует инструментарий для кросс-компиляции standalone программ для платформы ARM. Есть возможность установки этого инструментария в качестве дополнительного пакета с помощью yum install. Но установленный в результате инструментарий будет устаревшим. В этой статье я расскажу как самостоятельно собрать инструментарий для программирования микроконтроллеров ARM . Это гарантирует вам наличие самых свежих версий […]