WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
los_hwi.h 文件参考
#include "los_base.h"
#include "hal_hwi.h"
#include "arch/cpu.h"
#include "arch/interrupt.h"
los_hwi.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  tagIrqParam
 

宏定义

#define OS_INT_ACTIVE   IntActive()
 
#define OS_INT_INACTIVE   (!(OS_INT_ACTIVE))
 
#define OS_HWI_PRIO_HIGHEST   0
 
#define OS_HWI_PRIO_LOWEST   (LOSCFG_HWI_PRIO_LIMIT - 1)
 
#define HWI_PRI_VALID(pri)   ((pri) <= OS_HWI_PRIO_LOWEST)
 
#define LOS_ERRNO_HWI_NUM_INVALID   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x00)
 
#define OS_ERRNO_HWI_NUM_INVALID   LOS_ERRNO_HWI_NUM_INVALID
 
#define LOS_ERRNO_HWI_PROC_FUNC_NULL   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x01)
 
#define OS_ERRNO_HWI_PROC_FUNC_NULL   LOS_ERRNO_HWI_PROC_FUNC_NULL
 
#define OS_ERRNO_HWI_CB_UNAVAILABLE   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x02)
 
#define LOS_ERRNO_HWI_NO_MEMORY   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x03)
 
#define OS_ERRNO_HWI_NO_MEMORY   LOS_ERRNO_HWI_NO_MEMORY
 
#define LOS_ERRNO_HWI_ALREADY_CREATED   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x04)
 
#define OS_ERRNO_HWI_ALREADY_CREATED   LOS_ERRNO_HWI_ALREADY_CREATED
 
#define LOS_ERRNO_HWI_PRIO_INVALID   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x05)
 
#define OS_ERRNO_HWI_PRIO_INVALID   LOS_ERRNO_HWI_PRIO_INVALID
 
#define OS_ERRNO_HWI_MODE_INVALID   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x06)
 
#define OS_ERRNO_HWI_FASTMODE_ALREADY_CREATED   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x07)
 
#define LOS_ERRNO_HWI_INTERR   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x08)
 
#define OS_ERRNO_HWI_INTERR   LOS_ERRNO_HWI_INTERR
 
#define LOS_ERRNO_HWI_SHARED_ERROR   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x09)
 
#define OS_ERRNO_HWI_SHARED_ERROR   LOS_ERRNO_HWI_SHARED_ERROR
 
#define OS_ERRNO_HWI_ARG_INVALID   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x0a)
 
#define LOS_ERRNO_HWI_HWINUM_UNCREATE   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x0b)
 
#define OS_ERRNO_HWI_HWINUM_UNCREATE   LOS_ERRNO_HWI_HWINUM_UNCREATE
 
#define LOS_ERRNO_HWI_NO_CPUP_MEMORY   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x0c)
 
#define LOS_ERRNO_HWI_NOT_INTERRUPT_CONTEXT   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x0d)
 
#define LOS_ERRNO_HWI_PTR_NULL   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x0e)
 
#define LOS_ERRNO_HWI_ARG_NOT_ENABLED   LOS_ERRNO_OS_ERROR(LOS_MOD_HWI, 0x0f)
 
#define IRQF_SHARED   0x8000U
 

类型定义

typedef UINT32 HWI_HANDLE_T
 
typedef UINT16 HWI_PRIOR_T
 
typedef UINT16 HWI_MODE_T
 
typedef UINTPTR HWI_ARG_T
 
typedef void(* HWI_PROC_FUNC) (void)
 Define the type of a hardware interrupt handling function.
 
typedef void(* HWI_BOTTOM_HALF_FUNC) (void *)
 Define the type of an interrupt bottom half function.
 
typedef struct tagIrqParam HWI_IRQ_PARAM_S
 

函数

size_t IntActive (void)
 
UINT32 LOS_HwiCreate (HWI_HANDLE_T hwiNum, HWI_PRIOR_T hwiPrio, HWI_MODE_T hwiMode, HWI_PROC_FUNC hwiHandler, HWI_IRQ_PARAM_S *irqParam)
 Create a hardware interrupt.
 
UINT32 LOS_HwiDelete (HWI_HANDLE_T hwiNum, HWI_IRQ_PARAM_S *irqParam)
 delete a hardware interrupt.
 
UINT32 LOS_HwiTrigger (HWI_HANDLE_T hwiNum)
 Trigger interrupts.
 
UINT32 LOS_HwiClear (HWI_HANDLE_T hwiNum)
 clear interrupts.
 
UINT32 LOS_HwiEnable (HWI_HANDLE_T hwiNum)
 Enable interrupts.
 
UINT32 LOS_HwiDisable (HWI_HANDLE_T hwiNum)
 Disable interrupts.
 
UINT32 LOS_HwiBhworkAdd (HWI_BOTTOM_HALF_FUNC bhHandler, void *data)
 create a interrupt bottom half work.
 
UINT32 LOS_HwiSendIpi (HWI_HANDLE_T hwiNum, UINT32 cpuMask)
 Send inter-core interrupts to designated cores.
 
UINT32 LOS_HwiSetAffinity (HWI_HANDLE_T hwiNum, UINT32 cpuMask)
 Interrupt response specified CPU processing.
 
UINT32 LOS_HwiSetPriority (HWI_HANDLE_T hwiNum, HWI_PRIOR_T priority)
 Set interrupts priority.
 
UINT32 LOS_HwiRespCntGet (HWI_HANDLE_T hwiNum, UINT32 *respCount)
 Get the number of interrupt responses.
 

宏定义说明

◆ OS_ERRNO_HWI_ALREADY_CREATED

#define OS_ERRNO_HWI_ALREADY_CREATED   LOS_ERRNO_HWI_ALREADY_CREATED

◆ OS_ERRNO_HWI_HWINUM_UNCREATE

#define OS_ERRNO_HWI_HWINUM_UNCREATE   LOS_ERRNO_HWI_HWINUM_UNCREATE

◆ OS_ERRNO_HWI_INTERR

#define OS_ERRNO_HWI_INTERR   LOS_ERRNO_HWI_INTERR

◆ OS_ERRNO_HWI_NO_MEMORY

#define OS_ERRNO_HWI_NO_MEMORY   LOS_ERRNO_HWI_NO_MEMORY

◆ OS_ERRNO_HWI_NUM_INVALID

#define OS_ERRNO_HWI_NUM_INVALID   LOS_ERRNO_HWI_NUM_INVALID

◆ OS_ERRNO_HWI_PRIO_INVALID

#define OS_ERRNO_HWI_PRIO_INVALID   LOS_ERRNO_HWI_PRIO_INVALID

◆ OS_ERRNO_HWI_PROC_FUNC_NULL

#define OS_ERRNO_HWI_PROC_FUNC_NULL   LOS_ERRNO_HWI_PROC_FUNC_NULL

◆ OS_ERRNO_HWI_SHARED_ERROR

#define OS_ERRNO_HWI_SHARED_ERROR   LOS_ERRNO_HWI_SHARED_ERROR

函数说明

◆ IntActive()

size_t IntActive ( void  )
extern

An interrupt is active.