Вокруг EFM32 - свежая версия обзора контроллеров и средств разработки

Два года назад г-н Alatar написал весьма подробный и полезный обзор средств для разработки и отладки микроконтроллеров EFM32. Первая часть посвящена инфраструктуре программных средств разработки (Simplicity Studio), вторая часть — работе с контроллерами, третья часть представляет собой обзор API для EFM32.

С мая 2013 года жизнь EFM32 не стояла на месте, совсем наоборот. Уже в июне 2013 года Energy Micro была куплена компанией Silicon Labs. Так линейка этих малопотребляющих микроконтроллеров стала активно расширяться и уже разрослась до более чем 250-ти кристаллов, а Simplicity Studio пережила два масштабных обновления. В обзоре ниже описано чем сейчас является EFM32 и что изменилось в Simplicity Studio по сравнению с постом «Вокруг EFM32 — обзор библиотек и софта» от 2013 года.


Начнем с краткого обзора кристаллов и отладочных плат, закончим описанием инфраструктуры программных средств разработки для микроконтроллеров Silicopn Labs.

1. Ассортимент микроконтроллеров

Всего доступно семь серий микроконтроллеров. Ещё со времен Energy Micro все контроллеры EFM32 именуются гекконами — Gecko. Получаются серии Tiny Gecko (EFM32TGxx), Leopard Gecko (EFM32LGxx), Giant Gecko (EFM32GGxx) и т.д., даже Happy Gecko (EFM32HGxx) :).

Серия Zero Gecko
Процессорное ядро: ARM Cortex-M0+, тактовая частота до 24 МГц.
Flash-память: 4–32 кБ
ОЗУ: 2–4 кБ
Периферия: USART + SPI + I2С + малопотребляющий UART + AES + счетчик импульсов + АЦП + ЦАП с токовым выходом
Корпуса: QFN, QFP

Серия Happy Gecko
Процессорное ядро: ARM Cortex-M0+, тактовая частота до 24 МГц.
Flash-память: 32-64 кБ
ОЗУ: 4-8 кБ
Периферия: USART + SPI + I2С + малопотребляющий UART + USB + AES + счетчик импульсов + интерфейс датчиков + АЦП + ЦАП с токовым выходом
Корпуса: QFN24, QFN32, WLCSP

Серия Tiny Gecko
Процессорное ядро: ARM Cortex-M3, тактовая частота до 32 МГц.
Flash-память: 4-32 кБ
ОЗУ: 2-4 кБ
Периферия: USART + SPI + I2С + малопотребляющий UART + ЖКИ + AES + счетчик импульсов + интерфейс датчиков + АЦП + ЦАП + ОУ
Корпуса: QFN24, QFN32, BGA

Серия Leopard Gecko
Процессорное ядро: ARM Cortex-M3, тактовая частота до 48 МГц.
Flash-память: 64-256 кБ
ОЗУ: 32 кБ
Периферия: USART + SPI + I2С + малопотребляющий UART + USB + ЖКИ + TFT + AES + счетчик импульсов + интерфейс датчиков + АЦП + ЦАП + ОУ
Корпуса: QFN24, QFN32, BGA, WLCSP

Серия Giant Gecko
полный аналог Leopard Gecko с увеличенным объемом памяти:
Flash-память: 512-1024 кБ
ОЗУ: 128 кБ

Серия Wonder Gecko
Процессорное ядро: ARM Cortex-M4F, тактовая частота до 48 МГц.
Flash-память: 64-256 кБ
ОЗУ: 32 кБ
Периферия: USART + SPI + I2С + малопотребляющий UART + USB + ЖКИ + TFT + AES + счетчик импульсов + интерфейс датчиков + АЦП + ЦАП + ОУ
Корпуса: QFN24, QFN32, BGA, WLCSP

Также продолжает поддерживаться серия Gecko (просто Gecko — EFM32Gxx). Это устаревшие кристаллы на базе Cortex-M3 32 МГц, они существенно ограничены в возможностях по сравнению с теми же Tiny Gecko, но при этом не являются их дешевой заменой.

2. Отладочные платы

На каждую серию приходится отладочная плата, так называемый Starter Kit. Все платы выполнены в едином стиле: на плате старший микроконтроллер серии, отладчик J-Link, механические и сенсорные кнопки/слайдеры, светодиоды, разъем для установки батареи, 20-выводный коннектор для подключения плат-расширений, ЖКИ. В зависимости от серии МК появляются дополнительные модули вроде внешней NAND Flash, microUSB, цепи обратной связи для ОУ, датчиков освещенности и металла (LC).


На рисунке плата EFM32GG-STK3700 для серии Giant Gecko. Отладка для EFM32WG и для EFM32LG выполнена ровно так же.

Отдельно отмечу переключатель источника питания, он позволяет записать плату от USB целевого микроконтроллера, от батарейки CR2032 или от отладочного USB. Чтобы начать работу с платой нужно записать её от debugUSB и подключить к компьютеру, на котором предварительно установлена Simplicity Studio.

3. Simplicity Studio

Существуют версии платформы для Ubuntu и Mac OSX (beta-версии). Самое полное, самое развернутое меню выглядит вот так:



Здесь все доступные инструменты для всех поддерживаемых микросхем — для беспроводных EZR32, для Zigbee-модулей, для «старых» (C8051Fxxx) и «новых» (EFM8) восьмиразрядников, и для 32-разрядных EFM32, к которым и приковано наше внимание.

Подключив отладочную плату мы получим только компоненты, относящиеся к делу:



Теперь это не система доставки контента (с), а скорее агрегатор средств разработки и отладки. Всё ПО что есть у SiLabs-а для выбранного типа контроллеров будет само скачиваться и обновляться, то же самое касается документации, примеров и прочего добра. Полная версия программы займет на диске 5 ГБ, но это можно ограничить — выбрать только нужные семейства контроллеров и только интересные компоненты. Первое выполняется при установке студии, а настройки компонентов доступны по иконкам в правом верхнем углу меню.

1) IDE
Начиная с версии 2.0 Simplicity Studio содержит в своем составе собственную IDE на базе eclipse. Раньше для разработки проекта нужно было связать Simplicity Studio с keil или IAR. Сейчас такая возможность сохранилась, предпочитаемая IDE выбирается при установке или по клику на иконку Setup Tasks.



Портирование проекта, написанного в IAR / Keil описано соответственно тут и тут.

2) Energy Profiler
Energy Profiler остается самым интересным инструментом в Simplicity Studio. Фактически это средство для профилирования энергопотребления контроллера: на фирменных отладочных платах установлен измерительный блок AEM (ток, напряжение, счетчик команд при наличии ETM на контроллере), данные оттуда интерпретируются в Energy Profiler и получается вот такая штука:



Доступны следующие опции:
1. График потребления тока устройства, строящийся синхронно с исполнением программы на плате. На график кроме тока можно добавить изменение напряжения питания, входы в обработчики прерываний.
2. По клику на точку на графике доступны точные значения измеряемых параметров (для выбранного диапазона — средние значения). Для выбранной точки в листинге подсвечивается строка исходного кода, если на МК поддерживается трассировка ядра (Cortex-M3, Cortex-M4).
Поиск горячих точек с ранжированием, упомянутый в обзоре Alatar , в современной Simplicity Studio не поддерживается. Остальные функции — возможность использовать с собственной платой, подсчет потребленной энергии с распределением по функциям, экспорт в CSV — остались на месте.

3) Configurator
Конфигуратор периферийных устройств и линий ввода/вывода.
Был известен как energyAware Designer, переименован по неизвестной причине. По сравнению с первой версией сохранил большинство функций — выбор и настройка блоков периферии, выбор и настройка линий ввода/вывода, генерация проекта по заданной конфигурации, детектирование конфликтов на линиях, генерация pdf-отчетов о созданной конфигурации и многое другое. Не вижу смысле перечислять все доступные вспомогательные функции, но отмечу что замечания, сформулированные в предыдущем обзоре на energyAware Designer (кастомные имена для пинов, недочеты юзабилити), исправлены.



4) Kit manager, Flash Programmer, Demos, SWO Termanal
В первой, Enegry Micro-вской версии программы была утилита для непосредственной работы с подключенными платами и контроллерами — energyAware Commander. Её функции сегодня распределены между пятью отдельными частями Simplicity Studio:
  • Детектирование подключенной платы и кристалла происходят сразу при подключении, вывод Part Number, ID платы и характеристик микроконтроллера идет в левом нижнем углу главного меню программы.
  • Более полные характеристики Kit-а, возможность обновления его прошивки (не микроконтроллера), возможность настройки режима работы J-Link (отладка МК установленного на отладочной плате / отладка МК со сторонней платы / отладка МК установленного на отладочной плате внешним отладчиком) доступны в Kit Manager.

  • Программирование контроллера готовым hex-ом по заданному адресу доступно через меню Flash Programmer. Здесь же блокировка/разблокировка отладочного интерфейса (всё ещё только с фирменным Kit-ом), установка/снятие защиты Flash от записи. Снова обращаясь к замечаниям Alatar: .bin таки сменился на .hex, функция полного стирания Flash появилась, функция чтения — нет.

  • Запуск готовых примеров для подключенной платы доступны по клику на Demos.
  • Консоль для вывода отладочных сообщений через SWO переехала в отдельный SWO Termanal.

5) energyAware Battery
Эмулятор работы от батареи (как никак, главная фишка EFM32 — низкое энергопотребление).
Эта утилита не подверглась никаким изменениям, поэтому привожу цитату Alatar :
energyAware Battery — софтина, позволяющая примерно оценить суммарное энергопотребление разрабатываемого девайса и время жизни от батареи на основании режимов работы и используемой периферии. В основу программы заложено предположение, что устройство имеет строго определённые циклы работы и их длительность постоянна.
  • возможность создавать множество состояний с независимыми режимами работы периферии
  • для каждого режима можно задать ток потребления внешней схемы

  • схематичное отображение тока потребления в течении одного цикла
  • выбор типа батареи, и количества элементов в сборке
  • подсчёт среднего потребления и построение графика уровня напряжения на сборке от времени


6) Другие компоненты
Другие компоненты Simplicity Studio — это документация, полезные ссылки и параметрический поиск. Они не таят никаких сюрпризов, но приятно что они есть. Документация при установки студии размещается локально на компьютере и при необходимости обновляется, при подключении отладочной платы видно только относящиеся к выбранному семейству datasheet-ы и manual-ы. Параметрический поиск, естественно, ведется только по SiLabs-овским контроллерам. Среди полезных ссылок хочется особенно отметить community.silabs — форум разработчиков под EFM32 и др. Привожу цитату Alatar
форум где тусят люди из EM, вплоть до непосредственно разработчиков чипов. Весьма приятная обстановка, оперативные ответы на вопросы.
и добавляю, что со временем полезный материал только накапливается.

Удачи в освоении EFM32 ;)

Комментарии (13)

RSS свернуть / развернуть
J-link не там нарисовали
0
на первой картинке? разве?
0
Пока подожду серий Golden Gecko и Fire Gecko. За них экспы больше дают.
+1
Не подскажете название шрифта, использованного в оформлении надписей к отладочной плате?
0
DIY)
0
По моему мнению софт стал хуже под эклипсом. Пользуюсь старым от EM
0
радикально.

общая тормознутость или что-то конкретное?
0
Тормознутость + ошибки какие то постоянно выпадают
По сравнению с софтом от EN — полное г (моё мнение)
0
v2.0 или v3.0 пробовали? Есть мнение что что второй апдейт (с эклипса на эклипс) решил многие проблемы.

Я не так уж много использовала версии EM и 2.0, но нынешняя в целом норм (если не на слабеньком компьютере работать). Интересно услышать что изменилось не по структуре ПО, а по ощущениям при работе.
И про linux-овскую интересно услышать если кто-то пользовался.
0
А он где-то еще водится в сети?
0
Одн-а-а-ко, они снизили цену на свои доски_развития до $30 + там интегрирован настоящий и юридически чистый перед лицом фирмы Segger дебаггер J-Link. Кто-нить заказывал, сколько там стоит доставка в РФ?
-1
Хорошо скинули цену, но доставка больше $42.
0
А что значит «юридически чистый»?
Вот Infineon предлагает кит за $6.75, в нем тоже есть легальный Segger.
KIT_XMC_2GO_XMC1100_V1
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.