AM263Px MCU+ SDK: sdl_exception.h Source File

| AM263Px MCU+ SDK 26.00.00 |

sdl_exception.h
Go to the documentation of this file.
1 /*
2 * SDL EXCEPTION
3 *
4 * Software Diagnostics Library module for Exception handling
5 *
6 * Copyright (c) Texas Instruments Incorporated 2022-2023
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 *
15 * Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the
18 * distribution.
19 *
20 * Neither the name of Texas Instruments Incorporated nor the names of
21 * its contributors may be used to endorse or promote products derived
22 * from this software without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 *
36 */
37
53 #ifndef INCLUDE_SDL_EXCEPTION_H_
54 #define INCLUDE_SDL_EXCEPTION_H_
55 #include "sdl_common.h"
56
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60
61
63 typedef void (*SDL_EXCEPTION_ECCCallback_t) (uint32_t intSource,
64 uint32_t errorAddr,
65 uint32_t ramId,
66 uint64_t bitErrorOffset,
67 uint32_t bitErrorGroup);
68
70 typedef void (*SDL_EXCEPTION_Callback_t) (void);
71
73 typedef struct SDL_EXCEPTION_CallbackFunctions_s
74 {
75 SDL_EXCEPTION_Callback_t udefExptnCallback;
77 SDL_EXCEPTION_Callback_t swiExptnCallback;
79 SDL_EXCEPTION_Callback_t pabtExptnCallback;
81 SDL_EXCEPTION_Callback_t dabtExptnCallback;
83 SDL_EXCEPTION_Callback_t irqExptnCallback;
87 SDL_EXCEPTION_Callback_t fiqExptnCallback;
91 }SDL_EXCEPTION_CallbackFunctions_t;
92
100 void SDL_EXCEPTION_init(const SDL_EXCEPTION_CallbackFunctions_t *callbackFunctions);
101
109 void SDL_EXCEPTION_registerECCHandler(SDL_EXCEPTION_ECCCallback_t ECCCallBackFunctionPtr);
110
118 void SDL_EXCEPTION_undefInstructionExptnHandler(void *param);
119
126 void SDL_EXCEPTION_swIntrExptnHandler(void *param);
127
135 void SDL_EXCEPTION_prefetchAbortExptnHandler(void *param);
136
144 void SDL_EXCEPTION_dataAbortExptnHandler(void *param);
145
153 void SDL_EXCEPTION_irqExptnHandler(void *param);
154
162 void SDL_EXCEPTION_fiqExptnHandler(void *param);
163
164 #ifdef __cplusplus
165 }
166 #endif
167
168 #endif
SDL_EXCEPTION_CallbackFunctions_t::swiExptnCallback
SDL_EXCEPTION_Callback_t swiExptnCallback
Definition: sdl_exception.h:77
SDL_EXCEPTION_swIntrExptnHandler
void SDL_EXCEPTION_swIntrExptnHandler(void *param)
SW Interrupt Exception Handler.
SDL_EXCEPTION_undefInstructionExptnHandler
void SDL_EXCEPTION_undefInstructionExptnHandler(void *param)
Undefined Instruction Exception Handler.
SDL_EXCEPTION_ECCCallback_t
void(* SDL_EXCEPTION_ECCCallback_t)(uint32_t intSource, uint32_t errorAddr, uint32_t ramId, uint64_t bitErrorOffset, uint32_t bitErrorGroup)
Format of Call back function for ECC error events.
Definition: sdl_exception.h:63
SDL_EXCEPTION_prefetchAbortExptnHandler
void SDL_EXCEPTION_prefetchAbortExptnHandler(void *param)
Prefetch Abort Exception Handler.
SDL_EXCEPTION_CallbackFunctions_t::pabtExptnCallback
SDL_EXCEPTION_Callback_t pabtExptnCallback
Definition: sdl_exception.h:79
sdl_common.h
Header file contains enumerations, structure definitions and function declarations for SDL COMMON int...
SDL_EXCEPTION_irqExptnHandler
void SDL_EXCEPTION_irqExptnHandler(void *param)
IRQ Exception Handler.
SDL_EXCEPTION_Callback_t
void(* SDL_EXCEPTION_Callback_t)(void)
Format of Call back function for exception.
Definition: sdl_exception.h:70
SDL_EXCEPTION_CallbackFunctions_t::fiqExptnCallback
SDL_EXCEPTION_Callback_t fiqExptnCallback
Definition: sdl_exception.h:87
SDL_EXCEPTION_init
void SDL_EXCEPTION_init(const SDL_EXCEPTION_CallbackFunctions_t *callbackFunctions)
Initialise Exception module.
SDL_EXCEPTION_CallbackFunctions_t
Structure of call back functions for various exception events.
Definition: sdl_exception.h:74
SDL_EXCEPTION_CallbackFunctions_t::dabtExptnCallback
SDL_EXCEPTION_Callback_t dabtExptnCallback
Definition: sdl_exception.h:81
SDL_EXCEPTION_registerECCHandler
void SDL_EXCEPTION_registerECCHandler(SDL_EXCEPTION_ECCCallback_t ECCCallBackFunctionPtr)
Function to register ECC exception handler.
SDL_EXCEPTION_CallbackFunctions_t::irqExptnCallback
SDL_EXCEPTION_Callback_t irqExptnCallback
Definition: sdl_exception.h:83
SDL_EXCEPTION_fiqExptnHandler
void SDL_EXCEPTION_fiqExptnHandler(void *param)
FIQ Exception Handler.
SDL_EXCEPTION_dataAbortExptnHandler
void SDL_EXCEPTION_dataAbortExptnHandler(void *param)
Data Abort Exception Handler.
SDL_EXCEPTION_CallbackFunctions_t::udefExptnCallback
SDL_EXCEPTION_Callback_t udefExptnCallback
Definition: sdl_exception.h:75