os_res_init

所属模块:内核基础 | 类型:资源初始化函数

API Metadata

函数ID:os_res_init
模块:kernel resource
类型:resource init
嵌套深度:1

函数简介

os_res_init 用于初始化统一资源对象(OS_RESOURCE), 清空资源计数、所有权信息以及等待队列状态。

该函数是 HRTOS 统一资源模型的基础构造函数, 所有 semaphore、mutex、event、mailbox 等机制均依赖该结构。

函数原型

void os_res_init(OS_RESOURCE *r);

参数说明

参数 说明
r 资源对象指针(OS_RESOURCE *)

返回值

无返回值(void函数)

源码实现

#include "hrtos_internal.h" /* ========================================================= * 统一资源初始化 */ void os_res_init(OS_RESOURCE *r) { /* ------------------------- * 资源基础状态清空 * ------------------------- */ r->value = 0; /* 资源计数清零 */ r->owner = OS_INVALID_ID;/* 无所有者 */ r->wait_cnt = 0; /* 等待计数清零 */ r->wait_mask = 0; /* 等待位图清空 */ }

使用示例

void init_system() { OS_RESOURCE res; os_res_init(&res); }

注意事项

该函数为所有 IPC 机制的底层基础, 必须在系统初始化阶段或单任务环境中调用。

相关推荐