struct rt_ipc_object parent; /* 事件集合,每一 bit 表示 1 个事件,bit 位的值可以标记某事件是否发生 */ rt_uint32_t set; }; /* rt_event_t 是指向事件结构体的指针类型 */ typedef struct rt_event* rt_event_t; rt_event对象从rt_ipc_object中派生,由 IPC容器管理。结构体rt_ipc_objec...
/* 事件集合,每一 bit 表示 1 个事件,bit 位的值可以标记某事件是否发生 */ rt_uint32_t set; }; /* rt_event_t 是指向事件结构体的指针类型 */ typedef struct rt_event* rt_event_t; 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. rt_event对象从rt_ipc_object中派生,由 IPC容器管理。结构体rt...
struct rt_event{/* 继承自 ipc_object 类 */struct rt_ipc_object parent;/* 事件集合,每一 bit 表示 1 个事件,bit 位的值可以标记某事件是否发生 */rt_uint32_t set;};/* rt_event_t 是指向事件结构体的指针类型 */typedef struct rt_event* rt_event_t; rt_event对象从rt_ipc_object中派生,...
typedef struct rt_mailbox *rt_mailbox_t; rt_mailbox对象从rt_ipc_object中派生,由IPC容器管理。结构体rt_ipc_object定义如下: struct rt_object { char name[RT_NAME_MAX]; /* 内核对象名称 */ rt_uint8_t type; /* 内核对象类型 */ rt_uint8_t flag; /* 内核对象的参数 */ #ifdef RT...
struct rt_mailbox{struct rt_ipc_object parent; /* 继承自 ipc_object 类 */rt_ubase_t *msg_pool; /* 邮箱缓冲区的开始地址 */rt_uint16_t size; /* 邮箱缓冲区的大小 */rt_uint16_t entry; /* 邮箱中邮件的数目 */rt_uint16_t in_offset; /* 邮件进入邮箱的偏移指针 */rt_uint16_t ...
struct rt_ipc_object parent; /* 事件集合,每一 bit 表示 1 个事件,bit 位的值可以标记某事件是否发生 */ rt_uint32_t set; }; /* rt_event_t 是指向事件结构体的指针类型 */ typedef struct rt_event* rt_event_t; 1. 2. 3. 4.
struct rt_ipc_object size=28 struct rt_semaphore size=32 struct rt_mutex size=36 struct rt_event size=32 struct rt_mailbox size=48 struct rt_messagequeue size=60 struct rt_mempool size=52 struct rt_device size=80 struct rt_device_graphic_info size=12 ...
struct rt_ipc_object parent; rt_uint32_t set; } typedef struct rt_event* rt_event_t; 4.1.5 事件集函数接口 4.1.5.1 创建/删除 创建事件集:核心操作是1)设置阻塞唤醒模式;2)初始化一个链表用于因记录访问此事件而被阻塞挂起的线程;3)清空事件集。
rt_semaphore 对象从 rt_ipc_object 中派生,由 IPC 容器所管理,信号量的最大值是 65535。 信号量管理方式 信号量控制块中含有信号量相关的重要参数,在信号量各种状态间起到纽带的作用。对一个信号量的操作包含:创建 / 初始化信号量、获取信号量、释放信号量、删除 / 脱离信号量。
struct rt_ipc_object parent; /**< inherit from ipc_object */ rt_ubase_t *msg_pool; /**< 邮箱缓冲区的开始地址 */ rt_uint16_t size; /**< 邮箱缓冲区的大小 */ rt_uint16_t entry; /**< 邮箱中邮件的数目 */ rt_uint16_t in_offset; /**< 邮箱缓冲的入口指针 */ ...