From 2a6a70057c8bb14f5e1594d6c055043de90f717e Mon Sep 17 00:00:00 2001 From: Vovanium Date: Wed, 24 Nov 2021 14:56:29 +0300 Subject: [PATCH] + Note about interrupt handling --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index 089af76..3045af6 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,20 @@ GNAT's System'To_Address attribute is used in peripherials definitions (STM32.*model-name*.Units packages). I currently cannot decide if Preelaborate is really needed there. +## Common implementation notes + +### Interrupts + +Interrupt handling in multitasked (Ravenscar) profiles require support from OS / RTL. +That is, no interrupt definitions done there. +Use `Ada.Interrupts.Names` to define interrupt handlers. +This obviously limit the set of supported devices to ones supplied with compiler. + +Interrupts in minimal (ZFP) profiles though do not require any system support +as they fully handled by user code. +However interrupt vector table should be implementer by the user too. +For this maybe some constants will be set. + ## Hardware quirks and workarounds ### APB