LK是(L)ittle (K)ernel的缩写,是一个功能及其强大的bootloader开源项目,但现在只支持arm和x86平台。
LK的一个显著的特点就是它实现了一个简单的线程机制(thread),和对高通处理器的深度定制和使用。因此高通平台android普遍采用LK作为其bootloader。但是,LK只是整个系统的引导部分。
1,lk的代码链接方式以及第一行代码的位置
本文以高通平台为例,编译lk的命令是make aboot,编译后生成一个emmc_appsboot.mbn image文件。mbn格式是高通包含了特定运营商定制的一套efs,nv的集成包文件。大致格式可以认为和elf相似。
确定bootloader/lk第一行执行的代码
整个系统的启动顺序是PBL加载运行SBL1,SBL1加载运行LK,LK加载运行kernel,kernel启动android。
关于这部分更详细的讲解可以参考linux驱动由浅入深系列:PBL-SBL1-(bootloader)LK-Android启动过程详解之一(高通MSM8953启动实例)
其中我们知道LK的image是 emmc_appsboot.mbn,它被PBL加载进内存后,其代码段第一条指令就是emmc_appsboot.mbn在编译链接时有ld链接脚本确定的。
查看lk相应的链接脚本发现

LK(little kernel)第一行代码链接位置分析及lk启动过程相关推荐

  1. 第一行代码android网课,linux内核分析(网课期末地面课期中)

    堆栈变化过程:html 计算机是如何工做的?(总结)--三个法宝git 存储程序计算机工做模型,计算机系统最最基础性的逻辑结构:程序员 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时 ...

  2. 怎么编写提醒人结账的短信息_我如何在短短8个月的时间里从编写第一行代码到获得$ 226K的工作机会...

    怎么编写提醒人结账的短信息 I got offers from Google, Lyft, Yelp, cloud unicorn Rubrik, IBM Artificial Intelligenc ...

  3. 第一行代码第三版笔记

    第3章 Activity 主acitivity:程序运行起来首先启动的activity manifest <?xml version="1.0" encoding=" ...

  4. 从零开始写安卓APP 《第一行代码》笔记 第一周

    这是软件开发课的任务,本人其实不会java也不会安卓开发.以前只做过web端,因为某课程的爆炸实验单人撸了全栈.不过好在很早前就想学了,这里记录一下过程.放的主要是<第一行代码>的一些笔记 ...

  5. 基于第一行代码CoolWeather的小白天气开发

    小白天气开发练习 小白基于guolin大神第一行代码CoolWeather开发,最后附上github链接 文章目录 小白天气开发练习 数据来源 CoolWeather目录结构 用例图&时序图 ...

  6. Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  7. Android Studio 单刷《第一行代码》系列 04 —— Activity 相关

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  8. Android Studio 单刷《第一行代码》系列 03 —— Activity 基础

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  9. Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

最新文章

  1. ALV GRID学习笔记----Double Click事件
  2. C++睡眠延时函数 Sleep() usleep()(windows.h、unistd.h)
  3. Vite与webpack优势
  4. python怎么打印出文件的内容_Python---进阶---文件操作---按需求打印文件的内容
  5. 会玩!抖音上线拉春联特效 “拜个抖音年”活动参与人数超65万
  6. 智慧工厂平台整体结局方案
  7. go数据类型之map
  8. 在java中如何定义一个方法,个人编程学习网 - Java-方法中的术语和如何定义方法...
  9. 通过windows远程访问linux桌面的方法(简单)
  10. 用户服务协议和隐私政策
  11. 阿里云ECS服务器的搭建过程小记
  12. 路由器04--OPKG
  13. 阿里云轻量级应用服务器设置外网访问端口
  14. html制作钟表盘,CSS3简易表盘时钟
  15. C语言每日一练——第66天:委派任务问题
  16. 东软云HIS医疗管理系统——技术栈【SpringBoot+Vue+MySQL+MyBatis】
  17. Flutter中如何选择StatelessWidget和StatefulWidget
  18. 看完数学概念背后的故事,让孩子的数学兴趣激增1000倍!
  19. zblog访问记录v2.5.0
  20. python tensorflow教程_真正从零开始,TensorFlow详细安装入门图文教程!

热门文章

  1. 【神经网络实验】Numpy手写多层神经网络
  2. Z-stack 协议栈基础知识
  3. blas daxpy dcopy函数的使用
  4. h5 localStorage
  5. MySQL 05 存储过程
  6. Intellij IDEA 中一次性折叠所有Java代码的快捷键设置 collapse all
  7. 计算机一级ms offecs试题,技能培训专题-中控ECS-700 用户程序 V2
  8. OS + Linux RedHat / redhat 5 / redhat 6 / redhat 7
  9. 若依框架刷新页面出现 正在加载系统资源,请耐心等待
  10. 读取EXCEL。POI的一个死坑。。文件的流不能close以及删除