AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: 9: 10: 14: 15: #ifndef _OSWRAPPER_H_ 16: #define _OSWRAPPER_H_ 17: 18: 19: #include <stdint.h> 20: 21: #ifdef __cplusplus 22: extern "C" { 23: #endif 24: 25: 26: #define AG903_OSW_CACHE_PAGESIZE (4096) 27: 28: 29: #define AG903_OSW_DEFAULT_INTRPRI (20) 30: 31: 32: #define AG903_OSW_HLNG (0) 33: 34: 35: #define AG903_OSW_IRQ_NUM_MAX (64) 36: 37: 38: #define AG903_OSW_IRQ_PRI_MAX (32) 39: 40: 41: enum _AG903_OswAttribute { 42: AG903_OSW_ATRFIFO=0, 43: AG903_OSW_ATRPRI, 44: AG903_OSW_ATRNUM, 45: }; 46: 47: 48: enum _AG903_OswMemType { 49: AG903_OSW_NORMAL_CACHE_OFF=0, 50: AG903_OSW_NORMAL_CACHE_ON, 51: AG903_OSW_STRONGLY_ORDERED, 52: }; 53: 54: 62: uint32_t mplsz; 63: void* mpl; 64: int8_t memtype; 65: int8_t reserve[3]; 66: } AG903_OSWCMpl; 67: 68: 69: typedef struct _AG903_OSWRMpl { 70: int32_t wtskid; 71: uint32_t fmplsz; 72: uint32_t fblksz; 73: } AG903_OSWRMpl; 74: 75: 83: uint32_t blkcnt; 84: uint32_t blksz; 85: void* mpf; 86: int8_t memtype; 87: int8_t reserve[3]; 88: } AG903_OSWCMpf; 89: 90: 91: typedef struct _AG903_OSWRMpf { 92: int32_t wtskid; 93: uint32_t fblkcnt; 94: } AG903_OSWRMpf; 95: 96: 101: void* exinf; 102: uint32_t intno; 103: void* func; 104: } AG903_OSWCIsr; 105: 106: 107: typedef struct _AG903_OSWRIsr { 108: uint32_t intno; 109: void* isr; 110: } AG903_OSWRIsr; 111: 112: 113: int32_t AG903_OSWprInitMemory(uintptr_t vramtop, uint32_t vramsize); 114: int32_t AG903_OSWprCreMpl(int32_t mplid, AG903_OSWCMpl* pk_cmpl); 115: int32_t AG903_OSWprCreMplAuto(AG903_OSWCMpl* pk_cmpl); 116: int32_t AG903_OSWprDelMpl(int32_t mplid); 117: int32_t AG903_OSWprGetMpl(int32_t mplid, uint32_t blksz, void** p_blk); 118: int32_t AG903_OSWprGetMplAlign(int32_t mplid, uint32_t align, uint32_t blksz, void** p_blk); 119: int32_t AG903_OSWprRelMpl(int32_t mplid, void* blk); 120: int32_t AG903_OSWprRefMpl(int32_t mplid, AG903_OSWRMpl* pk_rmpl); 121: int32_t AG903_OSWprCreMpf(int32_t mpfid, AG903_OSWCMpf* pk_cmpf); 122: int32_t AG903_OSWprCreMpfAuto(AG903_OSWCMpf* pk_cmpf); 123: int32_t AG903_OSWprDelMpf(int32_t mpfid); 124: int32_t AG903_OSWprGetMpf(int32_t mpfid, void** p_blk); 125: int32_t AG903_OSWprRelMpf(int32_t mpfid, void* blk); 126: int32_t AG903_OSWprRefMpf(int32_t mpfid, AG903_OSWRMpf* pk_rmpf); 127: int32_t AG903_OSWprIniInt(void); 128: int32_t AG903_OSWprCreIsrAuto(AG903_OSWCIsr* pk_cisr); 129: int32_t AG903_OSWprDelIsr(int32_t isrid); 130: int32_t AG903_OSWprRefIsr(int32_t isrid, AG903_OSWRIsr* pk_risr); 131: int32_t AG903_OSWprDisInt(uint32_t intno); 132: int32_t AG903_OSWprEnaInt(uint32_t intno); 133: int32_t AG903_OSWprChgIms(uint32_t imask); 134: int32_t AG903_OSWprGetIms(uint32_t* p_imask); 135: int32_t AG903_OSWprSetIpri(uint32_t intno, uint8_t intpri); 136: 137: #ifdef __cplusplus 138: } 139: #endif 140: #endif
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.