v73.01 鸿蒙内核源码分析(注释文档篇) | 内核所有函数调用关系图 | 百篇博客分析OpenHarmony源码

2021/12/9 9:17:21

本文主要是介绍v73.01 鸿蒙内核源码分析(注释文档篇) | 内核所有函数调用关系图 | 百篇博客分析OpenHarmony源码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

百篇博客分析.本篇为: (注释文档篇) | 内核所有函数调用关系图

前因后果相关篇为:

  • 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住不干活
    }
}

结构体/宏/枚举类型

前往 >> 鸿蒙研究站 | 查看所有结构体索引



< 任意函数关系图 | 代码实现 | 注解说明 > 三位一体


模块之间关系图

任意头文件的关系图

内核协作图

前往 >> 查看内核模块协作

百篇博客分析.深挖内核地基

  • 给鸿蒙内核源码加注释过程中,整理出以下文章。内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感,容易理解记忆。说别人能听得懂的话很重要! 百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思。更希望让内核变得栩栩如生,倍感亲切.确实有难度,自不量力,但已经出发,回头已是不可能的了。 


这篇关于v73.01 鸿蒙内核源码分析(注释文档篇) | 内核所有函数调用关系图 | 百篇博客分析OpenHarmony源码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程