CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
宏定义
riscv_bits.h 文件参考

浏览源代码.

宏定义

#define likely(x)   __builtin_expect((x), 1)
 
#define unlikely(x)   __builtin_expect((x), 0)
 
#define ROUNDUP(a, b)   ((((a)-1)/(b)+1)*(b))
 
#define ROUNDDOWN(a, b)   ((a)/(b)*(b))
 
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define CLAMP(a, lo, hi)   MIN(MAX(a, lo), hi)
 
#define EXTRACT_FIELD(val, which)   (((val) & (which)) / ((which) & ~((which)-1)))
 
#define INSERT_FIELD(val, which, fieldval)   (((val) & ~(which)) | ((fieldval) * ((which) & ~((which)-1))))
 
#define STR(x)   XSTR(x)
 
#define XSTR(x)   #x
 
#define SLL32   sll
 
#define STORE   sw
 
#define LOAD   lw
 
#define LWU   lw
 
#define LOG_REGBYTES   2
 
#define REGBYTES   (1 << LOG_REGBYTES)
 

宏定义说明

◆ CLAMP

#define CLAMP (   a,
  lo,
  hi 
)    MIN(MAX(a, lo), hi)

◆ EXTRACT_FIELD

#define EXTRACT_FIELD (   val,
  which 
)    (((val) & (which)) / ((which) & ~((which)-1)))

◆ INSERT_FIELD

#define INSERT_FIELD (   val,
  which,
  fieldval 
)    (((val) & ~(which)) | ((fieldval) * ((which) & ~((which)-1))))

◆ likely

#define likely (   x)    __builtin_expect((x), 1)

◆ LOAD

#define LOAD   lw

◆ LOG_REGBYTES

#define LOG_REGBYTES   2

◆ LWU

#define LWU   lw

◆ MAX

#define MAX (   a,
 
)    ((a) > (b) ? (a) : (b))

◆ MIN

#define MIN (   a,
 
)    ((a) < (b) ? (a) : (b))

◆ REGBYTES

#define REGBYTES   (1 << LOG_REGBYTES)

◆ ROUNDDOWN

#define ROUNDDOWN (   a,
 
)    ((a)/(b)*(b))

◆ ROUNDUP

#define ROUNDUP (   a,
 
)    ((((a)-1)/(b)+1)*(b))

◆ SLL32

#define SLL32   sll

◆ STORE

#define STORE   sw

◆ STR

#define STR (   x)    XSTR(x)

◆ unlikely

#define unlikely (   x)    __builtin_expect((x), 0)

◆ XSTR

#define XSTR (   x)    #x