更新日期: 2021/12/07 来源: https://gitee.com/weharmony/kernel_liteos_a_note
main.c 文件参考

浏览源代码.

函数

LITE_OS_SEC_TEXT_INIT INT32 main (VOID)
 内核入口函数,由汇编调用,见于reset_vector_up.S 和 reset_vector_mp.S
up指单核CPU, mp指多核CPU bl main 更多...
 

函数说明

◆ main()

LITE_OS_SEC_TEXT_INIT INT32 main ( VOID  )

内核入口函数,由汇编调用,见于reset_vector_up.S 和 reset_vector_mp.S
up指单核CPU, mp指多核CPU bl main

返回
LITE_OS_SEC_TEXT_INIT

在文件 main.c41 行定义.

42{
43 UINT32 uwRet;
44
45 uwRet = OsMain();// 内核各模块初始化
46 if (uwRet != LOS_OK) {
47 return LOS_NOK;
48 }
49
50 CPU_MAP_SET(0, OsHwIDGet());//设置CPU映射,参数0 代表0号CPU
51
52 OsSchedStart();//调度开始
53
54 while (1) {
55 __asm volatile("wfi");//WFI: wait for Interrupt 等待中断,即下一次中断发生前都在此hold住不干活
56 }
57}
LITE_OS_SEC_TEXT_INIT INT32 OsMain(VOID)
由汇编调用,鸿蒙C语言层级的入口点
Definition: los_config.c:187
STATIC INLINE UINT64 OsHwIDGet(VOID)
获取CPU硬件ID,每个CPU都有自己的唯一标识
Definition: los_hw_cpu.h:177
VOID OsSchedStart(VOID)
CPU的调度开始,每个CPU核都会执行这个函数一次.
Definition: los_sched.c:900
unsigned int UINT32
Definition: los_typedef.h:57
函数调用图: