Средства разработки

Сократите время выхода на рынок с помощью средств разработки Renesas

№ 7’2013
PDF версия
«Производительность микроконтроллера для нас не слишком важна» — такой мотив часто приходится слышать сегодня, когда во многих конструкциях возможности процессора и функциональность его периферийных устройств рассматриваются как второстепенные факторы. Для некоторых областей применения, например для блоков управления электроприводами и графических дисплеев, вычислительная мощность может иметь первостепенное значение, но во многих других случаях с задачами управления и обработки справится любой из полудюжины микроконтроллеров от различных поставщиков. В такой ситуации выбор микроконтроллера зачастую определяется другими соображениями, и одно из важнейших среди них — это средства разработки.

Что значит «хорошие средства разработки»?

При проектировании изделия с микроконтроллером желательно, чтобы средства разработки для него обладали следующими характеристиками:

  • Простота в освоении для начинающих.
  • Широкие функциональные возможности.
  • Надежность.
  • Низкая стоимость.

Как ведущий мировой производитель микроконтроллеров, компания Renesas прикладывает все усилия, чтобы оправдать и превзойти ожидания проектировщиков в отношении средств разработки для своих главных семейств микроконтроллеров — RL78 и RX. Более того, разработаны средства, позволяющие разработчикам переходить с одного из этих семейств на другое, а также с микроконтроллеров других производителей на любое из этих семейств с минимальными усилиями, а порой и с нулевыми дополнительными затратами.

 

Начало работы

Начиная работу с новым микроконтроллером, проектировщик обычно выбирает и устанавливает среду разработки для операционной системы Windows, в состав которой входят диспетчер проектов, редактор кода, эмулятор, отладчик и другие средства. Этот программный комплекс называется в обиходе интегрированной средой разработки (Integrated Development Environment, IDE). Затем обычно требуется набор инструментального программного обеспечения, состоящий из ассемблера, компилятора языка C, компоновщика и других средств, которые могут (но не всегда) входить в состав интегрированной среды разработки. Наконец, целесообразно иметь демонстрационную плату с выбранным микроконтроллером и рядом обязательных периферийных цепей, а также, возможно, интегрированным интерфейсом внутрисхемной отладки.

Первая задача, которую обыкновенно приходится решать при освоении нового микроконтроллера, — это написать простой код, инициализирующий микропроцессор и, быть может, выполняющий какие-то тестовые операции с использованием порта ввода/вывода общего назначения (GPIO). Затем нужно произвести сборку (компиляцию и т. д.), загрузить код в микропроцессор через интерфейс отладчика и запустить его на демонстрационном оборудовании. Заставив мигать светодиод под управлением нового микропроцессора, вы обретаете некоторую уверенность в том, что проект не застопорится из-за проблем с установкой базовых программных средств или неполной их комплектации.

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

 

Выбор интегрированной среды разработки и компилятора

Для микроконтроллеров RL78 и RX существует несколько интегрированных сред разработки и компиляторов, выбор среди которых определяется вашими предпочтениями и бюджетом. Для семейства RX компания Renesas разработала среду High-performance Embedded Workbench (HEW), в которой интегрированы менеджер проектов, редактор и средства поддержки сборки и отладки. Со средой HEW можно установить любой из компиляторов языка C, предлагаемых в данный момент для семейства RX, а все реализованные на кристалле микроконтроллера RX отладочные функции непосредственно доступны из любого средства аппаратной эмуляции.

Компания IAR Systems с давних пор известна как поставщик высококачественных программных средств разработки, и ее популярная интегрированная среда разработки Embedded Workbench предлагается для обоих семейств микроконтроллеров — RL78 и RX. Эта среда поставляется с интегрированным высокооптимизированным компилятором C/C++ и рядом полезных отладочных программ. Все средства эмуляции Renesas для RL78 и RX поддерживаются в среде IAR Embedded Workbench.

Недавно компания Renesas выпустила еще одну интегрированную среду, которая представляет собой бесплатную альтернативу для разработки на базе семейств микропроцессоров RL78 и RX. Эта среда под названием e2studio, в основе которой лежит популярная платформа с открытым кодом Eclipse, включает в себя полный набор функций генерации проектов, поддержку отладки и сборки для RL78 и RX, а также всю стандартную функциональность Eclipse. В совокупности с инструментальным программным обеспечением GNU Compiler Collection (GCC), предлагаемым бесплатно компанией KPIT Cummins, партнером по ассоциации Renesas Alliance, этот комплекс образует полностью бесплатную полнофункциональную среду разработки ПО для флагманских семейств микропроцессоров Renesas.

 

Автоматическая генерация кода

Компания Renesas пошла несколько дальше в том, что касается примеров кода, и разработала программы автоматической генерации кода на платформе PC для семейств микропроцессоров RL78 и RX. Для семейства RL78 предназначена программа Applilet, которая позволяет полностью сгенерировать проект для IAR Embedded Workbench или e2studio, в том числе исходный код для инициализации процессора, цепи тактового генератора, ввода/вывода общего назначения и другой необходимой периферии. Конфигурирование выполняется через простой графический интерфейс, в котором можно задать источники тактового сигнала и контакты ввода/вывода, а также настроить требуемым образом таймеры, последовательные порты и другие элементы.

Например, несколькими щелчками мыши можно настроить АЦП RL78 так, чтобы он непрерывно считывал напряжение на конкретном входном контакте, используя заданные тактовую частоту и частоту преобразования, и генерировал прерывание по завершении каждого преобразования. Сгенерировав проект и открыв его в интегрированной среде разработки, программисту остается только вызвать готовую функцию запуска АЦП, и сразу же начнется преобразование аналогового сигнала. Процедура обработки прерывания от АЦП также генерируется программой Applilet. В этой процедуре можно прочесть результат преобразования и предоставить его разрабатываемому приложению.

Отличаясь необычайной гибкостью, Applilet позволяет программисту после этого изменить конфигурацию устройства и периферии через графический интерфейс, перегенерировать исходный код, а затем в среде разработки автоматически импортировать сделанные изменения в проект, не затрагивая написанный вручную код. Благодаря этому можно разрабатывать сложные приложения с использованием всех имеющихся в микроконтроллерах RL78 высокоразвитых периферийных устройств и функций обработки прерываний в реальном времени, при этом редко обращаясь к руководству по аппаратной части устройства.

Для семейства RX аналогичные задачи выполняет программа Peripheral Driver Generator (PDG), позволяющая инициализировать системно-интеграционные элементы и периферийные устройства в графической среде. PDG генерирует код, совместимый с библиотекой периферийных драйверов Renesas Peripheral Driver Library (RPDL) для RX, которая спроектирована так, чтобы иметь знакомый вид для пользователей формата ARM Cortex Microcontroller Standard Interface Software (CMSIS). В настоящее время PDG поддерживает только компилятор Renesas RX и среду HEW, но в разработке находится новое, общее средство генерации кода для RL78 и RX с поддержкой среды e2studio. А пока что Applilet и PDG доступны для бесплатной загрузки с веб-сайта Renesas.

 

Стартовые комплекты Renesas Starter Kit

Компания Renesas облегчила пользователям первые шаги в работе со своими флагманскими семействами микроконтроллеров — RL78 и RX. Для каждой из основных групп (RL78 и RX) предлагается стартовый комплект Renesas Starter Kit (RSK), который включает в себя все программные и аппаратные компоненты, необходимые для того, чтобы быстро приступить к работе.

С каждым комплектом RSK поставляются полностью интегрированная программа установки одной из интегрированных сред разработки и демонстрационный компилятор C/C++, который автоматически регистрируется в среде разработки и готов к использованию в проектах. Комплект содержит образцы проектов, демонстрирующие работу основных групп периферийных устройств. Иногда в них задействуются компоненты, установленные на целевой плате самого комплекта RSK. Это, например, потенциометр для подачи переменного аналогового входного сигнала на вход АЦП, а также приемопередатчик интерфейса RS‑232 и разъем DB9, соединенные с одним из пользовательских каналов UART.

Вместе с платой RSK поставляется эмулятор-отладчик E1, который затем можно использовать с собственным целевым оборудованием. В документации описывается, как выполнять необходимые соединения в собственных конструкциях, и приводится схема целевой платы RSK, которую можно брать за образец.

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

 

Функции отладки на кристалле

Соображения, связанные с поддержкой разработки и отладки кода, учитываются сегодня уже при проектировании самого кристалла микроконтроллера, и процессорные ядра современных микроконтроллеров в той или иной степени напрямую поддерживают отладку кода. Объем такой поддержки может быть разным — от программного прерывания, позволяющего задавать программные точки останова, до удобных настраиваемых трассировочных буферов на кристалле, с помощью которых можно в реальном времени получать информацию о выполнении кода и доступе к данным.

В семействе RL78 предусмотрена одна аппаратная точка останова, которая позволяет остановить программу на конкретном исполняемом адресе без необходимости постоянно стирать и перезаписывать флэш-память. Предусмотрен также останов при доступе к данным, расположенным по определенному адресу.

Эта возможность образует фундамент для гибкой и оперативной отладки програм-много обеспечения на начальном уровне. Программный отладчик, работающий на ПК разработчика, может обращаться к аппаратным средствам отладки на кристалле RL78 через эмулятор-отладчик E1, подключенный по однопроводному интерфейсу к целевому микроконтроллеру. При этом программист получает доступ к таким отладочным функциям, как пошаговое выполнение, контроль значений переменных, установка аппаратных и программных точек останова, а также запуск и останов выполнения пользовательского кода.

В семействе микроконтроллеров RX имеется более развитая поддержка аппаратных точек останова — до восьми исполняемых адресов и четырех адресов данных. Используя их вместе с внутренней функцией трассировки, можно запускать до 256 ветвей исполняемого кода или циклов доступа к данным. Задавать точки останова или запускать трассировку можно также по установленной последовательности или комбинации условий останова, что позволяет эффективно и всесторонне анализировать выполнение пользовательского кода.

Стандартный разъем для целевого оборудования в эмуляторе E1 является общим для семейств RX и RL78, но интерфейс самого микроконтроллера различается: более дорогие варианты RX600 могут подключаться на выбор по JTAG или двухпроводному интерфейсу, а для RX200 и RX100 поддерживается однопроводной интерфейс, аналогичный тому, который используется для RL78.

 

Расширенная эмуляция

Большинству программистов встраиваемых микроконтроллеров достаточно будет тех средств отладки на кристалле, которые доступны через интерфейс E1. При этом как для RL78, так и для RX существуют более высокоразвитые аппаратные отладочные решения, обеспечивающие ускоренную разработку кода и более обстоятельное тестирование микропрограммного обеспечения.

Для семейства RL78 предназначается IECUBE — более традиционный внутри-схемный эмулятор. Он заменяет собой микроконтроллер в целевом оборудовании и сопрягается с последним при помощи паяного штыревого соединителя, переходника и гибкого кабеля, ведущего к основному блоку эмулятора. Помимо множества аппаратных точек останова, IECUBE обладает широкими возможностями трассировки кода и данных, обеспечивает доступ к ОЗУ в реальном времени и позволяет выполнять анализ покрытия кода, облегчая оптимизацию производительности системы и тестирование кода.

Эмулятор E20 для семейства RX не требует замены микроконтроллера в целевом оборудовании, а подключается к нему при помощи специального многофункционального разъема. Помимо пяти контактов интерфейса JTAG, в вариантах для RX600 имеется шесть добавочных контактов, обеспечивающих доступ к сжатой информации об операциях на шинах данных и адреса. Это позволяет дополнительно регистрировать внешними средствами до 2 млн тактов исполняемых ветвей и операций доступа к данным с использованием памяти трассировки, находящейся в самом эмуляторе E20, а также получать доступ к ОЗУ в реальном времени через окно шириной 4 кбайт.

Клиенты, которые предпочитают сторонний интерфейс аппаратной отладки или уже используют микроконтроллеры ARM и владеют этим устройством, могут выполнять отладку кода для микроконтроллеров RX на кристалле при помощи популярного отладчика J‑Link компании Segger, используя простой переходник с 20‑контактного разъема на 14‑контактный. Как и в случае с E1, E20 и IECUBE, все функции отладки, поддерживаемые Segger J‑Link, непосредственно доступны в интегрированной среде разработки e2studio, HEW или IAR.

 

Прошивка флэш-памяти

Когда вопросы разработки кода решены, следует подумать о производстве. Компания Renesas предлагает решения для прошивки флэш-памяти. Отладчики E1 и E20 штатно поддерживают прошивку флэш-памяти RL78 и RX, а также ряда других традиционных семейств микроконтроллеров Renesas.

Эти отладчики, используемые в основном для разработки прототипов и мелкосерийной прошивки, управляются с ПК при помощи программы Renesas Flash Programming (RFP). Программу RFP можно настроить для конкретного устройства, используя указанный файл флэш-образа. В ней также имеется так называемый простой режим работы, позволяющий запускать стирание, прошивку и проверку одним щелчком мыши. Среди прочего поддерживается выполнение сценариев и запись уникальных кодов во флэш-память целевого микроконтроллера — например, для серийной нумерации изделий или прошивки сетевых адресов.

Большинство микропроцессоров Renesas, включая RL78 и RX, штатно имеют режим внутрисхемного программирования через интерфейс UART или USB, если в микроконтроллере есть соответствующее периферийное устройство. Когда готовое изделие имеет приемопередатчик UART или выведен разъем USB, то загрузка прошивки может производиться как программой RFP, так и встраиваться в автоматизированное испытательное оборудование (ATE) без дополнительного аппаратного обеспечения.

Программатор PG-FP5 обеспечивает автономную прошивку, при которой флэш-образ хранится в самом программаторе, и необходимость в управляющем ПК отсутствует. Прошивку можно запускать вручную или через простой командный интерфейс с производственного автоматизированного испытательного оборудования. Поддерживается ведение журнала прошивки. Аналогичными возможностями обладает ряд сторонних программаторов, которые могут быть хорошим решением, если необходимо поддерживать другие микроконтроллеры и устройства в производственной среде.

Наконец, Renesas предлагает услугу по заводской прошивке флэш-памяти для большинства устройств из семейства RL78. Этот вариант, характеризующийся умеренными первоначальными затратами и объемами минимального заказа, подходит для устойчивого массового производства. Он сочетает в себе удобство масочного ПЗУ с возможностью перепрошивки заказчиком в случае, если потребуются изменения в микропрограмме.

 

Начните сегодня!

Микроконтроллеры Renesas RL78 или RX предоставляют разработчику широчайший выбор конфигураций памяти, корпусов и периферийных устройств. При этом инженер-проектировщик программного обеспечения может быть уверен в том, что имеющиеся средства разработки позволят быстро приступить к работе и вести разработку кода высокими темпами, без задержек или неприятных сюрпризов.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *