关于LK详细解析介绍

本文介绍了LK的详细解析,重点关注kmain()函数及其执行的两大任务:LK系统模块初始化和boot启动初始化。深入探讨了arch_early_init()、platform_early_init()以及bootstrap2过程,其中bootstrap2涉及platform_init、target_init和apps_init等关键步骤。
摘要由CSDN通过智能技术生成

LK是什么

       LK 是 Little Kernel 它是 appsbl (Applications ARM Boot Loader)流程代码  ,little kernel 是小内核小操作系统。

       LK 代码 在 bootable/bootloadler/lk 目录下

       LK 代码结构

       +app            // 应用相关

       +arch           // arm 体系 

       +dev            // 设备相关

       +include      // 头文件

       +kernel        // lk系统相关   

       +platform    // 相关驱动

       +projiect     // makefile文件

       +scripts      // Jtag 脚本

       +target        // 具体板子相关

LK 流程分析

      在 bootable/bootloadler/lk/arch/arm/ssystem-onesegment.ld 连接文件中 ENTRY(_start)指定 LK 从_start 函数开始,_start 在 lk/arch/crt0.S中 。crt0.S 主要做一些基本的 CPU 的初始化再通过 bl  kmain ;跳转到 C 代码中。

      kmain 在 lk/kernel/main.c 中

kmain()
kmain 主要做两件事:1、本身 lk 这个系统模块的初始化;2、boot 的启动初始化动作。

        kmain 源码分析:

         void kmain()

      {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值