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

Category Archives: Программирование

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

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

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

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

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

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

Примеры эффективного использования Eclipse CDT

В сети есть множество примеров ( в том числе на этом сайте ) как начать использовать Eclipse совместно с инструментами GNU для программирования микроконтроллеров. Что же касается эффективной работы в Eclipse , то на эту тему материала гораздо меньше. А тот материал, который можно найти на просторах интернета, в основном касается версии Eclipse для разработки […]

TICS RTOS. Основы планирования задач

В прошлой статье я описал настройку DOS-эмулятора DOSbox , привел примеры для операционной системы TICS , компилируемые под MS-DOS с помощью Borland Turbo C++ 3.1. Запуская примеры в пошаговом режиме и анализируя используемую оперативную память я пришел к выводу, что полноценная работа TICS возможна только на микроконтроллерах с объемом ОЗУ выше десяти килобайт. Большинство AVR […]

Операционная система реального времени (ОСРВ) TICS

Начну издалека. Все помнят знаменитую компьютерную игру Warcraft 2. Непонятно как, но разработчики как-то умудрились выжать из скромных аппаратных ресурсов ( у меня эта игра отлично работала на 486-ом процессоре с тактовой частотой в 33МГц ) шикарную для того времени графику. Игра стартовала из-под MS-DOS и занимала на жестком диске меньше 50 Мб дискового пространства. […]

Начинаем использовать SVN в своих проектах

Для любого программиста знакома ситуация, когда после внесения некоторых изменений в исходный код программы последняя перестает правильно работать. Выходом из такой ситуации может служить сохранение нескольких копий программы на разных этапах разработки. Такое решение нередко приводит к путанице в версиях, особенно после длительной паузы в работе над проектом. Решение проблемы предоставляют системы контроля версий , […]

Программный симулятор микроконтроллеров ARM в Eclipse

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

Пример использования CMSIS в Eclipse

Cortex Microcontroller Software Interface Standard ( CMSIS ) содержит в своем составе программный интерфейс к периферийным модулям ядра и периферии различных микроконтроллеров Cortex-M3(M0). Из обязательной части стандарт рекомендует использовать доступ к регистрам с помощью указателей на структуры в языке С ( например, доступ к регистру GPIOB_BRR осуществляется как GPIOB->BRR ). Для этого достаточно подключить к […]

Стоит ли переходить с 8 — разрядных микроконтроллеров на 32 — битные ARM?

ARM в переводе с английского языка означает рука, но в этой статье речь пойдет не о строении человеческого тела, а об архитектуре микроконтроллеров, скрывающейся за аббревиатурой ARM. Advanced RISC Machine (ARM) – название компании, которая занимается разработкой процессорных ядер, известных под общим названием ARM. Компания ARM не имеет собственного полупроводникового производства , все разработки компаний […]