[Home] [< Prev: Введение] [Next: Минимальное приложение C++ для ARM (Cortex-M3) >]

Начинаем работу с микроконтроллером

Разработка программ для микроконтроллеров потребует некоторого минимального набора программного и аппаратного обеспечения.

МикроконтроллерДля работы потребуется печатная плата разрабатываемого устройства с установленным на нём микроконтроллером. Как минимум, для микроконтроллера должно быть обеспечено питающее напряжение.Можно использовать какую-нибудь оценочную плату, которая объединяет оба компонента.
Отладочный адаптерПрограммирования без отладки не бывает. Адаптер позволяет подключить компьютер к отлаживаемому устройству.
Программное обеспечениеПакет программ для разработки: текстовый редактор для исходного кода, компилятор, ассемблер, линковщик, отладчик, драйвер отладочного адаптера и др.


Подопытный микроконтроллер

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

Если же задача - просто поэкспериментировать, то хорошим решением может быть выбор какой-нибудь оценочной платы. На ней мы получаем по выгодной цене сам микроконтроллер, минимальную обвязку (питание, кварцевые резонаторы для тактирования микроконтроллера и часов реального времени), какие-то устройства индикации и ввода-вывода (в зависимости от платы: от нескольких светодиодов и кнопок до графического дисплея с сенсорным экраном), доступ к портам ввода-вывода микроконтроллера (в виде разъёмов или участка для макетирования на плате). И самое главное - тут же будет размещён отладочный адаптер, необходимый для прошивки и отладки нашего микроконтроллера. Опять же, в зависимости от возможностей конкретной платы, бывает предусмотрена работа с внешним отладчиком или наоборот, использование отладчика на оценочной плате для работы с другими микроконтроллерами. После завершения разработки, оценочную плату можно разместить в готовом устройстве.

Начать эксперименты можно даже вообще без микроконтроллера, если воспользоваться эмуляцией, например с помощью эмулятора QEMU для ARM. В эмуляции привлекает также и то, что не требуется каждый раз прошивать flash-память реального устройства, когда обнаружена ошибка в коде. Ресурс flash-памяти хотя и достаточно велик, но конечен и вполне исчерпаем, если разработчик проявит достаточно усердия. Однако, пока что качество эмуляции настолько, как бы сказать помягче, невысокое... Сейчас это скорее игрушка, чем серьёзный инструмент. Так что надо подождать развития проекта или всё же разориться на оценочную плату. Что касается ресурса flash в отношении количества циклов записи, то следует иметь в виду, что ARM-архитектура позволяет запуск из RAM! Конечно, объём RAM невелик, кроме того, при запуске из RAM падает производительность (для Cortex-M3 и выше), но всё же отладка в RAM удобна и может использоваться как для небольших учебных проектов, так и для вполне серьёзных (например, если отлаживать код большого проекта по частям), особенно на начальном этапе, когда ошибок бывает довольно много.

Отладочный адаптер (аппаратный отладчик, адаптер аппаратной отладки)

Отладка микроконтроллера осуществляется через интерфейс JTAG или SW (Serial-Wire). Для подключения компьютера к отлаживаемому устройству требуется адаптер отладки, которых выпускается великое множество. При выборе следует учитывать наличие необходимого интерфейса для подключения к микроконтроллеру (JTAG, SW); к компьютеру (USB, Ethernet, LPT). Адаптер должен поддерживать уровень сигналов отлаживаемого микроконтроллера (определяется напряжением питания микроконтроллера: обычно логическому нулю соответствует напряжение, не превышающее величины порядка 1/3 от напряжения питания; единице - напряжение не ниже величины порядка 2/3 от напряжения питания; данные по уровням и допустимому диапазону питающих напряжений микроконтроллера следует уточнять в спецификации на данный микроконтроллер ("datasheet")).

Если ограничиться работой с эмулятором, то отладочный адаптер не потребуется. В случае, если используется оценочная плата, то отладочный адаптер будет уже встроен в эту плату.

Можно обойтись без приобретения адаптера и в том случае, если требуется только прошить готовую программу - обычно в микроконтроллерах предусмотрена прошивка через UASRT (всё равно потребуется преобразование уровней сигналов), USB (в зависимости от конкретного MCU), возможно и через другие интерфейсы.

Отладка микроконтроллера

Программное обеспечение

author: hamper; date: 2015-12-21
  @Mail.ru