UCOS_TI_LM3S_Keil
|
结构体 | |
struct | MEM_POOL |
宏定义 | |
#define | LIB_MEM_EXT extern |
#define | LIB_MEM_ERR_NONE 10000 |
#define | LIB_MEM_ERR_NULL_PTR 10001 /* Ptr arg(s) passed NULL ptr(s). */ |
#define | LIB_MEM_ERR_INVALID_MEM_SIZE 10100 /* Invalid mem size. */ |
#define | LIB_MEM_ERR_INVALID_SEG_SIZE 10110 /* Invalid mem seg size. */ |
#define | LIB_MEM_ERR_INVALID_SEG_OVERLAP 10111 /* Invalid mem seg overlaps other mem seg(s). */ |
#define | LIB_MEM_ERR_INVALID_POOL 10120 /* Invalid mem pool. */ |
#define | LIB_MEM_ERR_INVALID_BLK_NBR 10130 /* Invalid mem pool blk nbr. */ |
#define | LIB_MEM_ERR_INVALID_BLK_SIZE 10131 /* Invalid mem pool blk size. */ |
#define | LIB_MEM_ERR_INVALID_BLK_IX 10132 /* Invalid mem pool ix. */ |
#define | LIB_MEM_ERR_INVALID_BLK_ADDR 10135 /* Invalid mem pool blk addr. */ |
#define | LIB_MEM_ERR_INVALID_BLK_ADDR_IN_POOL 10136 /* Mem pool blk addr already in mem pool. */ |
#define | LIB_MEM_ERR_SEG_EMPTY 10200 /* Mem seg empty; i.e. NO avail mem for mem pools. */ |
#define | LIB_MEM_ERR_POOL_FULL 10205 /* Mem pool full; i.e. All mem blks avail in mem pool. */ |
#define | LIB_MEM_ERR_POOL_EMPTY 10206 /* Mem pool empty; i.e. NO mem blks avail in mem pool. */ |
#define | LIB_MEM_ERR_HEAP_NOT_FOUND 10210 /* Heap seg NOT found. */ |
#define | LIB_MEM_ERR_HEAP_EMPTY 10211 /* Heap seg empty; i.e. NO avail mem in heap. */ |
#define | LIB_MEM_TYPE_NONE 0x454E4F4E /* "NONE" in ASCII. */ |
#define | LIB_MEM_TYPE_HEAP 0x50414548 /* "HEAP" in ASCII. */ |
#define | LIB_MEM_TYPE_POOL 0x4C4F4F50 /* "POOL" in ASCII. */ |
#define | MEM_POOL_IX_NONE DEF_INT_16U_MAX_VAL /* Define as max unsigned val (see Note #1). */ |
#define | MEM_POOL_IX_MIN 1 |
#define | MEM_POOL_IX_MAX (MEM_POOL_IX_NONE - 1) |
#define | MEM_VAL_GET_INT08U_BIG(addr) ((CPU_INT08U) (((CPU_INT08U)(*(((CPU_INT08U *)(addr)) + 0))) << (0 * DEF_OCTET_NBR_BITS))) |
#define | MEM_VAL_GET_INT16U_BIG(addr) |
#define | MEM_VAL_GET_INT32U_BIG(addr) |
#define | MEM_VAL_GET_INT08U_LITTLE(addr) ((CPU_INT08U) (((CPU_INT08U)(*(((CPU_INT08U *)(addr)) + 0))) << (0 * DEF_OCTET_NBR_BITS))) |
#define | MEM_VAL_GET_INT16U_LITTLE(addr) |
#define | MEM_VAL_GET_INT32U_LITTLE(addr) |
#define | MEM_VAL_GET_INT08U(addr) MEM_VAL_GET_INT08U_LITTLE(addr) |
#define | MEM_VAL_GET_INT16U(addr) MEM_VAL_GET_INT16U_LITTLE(addr) |
#define | MEM_VAL_GET_INT32U(addr) MEM_VAL_GET_INT32U_LITTLE(addr) |
#define | MEM_VAL_SET_INT08U_BIG(addr, val) { (*(((CPU_INT08U *)(addr)) + 0)) = ((CPU_INT08U)((((CPU_INT08U)(val)) & 0xFF) >> (0 * DEF_OCTET_NBR_BITS))); } |
#define | MEM_VAL_SET_INT16U_BIG(addr, val) |
#define | MEM_VAL_SET_INT32U_BIG(addr, val) |
#define | MEM_VAL_SET_INT08U_LITTLE(addr, val) { (*(((CPU_INT08U *)(addr)) + 0)) = ((CPU_INT08U)((((CPU_INT08U)(val)) & 0xFF) >> (0 * DEF_OCTET_NBR_BITS))); } |
#define | MEM_VAL_SET_INT16U_LITTLE(addr, val) |
#define | MEM_VAL_SET_INT32U_LITTLE(addr, val) |
#define | MEM_VAL_SET_INT08U(addr, val) MEM_VAL_SET_INT08U_LITTLE(addr, val) |
#define | MEM_VAL_SET_INT16U(addr, val) MEM_VAL_SET_INT16U_LITTLE(addr, val) |
#define | MEM_VAL_SET_INT32U(addr, val) MEM_VAL_SET_INT32U_LITTLE(addr, val) |
#define | MEM_VAL_COPY_GET_INT08U_BIG(addr_dest, addr_src) { (*(((CPU_INT08U *)(addr_dest)) + 0)) = (*(((CPU_INT08U *)(addr_src)) + 0)); } |
#define | MEM_VAL_COPY_GET_INT16U_BIG(addr_dest, addr_src) |
#define | MEM_VAL_COPY_GET_INT32U_BIG(addr_dest, addr_src) |
#define | MEM_VAL_COPY_GET_INT08U_LITTLE(addr_dest, addr_src) { (*(((CPU_INT08U *)(addr_dest)) + 0)) = (*(((CPU_INT08U *)(addr_src)) + 0)); } |
#define | MEM_VAL_COPY_GET_INT16U_LITTLE(addr_dest, addr_src) |
#define | MEM_VAL_COPY_GET_INT32U_LITTLE(addr_dest, addr_src) |
#define | MEM_VAL_COPY_GET_INT08U(addr_dest, addr_src) MEM_VAL_COPY_GET_INT08U_LITTLE(addr_dest, addr_src) |
#define | MEM_VAL_COPY_GET_INT16U(addr_dest, addr_src) MEM_VAL_COPY_GET_INT16U_LITTLE(addr_dest, addr_src) |
#define | MEM_VAL_COPY_GET_INT32U(addr_dest, addr_src) MEM_VAL_COPY_GET_INT32U_LITTLE(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT08U_BIG(addr_dest, addr_src) MEM_VAL_COPY_GET_INT08U_BIG(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT16U_BIG(addr_dest, addr_src) MEM_VAL_COPY_GET_INT16U_BIG(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT32U_BIG(addr_dest, addr_src) MEM_VAL_COPY_GET_INT32U_BIG(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT08U_LITTLE(addr_dest, addr_src) MEM_VAL_COPY_GET_INT08U_LITTLE(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT16U_LITTLE(addr_dest, addr_src) MEM_VAL_COPY_GET_INT16U_LITTLE(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT32U_LITTLE(addr_dest, addr_src) MEM_VAL_COPY_GET_INT32U_LITTLE(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT08U(addr_dest, addr_src) MEM_VAL_COPY_GET_INT08U(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT16U(addr_dest, addr_src) MEM_VAL_COPY_GET_INT16U(addr_dest, addr_src) |
#define | MEM_VAL_COPY_SET_INT32U(addr_dest, addr_src) MEM_VAL_COPY_GET_INT32U(addr_dest, addr_src) |
#define | MEM_VAL_COPY_08(addr_dest, addr_src) { (*(((CPU_INT08U *)(addr_dest)) + 0)) = (*(((CPU_INT08U *)(addr_src)) + 0)); } |
#define | MEM_VAL_COPY_16(addr_dest, addr_src) |
#define | MEM_VAL_COPY_32(addr_dest, addr_src) |
类型定义 | |
typedef CPU_INT32U | LIB_MEM_TYPE |
typedef CPU_INT16U | MEM_POOL_IX |
函数 | |
void | Mem_Init (void) |
void | Mem_Clr (void *pmem, CPU_SIZE_T size) |
void | Mem_Set (void *pmem, CPU_INT08U data_val, CPU_SIZE_T size) |
void | Mem_Copy (void *pdest, void *psrc, CPU_SIZE_T size) |
CPU_BOOLEAN | Mem_Cmp (void *p1_mem, void *p2_mem, CPU_SIZE_T size) |
void * | Mem_HeapAlloc (CPU_SIZE_T size, CPU_SIZE_T align, CPU_SIZE_T *poctets_reqd, LIB_ERR *perr) |
void | Mem_PoolClr (MEM_POOL *pmem_pool, LIB_ERR *perr) |
void | Mem_PoolCreate (MEM_POOL *pmem_pool, void *pmem_base_addr, CPU_SIZE_T mem_size, CPU_SIZE_T blk_nbr, CPU_SIZE_T blk_size, CPU_SIZE_T blk_align, CPU_SIZE_T *poctets_reqd, LIB_ERR *perr) |
void * | Mem_PoolBlkGet (MEM_POOL *pmem_pool, CPU_SIZE_T size, LIB_ERR *perr) |
void | Mem_PoolBlkFree (MEM_POOL *pmem_pool, void *pmem_blk, LIB_ERR *perr) |
struct mem_pool |
成员变量 | ||
---|---|---|
LIB_MEM_TYPE | Type | |
MEM_POOL * | SegPrevPtr | |
MEM_POOL * | SegNextPtr | |
MEM_POOL * | PoolPrevPtr | |
MEM_POOL * | PoolNextPtr | |
void * | PoolAddrStart | |
void * | PoolAddrEnd | |
void ** | PoolPtrs | |
MEM_POOL_IX | BlkIx | |
CPU_SIZE_T | PoolSize | |
CPU_SIZE_T | BlkNbr | |
CPU_SIZE_T | BlkSize | |
CPU_SIZE_T | BlkAlign | |
void * | SegAddr | |
void * | SegAddrNextAvail | |
CPU_SIZE_T | SegSizeTot | |
CPU_SIZE_T | SegSizeRem |
#define LIB_MEM_ERR_NONE 10000 |
#define LIB_MEM_ERR_NULL_PTR 10001 /* Ptr arg(s) passed NULL ptr(s). */ |
参考自 Mem_PoolBlkFree(), Mem_PoolBlkGet() , 以及 Mem_PoolClr().
#define LIB_MEM_ERR_INVALID_MEM_SIZE 10100 /* Invalid mem size. */ |
参考自 Mem_HeapAlloc().
#define LIB_MEM_ERR_INVALID_SEG_SIZE 10110 /* Invalid mem seg size. */ |
参考自 Mem_PoolCreate().
#define LIB_MEM_ERR_INVALID_SEG_OVERLAP 10111 /* Invalid mem seg overlaps other mem seg(s). */ |
参考自 Mem_PoolCreate().
#define LIB_MEM_ERR_INVALID_POOL 10120 /* Invalid mem pool. */ |
参考自 Mem_PoolBlkFree() , 以及 Mem_PoolBlkGet().
#define LIB_MEM_ERR_INVALID_BLK_NBR 10130 /* Invalid mem pool blk nbr. */ |
参考自 Mem_PoolCreate().
#define LIB_MEM_ERR_INVALID_BLK_SIZE 10131 /* Invalid mem pool blk size. */ |
参考自 Mem_PoolBlkGet() , 以及 Mem_PoolCreate().
#define LIB_MEM_ERR_INVALID_BLK_IX 10132 /* Invalid mem pool ix. */ |
参考自 Mem_PoolBlkGet().
#define LIB_MEM_ERR_INVALID_BLK_ADDR 10135 /* Invalid mem pool blk addr. */ |
参考自 Mem_PoolBlkFree().
#define LIB_MEM_ERR_INVALID_BLK_ADDR_IN_POOL 10136 /* Mem pool blk addr already in mem pool. */ |
参考自 Mem_PoolBlkFree().
#define LIB_MEM_ERR_SEG_EMPTY 10200 /* Mem seg empty; i.e. NO avail mem for mem pools. */ |
参考自 Mem_PoolCreate().
#define LIB_MEM_ERR_POOL_FULL 10205 /* Mem pool full; i.e. All mem blks avail in mem pool. */ |
参考自 Mem_PoolBlkFree().
#define LIB_MEM_ERR_POOL_EMPTY 10206 /* Mem pool empty; i.e. NO mem blks avail in mem pool. */ |
参考自 Mem_PoolBlkGet().
#define LIB_MEM_ERR_HEAP_NOT_FOUND 10210 /* Heap seg NOT found. */ |
参考自 Mem_PoolCreate().
#define LIB_MEM_ERR_HEAP_EMPTY 10211 /* Heap seg empty; i.e. NO avail mem in heap. */ |
参考自 Mem_HeapAlloc() , 以及 Mem_PoolCreate().
#define LIB_MEM_TYPE_NONE 0x454E4F4E /* "NONE" in ASCII. */ |
参考自 Mem_PoolClr().
#define LIB_MEM_TYPE_HEAP 0x50414548 /* "HEAP" in ASCII. */ |
参考自 Mem_Init().
#define LIB_MEM_TYPE_POOL 0x4C4F4F50 /* "POOL" in ASCII. */ |
参考自 Mem_PoolBlkFree(), Mem_PoolBlkGet() , 以及 Mem_PoolCreate().
#define MEM_POOL_IX_NONE DEF_INT_16U_MAX_VAL /* Define as max unsigned val (see Note #1). */ |
#define MEM_POOL_IX_MAX (MEM_POOL_IX_NONE - 1) |
#define MEM_VAL_GET_INT08U_BIG | ( | addr) | ((CPU_INT08U) (((CPU_INT08U)(*(((CPU_INT08U *)(addr)) + 0))) << (0 * DEF_OCTET_NBR_BITS))) |
#define MEM_VAL_GET_INT16U_BIG | ( | addr) |
#define MEM_VAL_GET_INT32U_BIG | ( | addr) |
#define MEM_VAL_GET_INT08U_LITTLE | ( | addr) | ((CPU_INT08U) (((CPU_INT08U)(*(((CPU_INT08U *)(addr)) + 0))) << (0 * DEF_OCTET_NBR_BITS))) |
#define MEM_VAL_GET_INT16U_LITTLE | ( | addr) |
#define MEM_VAL_GET_INT32U_LITTLE | ( | addr) |
#define MEM_VAL_GET_INT08U | ( | addr) | MEM_VAL_GET_INT08U_LITTLE(addr) |
#define MEM_VAL_GET_INT16U | ( | addr) | MEM_VAL_GET_INT16U_LITTLE(addr) |
#define MEM_VAL_GET_INT32U | ( | addr) | MEM_VAL_GET_INT32U_LITTLE(addr) |
#define MEM_VAL_SET_INT08U_BIG | ( | addr, | |
val | |||
) | { (*(((CPU_INT08U *)(addr)) + 0)) = ((CPU_INT08U)((((CPU_INT08U)(val)) & 0xFF) >> (0 * DEF_OCTET_NBR_BITS))); } |
#define MEM_VAL_SET_INT16U_BIG | ( | addr, | |
val | |||
) |
#define MEM_VAL_SET_INT32U_BIG | ( | addr, | |
val | |||
) |
#define MEM_VAL_SET_INT08U_LITTLE | ( | addr, | |
val | |||
) | { (*(((CPU_INT08U *)(addr)) + 0)) = ((CPU_INT08U)((((CPU_INT08U)(val)) & 0xFF) >> (0 * DEF_OCTET_NBR_BITS))); } |
#define MEM_VAL_SET_INT16U_LITTLE | ( | addr, | |
val | |||
) |
#define MEM_VAL_SET_INT32U_LITTLE | ( | addr, | |
val | |||
) |
#define MEM_VAL_SET_INT08U | ( | addr, | |
val | |||
) | MEM_VAL_SET_INT08U_LITTLE(addr, val) |
#define MEM_VAL_SET_INT16U | ( | addr, | |
val | |||
) | MEM_VAL_SET_INT16U_LITTLE(addr, val) |
#define MEM_VAL_SET_INT32U | ( | addr, | |
val | |||
) | MEM_VAL_SET_INT32U_LITTLE(addr, val) |
#define MEM_VAL_COPY_GET_INT08U_BIG | ( | addr_dest, | |
addr_src | |||
) | { (*(((CPU_INT08U *)(addr_dest)) + 0)) = (*(((CPU_INT08U *)(addr_src)) + 0)); } |
#define MEM_VAL_COPY_GET_INT16U_BIG | ( | addr_dest, | |
addr_src | |||
) |
#define MEM_VAL_COPY_GET_INT32U_BIG | ( | addr_dest, | |
addr_src | |||
) |
#define MEM_VAL_COPY_GET_INT08U_LITTLE | ( | addr_dest, | |
addr_src | |||
) | { (*(((CPU_INT08U *)(addr_dest)) + 0)) = (*(((CPU_INT08U *)(addr_src)) + 0)); } |
#define MEM_VAL_COPY_GET_INT16U_LITTLE | ( | addr_dest, | |
addr_src | |||
) |
#define MEM_VAL_COPY_GET_INT32U_LITTLE | ( | addr_dest, | |
addr_src | |||
) |
#define MEM_VAL_COPY_GET_INT08U | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT08U_LITTLE(addr_dest, addr_src) |
#define MEM_VAL_COPY_GET_INT16U | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT16U_LITTLE(addr_dest, addr_src) |
#define MEM_VAL_COPY_GET_INT32U | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT32U_LITTLE(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT08U_BIG | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT08U_BIG(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT16U_BIG | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT16U_BIG(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT32U_BIG | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT32U_BIG(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT08U_LITTLE | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT08U_LITTLE(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT16U_LITTLE | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT16U_LITTLE(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT32U_LITTLE | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT32U_LITTLE(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT08U | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT08U(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT16U | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT16U(addr_dest, addr_src) |
#define MEM_VAL_COPY_SET_INT32U | ( | addr_dest, | |
addr_src | |||
) | MEM_VAL_COPY_GET_INT32U(addr_dest, addr_src) |
#define MEM_VAL_COPY_08 | ( | addr_dest, | |
addr_src | |||
) | { (*(((CPU_INT08U *)(addr_dest)) + 0)) = (*(((CPU_INT08U *)(addr_src)) + 0)); } |
#define MEM_VAL_COPY_16 | ( | addr_dest, | |
addr_src | |||
) |
#define MEM_VAL_COPY_32 | ( | addr_dest, | |
addr_src | |||
) |
typedef CPU_INT32U LIB_MEM_TYPE |
typedef CPU_INT16U MEM_POOL_IX |
void Mem_Init | ( | void | ) |
参考 LIB_MEM_CFG_HEAP_SIZE, LIB_MEM_TYPE_HEAP, Mem_Heap, Mem_PoolHeap , 以及 Mem_PoolTbl.
参考自 App_TaskStart().
void Mem_Clr | ( | void * | pmem, |
CPU_SIZE_T | size | ||
) |
void Mem_Set | ( | void * | pmem, |
CPU_INT08U | data_val, | ||
CPU_SIZE_T | size | ||
) |
void Mem_Copy | ( | void * | pdest, |
void * | psrc, | ||
CPU_SIZE_T | size | ||
) |
CPU_BOOLEAN Mem_Cmp | ( | void * | p1_mem, |
void * | p2_mem, | ||
CPU_SIZE_T | size | ||
) |
void* Mem_HeapAlloc | ( | CPU_SIZE_T | size, |
CPU_SIZE_T | align, | ||
CPU_SIZE_T * | poctets_reqd, | ||
LIB_ERR * | perr | ||
) |
void Mem_PoolClr | ( | MEM_POOL * | pmem_pool, |
LIB_ERR * | perr | ||
) |
参考 LIB_MEM_ERR_NONE, LIB_MEM_ERR_NULL_PTR , 以及 LIB_MEM_TYPE_NONE.
参考自 Mem_PoolCreate().
void Mem_PoolCreate | ( | MEM_POOL * | pmem_pool, |
void * | pmem_base_addr, | ||
CPU_SIZE_T | mem_size, | ||
CPU_SIZE_T | blk_nbr, | ||
CPU_SIZE_T | blk_size, | ||
CPU_SIZE_T | blk_align, | ||
CPU_SIZE_T * | poctets_reqd, | ||
LIB_ERR * | perr | ||
) |
参考 CPU_CRITICAL_ENTER, CPU_CRITICAL_EXIT, CPU_SR_ALLOC, LIB_MEM_ERR_HEAP_EMPTY, LIB_MEM_ERR_HEAP_NOT_FOUND, LIB_MEM_ERR_INVALID_BLK_NBR, LIB_MEM_ERR_INVALID_BLK_SIZE, LIB_MEM_ERR_INVALID_SEG_OVERLAP, LIB_MEM_ERR_INVALID_SEG_SIZE, LIB_MEM_ERR_NONE, LIB_MEM_ERR_SEG_EMPTY, LIB_MEM_TYPE_POOL, Mem_PoolClr(), Mem_PoolHeap, Mem_PoolSegAlloc(), Mem_PoolSegCalcTotSize() , 以及 Mem_PoolTbl.
void* Mem_PoolBlkGet | ( | MEM_POOL * | pmem_pool, |
CPU_SIZE_T | size, | ||
LIB_ERR * | perr | ||
) |
void Mem_PoolBlkFree | ( | MEM_POOL * | pmem_pool, |
void * | pmem_blk, | ||
LIB_ERR * | perr | ||
) |