Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт

Евгений Турышев
100
10
(1 голос)
0 0

Аннотация: Евгений Турышев подробно разбирает работу с GNAT для встраиваемых ARM процессоров на примере конкретной платы.Читать книгу Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт онлайн от автора Евгений Турышев можно на нашем сайте.

Книга добавлена:
20-11-2022, 09:39
0
232
11
Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт

Читать книгу "Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт"



Сборка ZFP

Далее собираем runtime-библиотеку для нашей платформы.

Здесь необходимо пояснить, что для GNAT существует понятие «профиля компилятора», которое описывает совокупность доступных средств языка, функциональность и объём runtime-библиотеки.

По степени увеличения функциональности существуют предопределённые профили Zero Footprint Profile (ZFP), Cert Profile, Ravenscar Profiles (два варианта профиля — sfp и full), Full Ada Language Support.

Основной мотивацией существования профилей AdaCore называет лёгкость и снижение цены сертификации приложения на соответствие требованиям надёжности и безопасности при использовании ограниченного профиля. Подробнее здесь.

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

Для процессора sam4s официально поддерживается только один профиль — Zero Footprint Profile (ZFP). Это наиболее ограниченная версия языка, из которой исключено всё, что касается динамической семантики.

В частности исключены все средства поддержки многозадачности, как task и protected objects. Поэтому этот рантайм позволяет разрабатывать только однозадачные приложение. Но, даже в случае однозадачной программы, обмен с устройствами по прерыванием создаёт подобие многозадачной среды.

Кроме, того есть ограничения на обработку исключений (допустимы только локальные обработчики), отсутствуют контролируемые типы, полный список можно узнать заглянув в system.ads.

Подробнее о предопределённых профилях здесь.

Приступаем к сборке ZFP.

Распаковываем gnat-gpl-2015-src, bb-runtimes-gpl-2015-src, gcc-4.9-gpl-2015-src в один каталог, допустим он указан у нас в переменной окружения $SOURCES.

bash$ export SOURCES=...

# путь к бинарной версии компилятора

bash$ export PATH=/usr/gnat/bin:$PATH

bash$ export GNAT_SRC_DIR=$SOURCES/gnat-gpl-2015-src/src/ada/

bash$ export GCC_SRC_DIR=$SOURCES/gcc-4.9-gpl-2015-src

bash$ cd $SOURCES/bb-runtimes-gpl-2015-src

bash$ ./build-all.sh -g -v --no-link --target=sam4s zfp

# --no-link — указывает, что все файлы нужно копировать, а не делать ссылки

bash$ cp —R install /usr/gnat/arm-eabi/lib/gnat/zfp-sam4s

# копирую в традиционное для рантайма место

На этом со сборкой библиотеки рантайма всё.


Скачать книгу "Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт" - Евгений Турышев бесплатно


100
10
Оцени книгу:
0 0
Комментарии
Минимальная длина комментария - 7 знаков.
Книжка.орг » Образование » Язык Ada на Atmel SAM4 (Cortex-M) — быстрый старт
Внимание