百篇博客分析.本篇为: (注释文档篇) | 内核所有函数调用关系图
前因后果相关篇为:
本篇尝试去摸索下鸿蒙内核毛细血管级的脉络,跟踪以下几个问题.
它已成为众多鸿蒙内核阅读者必不可少的参考手册.
前往 >> 鸿蒙研究站 | 源码文档版块 点击函数跟踪.
/**
* @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住不干活
}
}
前往 >> 鸿蒙研究站 | 查看所有结构体索引
前往 >> 查看内核模块协作
按功能模块:
so | tools | load | process |
---|---|---|---|
总目录 调度故事 内存主奴 源码注释 源码结构 静态站点 注释文档 | 双向链表 位图管理 用栈方式 定时器 原子操作 时间管理 | ELF格式 ELF解析 静态链接 重定位 进程映像 | 进程管理 进程概念 Fork 特殊进程 进程回收 信号生产 信号消费 Shell编辑 Shell解析 |
compile | ipc | mem | task |
编译环境 编译过程 环境脚本 构建工具 gn应用 忍者ninja | 自旋锁 互斥锁 进程通讯 信号量 事件控制 消息队列 | 内存分配 内存管理 内存汇编 内存映射 内存规则 物理内存 | 时钟任务 任务调度 任务管理 调度队列 调度机制 线程概念 并发并行 CPU 系统调用 任务切换 |
fs | hw | ||
文件概念 文件系统 索引节点 挂载目录 根文件系统 字符设备 VFS 文件句柄 管道文件 | 汇编基础 汇编传参 工作模式 寄存器 异常接管 汇编汇总 中断切换 中断概念 中断管理 |
四大码仓中文注解 . 定期同步官方代码
鸿蒙研究站( weharmonyos ) | 每天死磕一点点,原创不易,欢迎转载,请注明出处。若能支持点赞则更佳,感谢每一份支持。
|