Я нашел то, что может быть ключом к этому.Я читал документацию AVR-Ada более подробно, и я нашел это в Status области документации AVR-Ada Sourceforge http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=Status:
Ток AVR-AdaV1.1 основан на gcc-4.3.3.
Предоставленная система времени выполнения Ada (RTS) по большей части даже не система времени выполнения.Это скорее система времени компиляции :-).Большинство файлов в RTS нужны только во время компиляции.Как следствие, у нас пока нет поддержки исключений и задач (многопоточность).
Существует некоторая специфическая поддержка AVR.Определения типов и интерфейсов, процедуры синхронизации, доступ к eeprom, UART и, что наиболее важно, необходимые определения портов и прерываний для большинства компонентов AVR.
Таким образом, функция задания вначале не включена / недоступна.Более подробно в документации я нашел это в http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=InstallRunTimeSystem:
InstallRunTimeSystem
Установите систему поддержки времени выполнения Ada и библиотеки поддержки AVR
После сборки и установки кросс-компилятора Ada вам потребуется базовая система времени выполнения (RTS).
После распаковки исходного дистрибутива AVR-Ada запустите configure и make в каталоге верхнего уровня,Configure определяет путь установки (PREFIX) из установленного gcc.Смотрите комментарии в Makefile для различных целей make.Сначала вы должны собрать и установить RTS, а затем библиотеки AVR.RTS будет установлен в дереве gcc, библиотеки AVR будут установлены в PREFIX / avr / ada.Убедитесь, что у вас есть права на запись в эти места.
configure
make build_rts
make install_rts
make build_libs
make install_libs
Существует только несколько файлов из библиотеки времени выполнения.Пока он состоит только из файлов, которые нужны во время компиляции.См. Каталог rts / adainclude.
Будущие версии AVR-Ada должны расширить возможности предоставляемой RTS.Это может включать:
Ада исключений.В AVR-libc уже есть поддержка setjmp / longjmp, но я не знаю, насколько полезны исключения во встроенных системах.Простое управление задачами (как в профиле Ravenscar).Вероятно, он должен быть построен поверх небольшого планировщика, такого как AvrX.
Не рассчитывайте на то, что что-то появится в ближайшем будущем!
Ну, у меня еще не было времени все это проверить.Но скоро я сделаю это.И, возможно, потребуется немного усилий, чтобы включить управление задачами.