Программирование и отладка ESP32 в Eclipse

В этой статье я опишу настройку IDE Eclipse CDT для программирования и отладки программ под ESP32 в Eclipse. До этого я уже описал процесс настройки инструментария для ESP32 в статье «Программирование ESP32 на языке C в SDK от Espressif», а также подключение JTAG адаптера и настройку отладки в публикации «Отладка программ для ESP32 через JTAG... » read more

Отладка программ для ESP32 через JTAG адаптер на Raspberry Pi 3

При написании встраиваемых в устройство программ часто возникает необходимость внутрисхемной отладки приложения. Для ESP32 ситуация с отладкой программы усложняется наличием двух процессорных ядер и операционной системы реального времени FreeRTOS в составе ESP-IDF. Для целей отладки приложения в ESP32 используется схема отладки GDB – клиент (xtensa-esp32-elf-gdb ) -> GDB – сервер (openocd-esp32) –> JTAG — интерфейс.... » read more

Программирование ESP32 на языке C в SDK от Espressif

В прошлой публикации мы рассмотрели различные способы программирования модулей на основе SoC ESP8266. В этой статье речь пойдет о следующей модели SoC для интернета вещей от Espressif, которая помимо интерфейса WiFi содержит также Bluetooth. Но на этом все различия не заканчиваются , вот список основных характеристик серии ESP32 : 32-битный одно/двухъядерный процессор Xtensa LX6 446... » read more

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

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

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

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

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

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

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

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

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

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

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

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

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

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