os_lock
所属模块:系统控制 | 类型:系统锁定函数
函数简介
os_lock 用于在任务注册或系统初始化阶段对系统进行加锁。
加锁后,系统关键状态将被冻结,避免调度器或任务管理模块在初始化过程中被干扰。
该接口通常与 os_unlock 配合使用,用于保证系统配置过程的原子性。
源码实现
/*------------------------------------------------------------------------
| FILE DESCRIPTION |
------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
| - File name : lock.c
| - Author : 谭舒
| - Update date : 2026-09-19
| - Copyright(C) : 2026 HRTOS. All rights reserved.
------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
| INCLUDES |
------------------------------------------------------------------------*/
#include "hrtos_internal.h"
/*------------------------------------------------------------------------
| API FUNCTIONS |
------------------------------------------------------------------------*/
/**
* @brief 锁定系统配置。
*
* @param[in] None
*
* @return None。
*
* @note 锁定系统配置后,不允许继续进行任务注册及其他系统配置操作。
*/
void os_lock(void) //任务注册加锁
{
OS_CFG_LOCK = 1;
}
/*------------------------------------------------------------------------
| END OF FILE: lock.c |
------------------------------------------------------------------------*/
使用示例
void system_init()
{
os_lock();
// 注册任务 / 初始化资源
}
注意事项
加锁后系统调度与部分配置行为可能被阻止,必须在初始化完成后及时解锁。