Платформа SimpleLink SDK: упрощение разработки программного обеспечения для максимальной отдачи от проекта

| Texas Instruments

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

Комплект для разработки программного обеспечения (software development kit- SDK) микроконтроллеров семейства SimpleLink™ представляет собой полноценную платформу - набор проверенных драйверов, стеков и примеров кода с полной документацией, который позволяет инженерам разрабатывать разнообразные инновационные приложения с использованием микроконтроллеров SimpleLink производства компании Texas Instruments.

SDK включает в себя базовые программные компоненты и простые в применении примеры.

В SDK имеется все, что нужно клиенту для быстрой и эффективной разработки новых приложений с использованием микроконтроллеров от TI на базе ARM® Cortex®-M - от драйверов и стеков связи до ядра ОС.

SDK хорошо интегрирован в среду разработки, благодаря чему доступны продвинутые возможности отладки. Подобный целостный подход, примененный в SDK SimpleLink, позволяет разработчикам создавать приложения, выгодно отличающиеся от продукции конкурентов. SimpleLink от TI– это полностью протестированное интегральное надежное решение, готовое к работе. Благодаря стопроцентной портируемости кода SDK можно применять многократно. Постоянная поддержка данной платформы компанией TI обеспечивает создание совместимых интерфейсов прикладных программ (API). Кроме того, базовые компоненты данного SDK доступны в стандартных промышленных исполнениях с открытым исходным кодом, что позволяет клиентам использовать их в собственных приложениях.

Каким образом SDK Simplelink  позволяет улучшить цикл разработки

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

Насколько просты в применении новые инструменты? Снабжены ли они необходимой документацией? Имеются ли в наличии обучающие материалы, чтобы разработчики быстрее освоили новинки? Какие API используются в программном обеспечении? Относятся ли они к стандартным промышленным или проприетарным и изменяемым?

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

SDK Simplelink

SDK SimpleLink позволяет ускорить разработку и реализовать упрощенное портирование внутри широчайшей в отрасли линейки МК. Тем самым появляется возможность гибкого подхода к выбору МК, так как потребности клиентов и требования стандартов подключения постоянно расширяются.

SDK поддерживает все МК семейства SimpleLink, включая:

  • MSP432™ - сверхмалопотребляющие МК на базе ARM Cortex-M4F с 14-битным SAR-АЦП, оптимизированные для работы в качестве хостов беспроводных систем, а также для захвата и обработки высокоточных аналоговых сигналов;
  • CC32x- МК на базе ARM Cortex-Mс интегрированным wi-fi и расширенными функциями безопасности;
  • CC2640R2и CC1310/CC1350 - малопотребляющие беспроводные МК на базе ARM Cortex-Mдля высокопроизводительных РЧ-приложений. Данные устройства поддерживают ряд беспроводных стандартов, включая Bluetooth® lowenergy и стандарты группы Sub-1 ГГц, такие как Wireless M-Bus, SigFox и 6LoWPAN, а также возможность работы в двух полосах частот. Помимо этого, планируется поддержка ZigBee® и Thread.

Примеры расширения приложений

Рис. 1. Примеры расширения приложений

SDK SimpleLink позволяет максимизировать окупаемость вложений разработчика. Как показано на рис. 1, данный SDK позволяет создать приложение на основе одного МК семейства SimpleLink, например, MSP432P401R, а затем использовать его же на других МК семейства SimpleLink для добавления функционала, например, на беспроводном CC3220, не разрабатывая приложение с нуля. Комплексный набор драйверов от TI наряду с поддержкой совместимых с POSIX API, а также встроенных RTOS, упрощает интеграцию и обеспечивает совместимость с многочисленными сторонними программными компонентами.

Вот типовой сценарий разработки: допустим, изначально производитель может выпускать автономный сверхмалопотребляющий термостат на основе МК MSP432 семейства SimpleLink. По мере того, как бизнес расширяется, и запросы клиентов растут, производитель сталкивается с необходимостью разработки термостата с wi-fi, чтобы конечные пользователи подключались к нему в рамках системы домашней автоматизации. Тогда производитель может создать новое приложение на основе беспроводного МК CC3220 или головного МК MSP432 и процессора беспроводной сети CC3120. Программное обеспечение управления термостатом, пользовательские интерфейсы и приложения, которые были разработаны для изделия на основе MSP432, могут быть в полной мере применены и в новом термостате с wi-fi. Это позволяет производителю легко добавить wi-fi в уже существующий продукт без необходимости начинать разработку заново.

В дальнейшем, если производитель выпустит термостат с возможностью подключения к смартфону по стандарту Bluetooth low energy (BLE), все программное обеспечение опять может быть портировано на беспроводной МК CC2640R2с использованием МК MSP432 или без него.

Даже в случае перехода к промышленной шлюзовой сети датчиков, программное обеспечение, разработанное для автономного термостата, может быть использовано и для сети на базе контроллера CC1350, работающей в полосе частот Sub-1 ГГц. В данном приложении также может быть использован беспроводной МК CC1350 с двумя рабочими полосами частот, что позволит организовать связь той же сети со смартфоном по каналу Bluetooth low energy.

В TI понимают, что клиентам нужно программное обеспечение, на которое они могут рассчитывать, и которое они могут использовать как сейчас, так и в будущем. Компания TI будет регулярно выпускать обновления программного обеспечения в составе SDK SimpleLink, что позволит разработчикам четко планировать модернизацию благодаря совместимости кода API. Все компоненты SDK полностью интегрированы и совместно протестированы с целью создания надежной платформы для разработки приложений. К тому же сам SDK SimpleLink развивается, обслуживается и напрямую поддерживается силами TI через доступное в режиме 24/7 сообщество E2E™, а также практический тренинг SimpleLink Academy.

Компоненты SDK SimpleLink

Рис. 2. Компоненты SDK SimpleLink

SDK SimpleLink: анализ составляющих

SDK SimpleLink производства TI (рис. 2) представляет собой полноценное, готовое к работе решение для всех потребностей разработки. Данный SDK позволяет создавать дифференцированные приложения, не тратя время на разработку с нуля таких элементов как стеки связи или драйверы.

Драйверы TI

API драйверов TI описывает функционал аппаратно-зависимых драйверов во всех устройствах семейства SimpleLink сходным образом, благодаря чему разработчикам предоставляется портативный полноценный доступ к разнообразной периферии. Драйверы TI имеют открытый исходный код (программная лицензия университета Беркли, BSD) и созданы на слое аппаратных абстракций, благодаря чему предоставляется полноценный доступ к полной совместимости устройств. Скажем, несмотря на то, что аппаратная реализация UART на разных устройствах может быть различной, API драйверов TI, с помощью которого организован доступ к их общему функционалу, будет одинаковым.

Благодаря такому независимому от типа устройств подходу становится возможной, - в том числе на будущее, - простая портируемость кода приложения между устройствами семейства SimpleLink. Среди многих периферийных устройств, описываемых этими интуитивно понятными и целостными API драйверов TI, можно выделить аналого-цифровые преобразователи (АЦП), SPI, ШИМ и GPIO. Благодаря полному доступу к слою аппаратных абстракций с помощью драйверов TI разработчики могут продолжать оптимизировать свои приложения с использованием Слоя Аппаратных Абстракций (Hardware Abstraction Layer, HAL) или посредством прямого доступа к микроконтроллеру с программированием на уровне регистров. Драйверы TI позволяют клиентам делать приложения именно такими, какими они и задумывались.

Ядро ОС

Ядро предоставляет доступ к таким многозадачным сервисам реального времени, как синхронизация и тайминг задач. Все SDK SimpleLink от TI поставляются с предустановленными ядрами TI-RTOS и совместимы с POSIX. TI-RTOS – это надежное решение, которое уже было успешно применено в составе различных встроенных приложений от TI. Ядро имеет открытый исходный код (лицензия BSD), оно было разработано в соответствии с номенклатурой микросхем от TI для минимизации задержки при оптимальном размере кода. Разработчики могут оптимизировать приложения с точки зрения энергопотребления, производительности или размера кода в зависимости от стоящих перед ними задач. SDK SimpleLink поддерживают и другие ядра RTOS, например, FreeRTOS. Ядро RTOS управляет слоем аппаратных абстракций, а также набором функциональных драйверов для всей периферии на чипе.

Слой POSIX абстрагирует функции ядра RTOS, используемые в приложениях. POSIX – это утвержденный IEEE промышленный стандарт совместимости операционных систем. Занимая менее 2 кбайт кода в типовом приложении, слой POSIX позволяет с легкостью заново использовать и портировать примеры и пользовательские приложения на другое ядро. Использование данного слоя не является обязательным, но это позволяет клиентам работать с любой ОС, с которой они знакомы в данный момент или на которую хотят перейти в будущем. Совместимость с POSIX также позволяет сторонним партнерам TI устанавливать связь с устройствами SDK SimpleLink для поддержки их ядер. Это дает полную свободу разработки на любой ОС, включая FreeRTOS.

Промежуточное программное обеспечение, поддерживаемое в уникальных устройствах семейства SimpleLink

Рис. 3. Промежуточное программное обеспечение, поддерживаемое в уникальных устройствах семейства SimpleLink

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

Промежуточное программное обеспечение от TI добавляет функционал «поверх» драйверов. Стеки связи и графические библиотеки – это лишь два примера промежуточного программного обеспечения. TI провели полное тестирование и интеграцию данного программного обеспечения для всех устройств семейства SimpleLink, что позволяет быстро и легко добавлять в приложения новые технологии, такие как Wi-Fi или BLE. Некоторые примеры промежуточного программного обеспечения, задействованного в каждом из устройств SDK SimpleLink, показаны на рис. 3.

Плагины SDK

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

Изначально с плагинами подключения по Bluetooth low energy и wi-fi будет поставляться SDK для SimpleLink MSP432. В дальнейшем количество предлагаемых плагинов для поддержки датчиков, приводов, дисплеев и прочего будет расти, что позволит разработчикам в короткие сроки создавать комплексные системы, используя данный модульный программный подход.

Слой аппаратных абстракций (HAL)

Слой аппаратных абстракций (HAL) состоит из функций языка C, которые абстрагируют записи в аппаратные регистры. Драйверы TI и ядро ОС написаны с использованием HAL для получения доступа к аппаратным свойствам. HAL, созданный на основе заголовочных файлов конкретных устройств, соответствует стандарту CMSIS от ARM, что упрощает доступ к модулям устройств вне уровня регистров. Благодаря доступу к Driver Lib HAL разработчики могут взаимодействовать с более глубокими слоями драйверов TI для более точного управления своими приложениями или для улучшения программного обеспечения периферии и оптимизации конкретных устройств.

Примеры и обучающие материалы

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

Бесплатный для клиентов ресурс SimpleLink Academy предоставляет множество упражнений и семинаров, позволяющих в короткие сроки начать разрабатывать собственные приложения и добиться их максимальной производительности.

Заключение

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

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

Статью перевел
Нерухов Сергей, г. Москва,

по материалам журнала
"Electronics information update".

Журнал: ELECTRONICS INFORMATION UPDATE, сентябрь 2017 г.
Производитель: Texas Instruments
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
CC3200R1M2RGC
CC3200R1M2RGC
Texas Instruments
Арт.: 1490642 ИНФО PDF AN RD RND
Доступно: 14676 шт. от: 971 руб.
Подсистема Wi-Fi СС3200 для выполнения всех задач по беспроводной передачи данных в понятном для пользователя режиме использует отдельное ARM-ядро, соответственно не занимает ресурсы микроконтроллера Cortex - M4, что ведет к большей производительности.…
CC3200R1M2RGC 971,00 от 4 шт. 833,00 от 8 шт. 764,00
3 шт.
(на складе)
14673 шт.
(под заказ)
CC3200MODR1M2AMOBT
CC3200MODR1M2AMOBT
Texas Instruments
Арт.: 1897497 PDF AN RD RND
Доступно: 4764 шт.
Выбрать
условия
поставки
WIRELESS MCU, CORTEX-M4, 80MHZ, LGA-63
CC3200MODR1M2AMOBT
4764 шт.
(под заказ)
Выбрать
условия
поставки
MSP432P401RIPZR
MSP432P401RIPZR
Texas Instruments
Арт.: 1916030 PDF AN RD
Доступно: 4890 шт.
Выбрать
условия
поставки
ARM Microcontrollers - MCU Ultra low power ARM Micro Controller
MSP432P401RIPZR
4890 шт.
(под заказ)
Выбрать
условия
поставки
CC3220RM2ARGKT
CC3220RM2ARGKT
Texas Instruments
Арт.: 2287761 ИНФО PDF AN RD RND
Доступно: 1519 шт.
Выбрать
условия
поставки
RF Microcontrollers - MCU Single-Chip Wireless MCU
CC3220RM2ARGKT
1519 шт.
(под заказ)
Выбрать
условия
поставки
CC3220SM2ARGKT
CC3220SM2ARGKT
Texas Instruments
Арт.: 2287765 ИНФО PDF AN RD RND
Доступно: 3364 шт.
Выбрать
условия
поставки
RF Microcontrollers - MCU Single-Chip Wireless MCU
CC3220SM2ARGKT
3364 шт.
(под заказ)
Выбрать
условия
поставки
MSP432P401MIRGCT
MSP432P401MIRGCT
Texas Instruments
Арт.: 2287964 AN
Доступно: 230 шт.
Выбрать
условия
поставки
ARM Microcontrollers - MCU Ultra low power ARM Micro Controller
MSP432P401MIRGCT
230 шт.
(под заказ)
Выбрать
условия
поставки
MSP432P401RIZXHR
MSP432P401RIZXHR
Texas Instruments
Арт.: 2287970 ИНФО PDF AN RD
Доступно: 8290 шт.
Выбрать
условия
поставки
Низкопотребляющий высокопроизводительный микроконтроллер. Ядро ARM Cortex-M4F, 32-разряда, 48 МГц, Flash-память 256 КБ и RAM 64 КБ, корпус 80-NFBGA (5x5 мм). Потребление: 95 мкА/МГц (активных режим), 850 нА (работающий RTC)
MSP432P401RIZXHR
8290 шт.
(под заказ)
Выбрать
условия
поставки
MSP432P401RIZXHT
MSP432P401RIZXHT
Texas Instruments
Арт.: 2287971 AN RD
Доступно: 97 шт.
Выбрать
условия
поставки
ARM Microcontrollers - MCU Ultra low power ARM Micro Controller
MSP432P401RIZXHT
97 шт.
(под заказ)
Выбрать
условия
поставки
CC3220MODSF12MOBR
CC3220MODSF12MOBR
Texas Instruments
Арт.: 2539572 PDF AN RD
Доступно: 1000 шт.
Выбрать
условия
поставки
RF Microcontrollers - MCU CC3220 WI-FI MODULE LARGE REEL
CC3220MODSF12MOBR
1000 шт.
(под заказ)
Выбрать
условия
поставки
CC3220MODASF12MONR
CC3220MODASF12MONR
Texas Instruments
Арт.: 2572874 PDF AN RD
Доступно: 1600 шт.
Выбрать
условия
поставки
RF Microcontrollers - MCU CC3220 WI-FI MODULE LARGE REEL
CC3220MODASF12MONR
1600 шт.
(под заказ)
Выбрать
условия
поставки