From 01fd6b85043630671167e1c542827121cab384dc Mon Sep 17 00:00:00 2001 From: turing Date: Thu, 18 Nov 2021 22:43:53 +0800 Subject: [PATCH] =?UTF-8?q?=20=E6=B3=A8=E8=A7=A3=E9=92=A9=E5=AD=90?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E7=9A=84=E5=AE=8F=E5=AE=9E=E7=8E=B0=20=20=20?= =?UTF-8?q?=20=20=E7=99=BE=E4=B8=87=E6=B1=89=E5=AD=97=E6=B3=A8=E8=A7=A3=20?= =?UTF-8?q?+=20=E7=99=BE=E7=AF=87=E5=8D=9A=E5=AE=A2=E5=88=86=E6=9E=90=20?= =?UTF-8?q?=3D>=20=E6=8C=96=E9=80=8F=E9=B8=BF=E8=92=99=E5=86=85=E6=A0=B8?= =?UTF-8?q?=E6=BA=90=E7=A0=81=20=20=20=20=20=E9=B8=BF=E8=92=99=E7=A0=94?= =?UTF-8?q?=E7=A9=B6=E7=AB=99=20|=20http://weharmonyos.com=20(=E5=9B=BD?= =?UTF-8?q?=E5=86=85)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20http?= =?UTF-8?q?s://weharmony.github.io=20(=E5=9B=BD=E5=A4=96)=20=20=20=20=20os?= =?UTF-8?q?china=20|=20https://my.oschina.net/weharmony=20=20=20=20=20?= =?UTF-8?q?=E5=8D=9A=E5=AE=A2=E5=9B=AD=20|=20https://www.cnblogs.com/wehar?= =?UTF-8?q?mony/=20=20=20=20=20=E7=9F=A5=E4=B9=8E=20|=20https://www.zhihu.?= =?UTF-8?q?com/people/weharmonyos=20=20=20=20=20csdn=20|=20https://blog.cs?= =?UTF-8?q?dn.net/kuangyufei=20=20=20=20=2051cto=20|=20https://harmonyos.5?= =?UTF-8?q?1cto.com/column/34=20=20=20=20=20=E6=8E=98=E9=87=91=20|=20https?= =?UTF-8?q?://juejin.cn/user/756888642000808=20=20=20=20=20=E5=85=AC?= =?UTF-8?q?=E4=BC=97=E5=8F=B7=20|=20=E9=B8=BF=E8=92=99=E7=A0=94=E7=A9=B6?= =?UTF-8?q?=E7=AB=99=20(weharmonyos)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arch/arm/arm/include/los_atomic.h | 6 +++--- kernel/base/core/los_sys.c | 23 ++++++++++++----------- kernel/base/ipc/los_futex.c | 6 +++--- kernel/base/ipc/los_rwlock.c | 2 +- kernel/base/sched/sched_sq/los_sched.c | 2 +- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/arch/arm/arm/include/los_atomic.h b/arch/arm/arm/include/los_atomic.h index 70a54dbb..a0aafbb5 100644 --- a/arch/arm/arm/include/los_atomic.h +++ b/arch/arm/arm/include/los_atomic.h @@ -80,14 +80,14 @@ extern "C" { 原子操作中,操作数及其结果不能超过函数所支持位数的最大值。目前原子操作接口只支持整型数据。 参考 - https://gitee.com/LiteOS/LiteOS/blob/master/doc/Huawei_LiteOS_Kernel_Developer_Guide_zh.md#setup + http://weharmonyos.com/openharmony/zh-cn/device-dev/kernel/kernel-small-basic-atomic.html */ typedef volatile INT32 Atomic; //原子数据包含两种类型Atomic(有符号32位数)与 Atomic64(有符号64位数) typedef volatile INT64 Atomic64; /** * @ingroup los_atomic - * @brief Atomic read. + * @brief Atomic read. | 读取32bit原子数据 * * @par Description: * This API is used to implement the atomic read and return the result value of the read. @@ -356,7 +356,7 @@ STATIC INLINE INT32 LOS_AtomicDecRet(Atomic *v) /** * @ingroup los_atomic - * @brief Atomic64 read. + * @brief Atomic64 read. | 读取64bit原子数据 * * @par Description: * This API is used to implement the atomic64 read and return the result value of the read. diff --git a/kernel/base/core/los_sys.c b/kernel/base/core/los_sys.c index 0a1c3796..593dc25b 100644 --- a/kernel/base/core/los_sys.c +++ b/kernel/base/core/los_sys.c @@ -33,10 +33,11 @@ #include "los_sched_pri.h" /*! -* @file los_sys.c -* @brief 系统时间转化 -* @details -* @attention @verbatim + * @file los_sys.c + * @brief 系统时间转化 + * @details + * @link kernel-small-basic-time http://weharmonyos.com/openharmony/zh-cn/device-dev/kernel/kernel-small-basic-time.html @endlink + * @verbatim 基本概念 时间管理以系统时钟为基础,给应用程序提供所有和时间有关的服务。 @@ -61,15 +62,15 @@ 根据实际需求,在板级配置适配时确认是否使能LOSCFG_BASE_CORE_TICK_HW_TIME宏选择外部定时器, 并配置系统主时钟频率OS_SYS_CLOCK(单位Hz)。OS_SYS_CLOCK的默认值基于硬件平台配置。 通过make menuconfig配置LOSCFG_BASE_CORE_TICK_PER_SECOND。 - - 注意事项 - 时间管理不是单独的功能模块,依赖于OS_SYS_CLOCK和LOSCFG_BASE_CORE_TICK_PER_SECOND两个配置选项。 - 系统的Tick数在关中断的情况下不进行计数,故系统Tick数不能作为准确时间使用。 参考 - https://gitee.com/LiteOS/LiteOS/blob/master/doc/Huawei_LiteOS_Kernel_Developer_Guide_zh.md#setup - @endverbatim -*/ + http://weharmonyos.com/openharmony/zh-cn/device-dev/kernel/kernel-small-basic-time.html + @endverbatim + * @attention + 获取系统Tick数需要在系统时钟使能之后。 + 时间管理不是单独的功能模块,依赖于los_config.h中的OS_SYS_CLOCK和LOSCFG_BASE_CORE_TICK_PER_SECOND两个配置选项。 + 系统的Tick数在关中断的情况下不进行计数,故系统Tick数不能作为准确时间计算。 + */ #define OS_MAX_VALUE 0xFFFFFFFFUL diff --git a/kernel/base/ipc/los_futex.c b/kernel/base/ipc/los_futex.c index 5d1230f6..c3aceb9f 100644 --- a/kernel/base/ipc/los_futex.c +++ b/kernel/base/ipc/los_futex.c @@ -636,7 +636,7 @@ EXIT_ERR: EXIT_UNLOCK_ERR: return futexRet; } - +/// 向Futex表中插入代表被阻塞的线程的node INT32 OsFutexWait(const UINT32 *userVaddr, UINT32 flags, UINT32 val, UINT32 absTime) { INT32 ret; @@ -745,7 +745,7 @@ STATIC INT32 OsFutexWakeTask(UINTPTR futexKey, UINT32 flags, INT32 wakeNumber, F return LOS_OK; } - +/// 唤醒一个被指定锁阻塞的线程 INT32 OsFutexWake(const UINT32 *userVaddr, UINT32 flags, INT32 wakeNumber) { INT32 ret, futexRet; @@ -952,7 +952,7 @@ STATIC INT32 OsFutexRequeueParamCheck(const UINT32 *oldUserVaddr, UINT32 flags, return LOS_OK; } - +/// 调整指定锁在Futex表中的位置 INT32 OsFutexRequeue(const UINT32 *userVaddr, UINT32 flags, INT32 wakeNumber, INT32 count, const UINT32 *newUserVaddr) { INT32 ret; diff --git a/kernel/base/ipc/los_rwlock.c b/kernel/base/ipc/los_rwlock.c index 36b03189..0525fda9 100644 --- a/kernel/base/ipc/los_rwlock.c +++ b/kernel/base/ipc/los_rwlock.c @@ -49,7 +49,7 @@ BOOL LOS_RwlockIsValid(const LosRwlock *rwlock) return FALSE; } - +/// 创建读写锁 UINT32 LOS_RwlockInit(LosRwlock *rwlock) { UINT32 intSave; diff --git a/kernel/base/sched/sched_sq/los_sched.c b/kernel/base/sched/sched_sq/los_sched.c index 75e2b4a7..0430c742 100644 --- a/kernel/base/sched/sched_sq/los_sched.c +++ b/kernel/base/sched/sched_sq/los_sched.c @@ -1120,7 +1120,7 @@ VOID OsSchedResched(VOID) } /*! - * @brief LOS_Schedule 任务调度主函数 + * @brief LOS_Schedule 任务调度主函数,触发系统调度 * * @return * -- GitLab