+ Note about interrupt handling

This commit is contained in:
Vovanium 2021-11-24 14:56:29 +03:00
parent d57bbccefa
commit 2a6a70057c
1 changed files with 14 additions and 0 deletions

View File

@ -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