可以使用统一的接口对对象进行管理
主要使用的类型
//一个基础类型, 一般位于内核对象的最前方, 用于记录一个对象的信息 struct rt\_object { /\*内核对象名称\*/ char name[RT_NAME_MAX]; /\*内核对象类型\*/ rt\_uint8\_t type; /\*内核对象的参数\*/ rt\_uint8\_t flag; /\*内核对象管理链表\*/ rt\_list\_t list; };
/\*\*可以使用的对象类型 \* The object type can be one of the follows with specific \* macros enabled: \* - Thread \* - Semaphore \* - Mutex \* - Event \* - MailBox \* - MessageQueue \* - MemHeap \* - MemPool \* - Device \* - Timer \* - Unknown \* - Static \*/ enum rt\_object\_class\_type { RT_Object_Class_Null = 0x00, /\*\*< The object is not used. \*/ RT_Object_Class_Thread = 0x01, /\*\*< 对象为线程类型 \*/ RT_Object_Class_Semaphore = 0x02, /\*\*< 对象为信号量类型 \*/ RT_Object_Class_Mutex = 0x03, /\*\*< 对象为互斥量类型 \*/ RT_Object_Class_Event = 0x04, /\*\*< 对象为事件类型 \*/ RT_Object_Class_MailBox = 0x05, /\*\*< 对象为邮箱类型 \*/ RT_Object_Class_MessageQueue = 0x06, /\*\*< 对象为消息队列类型 \*/ RT_Object_Class_MemHeap = 0x07, /\*\*< memory heap. \*/ RT_Object_Class_MemPool = 0x08, /\*\*< memory pool. \*/ RT_Object_Class_Device = 0x09, /\*\*< 对象为设备类型 \*/ RT_Object_Class_Timer = 0x0a, /\*\*< 对象为定时器类型 \*/ RT_Object_Class_Unknown = 0x0c, /\*\*< 对象类型未知 \*/ RT_Object_Class_Static = 0x80 /\*\*< 对象为