Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
鸿蒙内核源码分析
注释鸿蒙内核源码
提交
f9280fc9
注释鸿蒙内核源码
项目概览
鸿蒙内核源码分析
/
注释鸿蒙内核源码
通知
270
Star
29
Fork
11
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
106
Wiki
分析
仓库
DevOps
项目成员
Pages
注释鸿蒙内核源码
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
106
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f9280fc9
编写于
2月 09, 2021
作者:
鸿蒙内核源码分析
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
鸿蒙内核源码分析(定时器机制篇) | 内核最高优先级任务是谁???
百万汉字注解 + 百篇博客分析 -> 鸿蒙内核源码
上级
37dea5a3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
15 addition
and
19 deletion
+15
-19
README.md
README.md
+8
-8
kernel/base/core/los_swtmr.c
kernel/base/core/los_swtmr.c
+2
-2
kernel/include/los_swtmr.h
kernel/include/los_swtmr.h
+3
-3
zzz/git/push.sh
zzz/git/push.sh
+2
-6
未找到文件。
README.md
浏览文件 @
f9280fc9
...
...
@@ -55,7 +55,9 @@
## **百篇博客分析**
*
(总目录) | 精读内核源码 深挖地基工程
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/108727970
)
[
| OSCHINA >
]
(https://my.oschina.net/u/3751245/blog/4626852)
在给鸿蒙内核源码加注释过程中,整理出以下文章.
*
(总目录) | 百万汉字注解 百篇博客分析
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/108727970
)
[
| OSCHINA >
]
(https://my.oschina.net/u/3751245/blog/4626852)
### **故事篇**
...
...
@@ -112,6 +114,8 @@
### **基础篇**
*
(定时器机制篇) | 内核最高优先级任务是谁???
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/113774260
)
[
| OSCHINA >
]
(https://my.oschina.net/weharmony/blog/4951625)
*
(汇编传参篇) | 汇编如何传递复杂的参数?
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/113265990
)
[
| OSCHINA >
]
(https://my.oschina.net/u/3751245/blog/4927892)
*
(汇编基础篇) | CPU在哪里打卡上班 ?
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/112986628
)
[
| OSCHINA >
]
(https://my.oschina.net/u/3751245/blog/4920361)
...
...
@@ -122,13 +126,13 @@
*
(源码结构篇) | 内核500问你能答对多少?
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/111938348
)
[
| OSCHINA >
]
(https://my.oschina.net/u/3751245/blog/4869137)
*
(源码注释篇) | 精读内核源码
有哪些好处?
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/109251754
)
[
| OSCHINA >
]
(https://my.oschina.net/u/3751245/blog/4686747)
*
(源码注释篇) | 精读内核源码
深挖地基工程
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/109251754
)
[
| OSCHINA >
]
(https://my.oschina.net/u/3751245/blog/4686747)
*
(双向链表篇) | 谁是内核最重要结构体?
[
< CSDN
](
https://blog.csdn.net/kuangyufei/article/details/108585659
)
[
| OSCHINA >
]
(https://my.oschina.net/u/3751245/blog/4572304)
### **主流站点**
感谢
OSCHINA,CSDN,华为开发者论坛, 51CTO, 电子发烧友
,以及其他小伙伴通过自己的公众号对系列文章的转载和推荐,无以为报,唯有不断的深挖内核地基,输出更多文章,错漏之处请多见谅,会持续完善源码注解和文档内容,精雕细琢,尽全力打磨精品内容。文章输出站点:
感谢
`OSCHINA`
,
`CSDN`
,
`华为开发者论坛`
,
`51CTO`
,
`电子发烧友`
,以及其他小伙伴通过自己的公众号对系列文章的转载和推荐,无以为报,唯有不断的深挖内核地基,输出更多文章,错漏之处请多见谅,会持续完善源码注解和文档内容,精雕细琢,尽全力打磨精品内容。文章输出站点:
**[CSDN |](https://blog.csdn.net/kuangyufei)**
**[开源中国 |](https://my.oschina.net/weharmony)**
**[51CTO |](https://harmonyos.51cto.com/column/34)**
**[头条号 |](https://gitee.com/weharmony/docs/raw/master/pic/other/tt.png)**
**[WeHarmony |](https://weharmony.gitee.io)**
**[公众号](https://gitee.com/weharmony/docs/raw/master/pic/other/wxcode.png)**
...
...
@@ -168,8 +172,4 @@
百万汉字注解 >> 精读内核源码,中文注解分析, 深挖地基工程,大脑永久记忆,四大码仓每日同步更新
[
< Gitee
](
https://gitee.com/weharmony/kernel_liteos_a_note
)[
| Github
]
(https://github.com/kuangyufei/kernel_liteos_a_note)
[
| CSDN
](
https://codechina.csdn.net/kuangyufei/kernel_liteos_a_note
)[
| Coding >
]
(https://weharmony.coding.net/public/harmony/kernel_liteos_a_note/git/files)
百篇博客分析 >> 故事说内核,问答式导读,生活式比喻,表格化说明,图形化展示,多站点每日同步更新
[
< OSCHINA
](
https://my.oschina.net/u/3751245/blog/4626852
)[
| CSDN
]
(https://blog.csdn.net/kuangyufei/article/details/108727970)
[
| WeHarmony >
](
https://weharmony.gitee.io/
)
百篇博客分析 >> 故事说内核,问答式导读,生活式比喻,表格化说明,图形化展示,多站点每日同步更新
[
< OSCHINA
](
https://my.oschina.net/u/3751245/blog/4626852
)[
| CSDN
]
(https://blog.csdn.net/kuangyufei/article/details/108727970)
[
| WeHarmony >
](
https://weharmony.gitee.io/
)
\ No newline at end of file
kernel/base/core/los_swtmr.c
浏览文件 @
f9280fc9
...
...
@@ -110,7 +110,7 @@ extern "C" {
LITE_OS_SEC_BSS
SWTMR_CTRL_S
*
g_swtmrCBArray
=
NULL
;
/* First address in Timer memory space */
//定时器池
LITE_OS_SEC_BSS
UINT8
*
g_swtmrHandlerPool
=
NULL
;
/* Pool of Swtmr Handler */
//用于注册软时钟的回调函数
LITE_OS_SEC_BSS
LOS_DL_LIST
g_swtmrFreeList
;
/* Free list of Software Timer */
LITE_OS_SEC_BSS
LOS_DL_LIST
g_swtmrFreeList
;
/* Free list of Software Timer */
//空闲定时器链表
/* spinlock for swtmr module, only available on SMP mode */
LITE_OS_SEC_BSS
SPIN_LOCK_INIT
(
g_swtmrSpin
);
//初始化软时钟自旋锁,只有SMP情况才需要,只要是自旋锁都是用于CPU多核的同步
...
...
@@ -417,7 +417,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_SwtmrCreate(UINT32 interval,
sortList
=
LOS_DL_LIST_ENTRY
(
g_swtmrFreeList
.
pstNext
,
SortLinkList
,
sortLinkNode
);
swtmr
=
LOS_DL_LIST_ENTRY
(
sortList
,
SWTMR_CTRL_S
,
stSortList
);
LOS_ListDelete
(
LOS_DL_LIST_FIRST
(
&
g_swtmrFreeList
));
LOS_ListDelete
(
LOS_DL_LIST_FIRST
(
&
g_swtmrFreeList
));
//
SWTMR_UNLOCK
(
intSave
);
swtmr
->
uwOwnerPid
=
OsCurrProcessGet
()
->
processID
;
//定时器进程归属设定
...
...
kernel/include/los_swtmr.h
浏览文件 @
f9280fc9
...
...
@@ -263,8 +263,8 @@ typedef VOID (*SWTMR_PROC_FUNC)(UINTPTR arg); //函数指针, 赋值给 SWTMR_CT
* @ingroup los_swtmr
* Software timer control structure
*/
typedef
struct
tagSwTmrCtrl
{
//
变量前缀 uc:UINT8 us:UINT16 uw:UINT32 代表的意思
SortLinkList
stSortList
;
typedef
struct
tagSwTmrCtrl
{
//
软件定时器控制块
SortLinkList
stSortList
;
//通过它挂到对应CPU核定时器链表上
UINT8
ucState
;
/**< Software timer state */
//软件定时器的状态
UINT8
ucMode
;
/**< Software timer mode */
//软件定时器的模式
UINT8
ucOverrun
;
/**< Times that a software timer repeats timing */
//软件定时器重复计时的次数
...
...
@@ -279,7 +279,7 @@ typedef struct tagSwTmrCtrl {//变量前缀 uc:UINT8 us:UINT16 uw:UINT32 代表
that handles software timer timeout is called */
SWTMR_PROC_FUNC
pfnHandler
;
/**< Callback function that handles software timer timeout */
//处理软件计时器超时的回调函数
UINT32
uwOwnerPid
;
/** Owner of this software timer */
//软件定时器所属进程ID号
}
SWTMR_CTRL_S
;
}
SWTMR_CTRL_S
;
//变量前缀 uc:UINT8 us:UINT16 uw:UINT32 代表的意思
/**
* @ingroup los_swtmr
...
...
zzz/git/push.sh
浏览文件 @
f9280fc9
git add
-A
git commit
-m
'鸿蒙内核源码分析(事件控制篇) | 任务间一对多和多对多的同步方案
搜索 @note_pic 可查看绘制的全部字符图
搜索 @note_why 是尚未看明白的地方,有看明白的,请Pull Request完善
搜索 @note_thinking 是一些的思考和建议
搜索 @note_#if0 是由第三方项目提供不在内核源码中定义的极为重要结构体,为方便理解而添加的。
搜索 @note_good 是给源码点赞的地方
git commit
-m
'鸿蒙内核源码分析(定时器机制篇) | 内核最高优先级任务是谁???
百万汉字注解 + 百篇博客分析 -> 鸿蒙内核源码
'
git push origin master
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录