Скомпилированная библиотека FreeRTOS + GNAT Ada - PullRequest
2 голосов
/ 13 января 2020

У меня есть работающая плата ARM CortexA9 с FreeRTOS, и мне нужно добавить старую и большую библиотеку, написанную на ADA. Я успешно сгенерировал библиотеку и внедрил ее в код, но я борюсь с некоторыми проблемами;

Прежде всего, какой профиль RTS разрешен с FreeRTOS между следующими?

  • zfp
  • Ravenscar_sfp
  • Ravenscar_full

1 Ответ

4 голосов
/ 13 января 2020

Вы предлагаете использовать компилятор arm-elf GNAT CE 2019, чтобы скомпилировать исходный код Ada (-mcpu=cortex-a9 в порядке) и связать результат с не-ada кодом.

Я не думаю, вы могли бы использовать среды выполнения AdaCore Ravenscar, которые поставляются с этим компилятором, потому что они предполагают, что они отвечают за плату и запускают свой собственный код обработки задач / обработки прерываний, а не FreeRTOS.

Я поддерживаю Среда исполнения на основе FreeRTOS для некоторых младших плат Cortex-M , которая поддерживает профиль Ravenscar, совсем как среды исполнения AdaCore sfp. Я не думаю, что это было бы огромной работой, чтобы адаптировать его для вашего случая использования.

С другой стороны, если ваш код Ады (и код Ады, от которого он зависит) не включает Задачи или полагаться на завершение или исключения, вам может не понадобиться много в плане поддержки времени выполнения; zfp время выполнения будет служить основой.

...