Богатство выбора средств для программирования Cortex-M3

Чуть было не пропустил новую статью от таких знаменитостей мира Кортексов — Джозефа Юу (Joseph Yiu) и Яна Джонсона (Ian Johnson).

Статью я еще не читал, но уже поспешил поделиться ссылкой на нее:

The Choices for Programming ARM® Cortex®-M Microcontrollers

An increasing number of vendors offer 32-bit microcontrollers based on ARM® Cortex®-M processors, and at the same time, there are also new development environments introduced for these microcontroller products. Some programming languages and tools, previously available only for programming for desktop computers, are being ported to ARM microcontrollers too.

Technical advantages of the ARM Cortex-M architecture such as high performance, high code density, OS support and memory system flexibility also enable these software development methods to be used on ARM devices. To use these methods with legacy 16-bit or 8-bit devices could be very inefficient or even impossible.

http://www.eeweb.com/company-blog/arm/the-choices-for-programming-arm-cortex-m-microcontrollers/

Под катом я публикую перевод. Он выполнен не полностью, я только начал. Когда еще закончу! Да и смогу ли вообще закончить, вопрос.

Поэтому, кто силен в английском, двигайтесь лучше самостоятельно.

Архитектура ARM и средства разработки

Всё больше число производителей предлагают 32-разрядные микроконтроллеры на базе процессоров ARM® Cortex®-M, и в то же время на рынке так же имеется много новых средств разработки для этих микроконтроллерных продуктов. Некоторые языки программирования и средства отладки, ранее доступные только для программирования на настольных компов, сейчас портируются также и на микроконтроллеры ARM.

Технические преимущества архитектуры ARM® Cortex®-M, такие как большая эффективность, высокая плотность кода, поддержка операционных систем и гибкость системы памяти также позволяют этим методам разработки программного обеспечения работать на ARM-устройствах. Использовать эти методы с традиционными 8- и 16-разрядными может быть очень не эффективно или вообще не возможно.

Открытая природа архитектуры ARM позволяет производителям инструментального ПО разрабатывать инструментарий для широкого круга микроконтроллеров от разных производителей. С другой стороны, мы видим, что инструментарий, разработанный для 8- и 16-разрядных процессорных архитектур, обычно имеет ограниченный охват рынка.

Широкое использование архитектуры ARM позволяет поставщикам программных средств также создавать среды разработки для конкретных сегментов рынка встроенных системе, таких как M2M (machine to machine, машина-машина) или IoT (Internet of things, Интернет-вещей, — наверно имеется в виду различные гаджеты, которые плотно взаимодействуют через Интернет-соединение), а так же альтернативные языки программирования. В этой статье мы раскроем некоторые из этих вещей, например, такие как Java и Simulink.

Технология Java

Технология Java ускоряет разработку и прототипирование. Хотя в мире имеется целое множество доступных сред разработки, мы в этой статье рассмотрим только две из них —

Oracle® Java на архитектуре ARM нацеленной на IoT и M2M приложения.

Программирование на Java ME (Micro Edition) с использованием набора программных средств (SDK) идентично программирования на Java SE (Standard Edition) Embedded (например, Eclipse/Netbeans IDE). Все точно так же, за исключением того, что компиляция объектных модулей осуществляется для встроенных систем, у которых очень небольшие объемы памяти, и также графическая библиотека (GUI library) или JavaFX не доступны на Java ME.

Например, микроконтроллер работает на Java ME Embedded. Следовательно, Java-приложения, могут быть записаны на SD-карту или в памяти чипа. Когда система запущена, Java ME Embedded может прочитать конфигурационный файл и определить Java-приложение для загрузки и выполнения.

Рис 1. Алгоритм разработки ПО при использовании Java ME Embedded

Обычно для размещение самой Java-машины (JVM) и приложения требуется 256 КБ оперативной памяти и от 1 до 1.5 МБ программируемой памяти. Пожалуйста Обратите особое внимание, что приложения, запущенные под управлением Java-машины, не могут гарантировать поведение, свойственное системам реального времени. Однако, JVM может быть запущена как один из потоков RTOS, то есть параллельно с другими задачами реального времени, и таким образом всё это может нормально работать, используя механизм обмена событиями.

Рис. 2. Пример программной архитектуры, объединяющей Java и приложения реального времени.

 

Advertisements

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s