WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
interrupt_porting.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2021. All rights reserved.
3 * Description: Interrupt DRIVER
4 *
5 * Create: 2021-06-30
6 */
7#ifndef INTERRUPT_H
8#define INTERRUPT_H
9
10#include "arch_port.h"
11#ifdef __cplusplus
12#if __cplusplus
13extern "C" {
14#endif /* __cplusplus */
15#endif /* __cplusplus */
16
20typedef void (*isr_function)(void);
21
28uint32_t int_set_irq_func(int32_t irq_id, isr_function func);
29
34void int_set_priority_grouping(uint32_t priority_group);
35
40uint32_t int_get_priority_grouping(void);
41
46void int_enable_irq(int32_t irq_id);
47
52void int_disable_irq(int32_t irq_id);
53
59uint32_t int_get_enable_irq(int32_t irq_id);
60
66uint32_t int_get_pending_irq(int32_t irq_id);
67
72void int_clear_pending_irq(int32_t irq_id);
73
78void int_set_pendind_irq(int32_t irq_id);
79
85uint32_t int_get_active(int32_t irq_id);
86
92void int_set_priority(int32_t irq_id, uint32_t priority);
93
99uint32_t int_get_priority(int32_t irq_id);
100
104void int_system_reset(void);
105
109void int_setup(void);
110
115bool int_is_interrupt_context(void);
116
121int32_t int_get_current_irqn(void);
122
127int32_t int_get_current_priority(void);
128
129#ifdef __cplusplus
130#if __cplusplus
131}
132#endif /* __cplusplus */
133#endif /* __cplusplus */
134
135#endif
uint32_t int_get_active(int32_t irq_id)
Get active interrupt.
Definition interrupt.c:135
void int_disable_irq(int32_t irq_id)
Disable external interrupt.
Definition interrupt.c:59
uint32_t int_get_priority_grouping(void)
Get priority grouping.
Definition interrupt.c:26
void int_system_reset(void)
The function initiates a system reset request to reset the CPU.
Definition interrupt.c:228
uint32_t int_get_pending_irq(int32_t irq_id)
Get pending interrupt.
Definition interrupt.c:117
uint32_t int_set_irq_func(int32_t irq_id, isr_function func)
Set interupt callback function
Definition interrupt.c:14
void int_setup(void)
Setup the interrupt for current core.
Definition interrupt.c:252
uint32_t int_get_priority(int32_t irq_id)
Get interrupt priority.
Definition interrupt.c:185
void int_enable_irq(int32_t irq_id)
Enable external interrupt.
Definition interrupt.c:31
void(* isr_function)(void)
interupt callback function declaration.
Definition interrupt_porting.h:20
int32_t int_get_current_irqn(void)
Gets the current IRQ that we are in.
Definition interrupt.c:263
void int_set_priority(int32_t irq_id, uint32_t priority)
Set interrupt priority
Definition interrupt.c:141
bool int_is_interrupt_context(void)
Checks if we are currently in interrupt context.
Definition interrupt.c:258
void int_set_pendind_irq(int32_t irq_id)
Set pending interrupt.
Definition interrupt.c:130
uint32_t int_get_enable_irq(int32_t irq_id)
Get interrupt enable status
Definition interrupt.c:88
void int_clear_pending_irq(int32_t irq_id)
Clear pending interrupt
Definition interrupt.c:123
void int_set_priority_grouping(uint32_t priority_group)
Set priority grouping.
Definition interrupt.c:21
int32_t int_get_current_priority(void)
Gets the current interrupt priority level.
Definition interrupt.c:268