本文隻有部分内容,請到一牛網閱讀全文:
http://www.16rd.com/blog-8691-2961.html
1. Lk概述
LK是(L)ittle(K)ernel的縮寫。
高通平台Android普遍采用LK作為其bootloader,LK是一個開源項目。但是,LK隻是整個系統的引導部分,是以它不是獨立存在。LK是一個功能及其強大的bootloader,但現在隻支援arm和x86平台。
LK的一個顯著的特點就是它實作了一個簡單的線程機制(thread),和對高通處理器的深度定制和使用。
2. 源代碼目錄
app //主函數啟動app執行的目錄,第一個app在app/aboot/aboot.c中
arch //體系代碼包含x86和arm
dev //裝置目錄,包含顯示器,鍵盤,net,usb等裝置的初始化代碼
include //頭檔案
kernel //kernel/main.c主函數以及kernel/thread.c線程函數
lib //庫檔案
make //編譯規則
platform //不同平台代碼mdmxxx,msmxxx,apqxxx,qsdxxx,還有共享的目錄msm_shared
project //整個工程的編譯規則
target //通用init.c,具體目标闆的初始化(主要為闆子裝置資源init.c代碼中),編譯規則代碼(一級s810.mk二級hdc8094.mk)
3. Lk入口
bootable\bootloader\lk\arch\arm\rule.mk檔案下相關部分:
本文隻有部分内容,請到一牛網閱讀全文:
http://www.16rd.com/blog-8691-2961.html
轉載于:https://my.oschina.net/cy2/blog/718592