回复
v73.01 鸿蒙内核源码分析(注释文档) | 内核所有函数调用关系图 原创 精华
鸿蒙内核源码分析
发布于 2021-10-28 17:57
浏览
4收藏
百篇博客分析.本篇为: (注释文档篇) | 内核所有函数调用关系图
前因后果相关篇为:
- v08.03 鸿蒙内核源码分析(总目录) | 百万汉字注解 百篇博客分析
- v09.04 鸿蒙内核源码分析(调度故事) | 用故事说内核调度
- v10.03 鸿蒙内核源码分析(内存主奴) | 皇上和奴才如何相处
- v13.05 鸿蒙内核源码分析(源码注释) | 每天死磕一点点
- v18.02 鸿蒙内核源码分析(源码结构) | 内核文件各自含义
- v52.05 鸿蒙内核源码分析(静态站点) | 码农都不爱写注释和文档
- v73.01 鸿蒙内核源码分析(注释文档) | 内核所有函数调用关系图
工欲善其事 必先利其器
本篇尝试去摸索下鸿蒙内核毛细血管级的脉络,跟踪以下几个问题.
- 鸿蒙有多少个结构体,结构体中每个成员变量的含义是什么?
- 鸿蒙main长啥样,其是如何初始化各个模块的?
- 鸿蒙的任意一个函数的调用和引用关系关系是怎样的?
它已成为众多鸿蒙内核阅读者必不可少的参考手册.
鸿蒙 main 函数长啥样
前往 >> 鸿蒙研究站 | 源码文档版块 点击函数跟踪.
/**
* @brief
* 内核入口函数,由汇编调用,见于reset_vector_up.S 和 reset_vector_mp.S
* up指单核CPU, mp指多核CPU bl main
* @return LITE_OS_SEC_TEXT_INIT
*/
LITE_OS_SEC_TEXT_INIT INT32 main(VOID)//由主CPU执行,默认0号CPU 为主CPU
{
UINT32 uwRet;
uwRet = OsMain();// 内核各模块初始化
if (uwRet != LOS_OK) {
return LOS_NOK;
}
CPU_MAP_SET(0, OsHwIDGet());//设置CPU映射,参数0 代表0号CPU
OsSchedStart();//调度开始
while (1) {
__asm volatile("wfi");//WFI: wait for Interrupt 等待中断,即下一次中断发生前都在此hold住不干活
}
}
结构体/宏/枚举类型
前往 >> 鸿蒙研究站 | 查看所有结构体索引
< 任意函数关系图 | 代码实现 | 注解说明 > 三位一体
模块之间关系图
任意头文件的关系图
内核协作图
前往 >> 查看内核模块协作
百篇博客分析.深挖内核地基
- 给鸿蒙内核源码加注释过程中,整理出以下文章。内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感,容易理解记忆。说别人能听得懂的话很重要! 百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思。更希望让内核变得栩栩如生,倍感亲切.确实有难度,自不量力,但已经出发,回头已是不可能的了。 😛
- 与代码有bug需不断debug一样,文章和注解内容会存在不少错漏之处,请多包涵,但会反复修正,持续更新,v**.xx 代表文章序号和修改的次数,精雕细琢,言简意赅,力求打造精品内容。
按功能模块:
- 前因后果 >> 总目录 | 调度故事 | 内存主奴 | 源码注释 | 源码结构 | 静态站点 | 注释文档 |
- 基础工具 >> 双向链表 | 位图管理 | 用栈方式 | 定时器 | 原子操作 | 时间管理 |
- 加载运行 >> ELF格式 | ELF解析 | 静态链接 | 重定位 | 进程映像 |
- 进程管理 >> 进程管理 | 进程概念 | Fork | 特殊进程 | 进程回收 | 信号生产 | 信号消费 | Shell编辑 | Shell解析 |
- 编译构建 >> 编译环境 | 编译过程 | 环境脚本 | 构建工具 | gn应用 | 忍者ninja |
- 进程通讯 >> 自旋锁 | 互斥锁 | 进程通讯 | 信号量 | 事件控制 | 消息队列 |
- 内存管理 >> 内存分配 | 内存管理 | 内存汇编 | 内存映射 | 内存规则 | 物理内存 |
- 任务管理 >> 时钟任务 | 任务调度 | 任务管理 | 调度队列 | 调度机制 | 线程概念 | 并发并行 | CPU | 系统调用 | 任务切换 |
- 文件系统 >> 文件概念 | 文件系统 | 索引节点 | 挂载目录 | 根文件系统 | 字符设备 | VFS | 文件句柄 | 管道文件 |
- 硬件架构 >> 汇编基础 | 汇编传参 | 工作模式 | 寄存器 | 异常接管 | 汇编汇总 | 中断切换 | 中断概念 | 中断管理 |
百万汉字注解.精读内核源码
四大码仓中文注解 . 定期同步官方代码
鸿蒙研究站( weharmonyos ) | 每天死磕一点点,原创不易,欢迎转载,请注明出处。若能支持点赞则更佳,感谢每一份支持。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
10.26鸿蒙内核源码分析(百篇博客分析).zip 9.71M 190次下载
已于2021-12-7 17:35:56修改
赞
6
收藏 4
回复
1条回复
按时间正序
/
按时间倒序
liangkz_梁开祝
回复
相关推荐