This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
dev:crosscompiler:backend_arm:exceptions [2019/08/05 09:20] – [Terminology] ursgraf | dev:crosscompiler:backend_arm:exceptions [2019/08/05 09:32] – [ARM Exceptions] ursgraf | ||
---|---|---|---|
Line 9: | Line 9: | ||
===== ARM Exceptions ===== | ===== ARM Exceptions ===== | ||
+ | Each ARM exception is caused by a synchronous or asynchronous event and generally causes the processor to switch its state and jump to its proper exception vector. | ||
+ | [{{ .: | ||
+ | Exception classes and their corresponding exception methods have to be specified in the configuration. Instances of these classes are never created and therefore the object constructors are defined as // | ||
+ | The code generator has to create a special exception stack frame.\\ | ||
+ | The ARM architecture reserves 4 bytes of memory at each exception vector. This is just enough to place a branching instruction there which causes the processor to jump to the right exception code. | ||