Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт
![Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт](/uploads/covers/2022-11-21/yazyk-ada-na-atmel-sam4-cortex-m-8212-bystryj-start-201.jpg-205x.webp)
- Автор: Евгений Турышев
- Жанр: Образование
Читать книгу "Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт"
Введение
Недавно мне в руки попал оценочный комплект Atmel® SAM4S Xplained Pro evaluation kit производства компании Atmel. Ядром этого комплекта является мощный микроконтроллер на базе современной архитектуры Cortex-M. AVR-контроллеры фирмы Atmel весьма популярны в России ввиду невысокой цены и хорошей функциональности. Было тем более интересно познакомиться с их более мощным и современным собратом.
Имея опыт, на предыдущих местах работы, программирования встроенных устройств на Си и Ассемблере, в том числе AVR-контроллеров и некоторых других процессоров RISC-архитектуры с одной стороны, и, опыт в совсем другой области — программировании сетевых приложений на языке Ada, мне было также интересно попробовать совместить то и другое — программировать микроконтроллер на Ada.
Тем более, что одной из главных сфер применения Ada как раз и является создание встроенных приложений, систем реального времени повышенной надёжности.
Вероятно, самой известной реализацией компилятора языка Ada является реализация компании AdaCore, выпускаемая под маркой GNAT. Существует как профессиональная платная версия — GNAT Pro, так бесплатная версия — GNAT GPL, предоставляемая в целях обучения и для разработки приложений под лицензией GPL и имеющая ту же функциональность, но без поддержки.
Различные версии компилятора, для различных хост- и целевых платформ, графическую среду разработчика, другие инструменты, исходные коды, а также множество библиотек, можно бесплатно загрузить с сайта компании.
Язык Ada используется много десятилетий прежде всего для построения больших систем, работающих на серьёзном оборудовании, в том числе, в авиации, железнодорожном транспорте и телекоммуникациях (www.adacore.com/customers). Однако, в последние годы, разработчики AdaCore повернулись лицом к младшим братьям — микроконтроллерам, и компания выпустила ряд продуктов для разработки программного обеспечения для микроконтроллеров AVR и ARM.
Выбирая микропроцессорную платформу для разработки оборудования, разработчик «железа» в значительной степени руководствуется тем, какие средства разработки ПО существуют для данного микропроцессора, какова их функциональность и стоимость.
Если со стоимостью обычно всё более-менее понятно, то чтобы хотя бы примерно представить функциональные возможности средств разработки, языка, среды разработки и существующих библиотек, приходится пробовать самому, и тратить немало времени и сил на организацию рабочего места (сборку кросс-компилятора, отладчика и библиотек), обучение языку, изучение спецификации процессора и т. п… Реклама в данной сфере, так же как в любой другой, заслуживает лишь относительного доверия.
Поэтому, в первую очередь, цель данной статьи — обеспечить быстрый старт желающим опробовать разработку на языке Ada для платформы Cortex-M. Это ни в коем случае не учебник по языку Ada, ни руководство по применению микроконтроллера SAM4, то и другое даже в отдельности слишком объёмный предмет. Все примеры носят характер экспериментов, и могут лишь служить исходным пунктом для написания «настоящих» приложений.
Статья может быть полезна и начинающим разработку для аналогичной платформы STM32F на базе Cortex-M c помощью компилятора GNAT или для AVR тем же компилятором. И, в какой-то степени, на языке Си для SAM4S (или близкого контроллера от Atmel).
Все файлы примеров и утилит можно взять здесь.