中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于DragonBoard 410c開(kāi)發(fā)板上的Little Kernel介紹

        關(guān)于DragonBoard 410c開(kāi)發(fā)板上的Little Kernel介紹

        作者: 時(shí)間:2017-10-11 來(lái)源:網(wǎng)絡(luò) 收藏

        Little Kernel是DragonBoard 410c上的Boot Loader,用于實(shí)現(xiàn)硬件初始化、從存儲(chǔ)器件中讀取Linux內(nèi)核與ramdisk并導(dǎo)入到RAM、為L(zhǎng)inux內(nèi)核設(shè)置初始化寄存器與命令行參數(shù)并跳轉(zhuǎn)到Linux內(nèi)核中進(jìn)行執(zhí)行。LK基于www.kernel.org上的開(kāi)源項(xiàng)目進(jìn)行開(kāi)發(fā)。

        本文引用地址:http://www.antipu.com.cn/article/201710/365539.htm

        如果需要明白此文章,您需要對(duì)設(shè)備樹(shù)有基本的了解。設(shè)備樹(shù)是用于描述硬件的數(shù)據(jù)結(jié)構(gòu)。它具備一個(gè)節(jié)點(diǎn)的樹(shù),每個(gè)節(jié)點(diǎn)都包含了屬性與其他節(jié)點(diǎn)。本文僅僅適用于安卓開(kāi)發(fā)者。

        Little Kernel概述

        Android系統(tǒng)的Boot Loader為L(zhǎng)ittle Kernel

        LK實(shí)現(xiàn)如下功能:

        硬件初始化:設(shè)置向量表,MMU,緩存,初始化外圍模塊,存儲(chǔ)器件,USB,加密等

        從存儲(chǔ)器件中導(dǎo)入boot.img文件

        支持Flashing與恢復(fù)操作

        Little Kernel代碼的下載與編譯

        我們可以按照如下步驟下載代碼

        從LK的Git網(wǎng)站中clone代碼

        git clone git://codeaurora.org/kernel/lk.git

        更新代碼: git pull origin或 git fetch orgin

        檢查特定版本的分支:git checkout –b

        export PATH = $PATH:Path to arm-eabi-*> binaries

        export TOOLCHAIN_PREFIX = arm-eabi-

        make msm8916 EMMC_BOOT = 1123123

        在Little Kernel中創(chuàng)建一個(gè)build-msm8916文件:

        其中,文件編譯目標(biāo)位于/lk/target中

        在A(yíng)ndroid 工程中,編譯器位于/prebuild/gcc/linux-x86/arm/arm-toolchain/arm-eabi-4.7/bin/arm-eabi-

        此外,build/目標(biāo)文件中包括了:emmc_appsboot.mbn(映像文件)與LK,其中包括了所有的符號(hào)。

        設(shè)備樹(shù)的申明

        設(shè)備樹(shù)是一種描述硬件的數(shù)據(jù)結(jié)構(gòu)

        設(shè)備樹(shù)源代碼包含如下結(jié)構(gòu)(dts文件):

        包含了節(jié)點(diǎn)與屬性的簡(jiǎn)單樹(shù)結(jié)構(gòu)

        屬性由鍵值對(duì)所組成,節(jié)點(diǎn)有可能同時(shí)包含子節(jié)點(diǎn)與屬性

        dts文件的格式支持C與C++風(fēng)格的注釋

        對(duì)于A(yíng)RM架構(gòu)來(lái)說(shuō),設(shè)備樹(shù)源代碼可以在kernel/arch/arm/boot/dts/qcom文件夾中找到

        Device Tress Blob(dtb):

        設(shè)備樹(shù)編譯器將dts文件編譯為能被Linux Kernel所識(shí)別的二進(jìn)制目標(biāo)dtb文件。

        blob以如下的方式在編譯期間被添加到kernel鏡像中。

        圖 1 DTB文件與內(nèi)核關(guān)系

        設(shè)備樹(shù)表頭如下所示:

        struct dt_table{

        uint32_t magic;

        uint32_t version;

        uint32_t num_entries;

        };

        設(shè)備樹(shù)入口如下所示:

        struct dt_entry{

        uint32_t platform_id; → Platform ID/Chipset ID

        uint32_t variant_id; → Hardware variants (MTP, CDP, etc.)

        uint32_t board_hw_subtype; → DisTInguishes between subtypes like

        pmicvariants, fusion/standalone etc.

        uint32_t soc_rev;→ SOC revision

        uint32_t pmic_rev[4];→ PMIC revision

        uint32_t offset;

        uint32_t size;

        };

        每個(gè)設(shè)備的DTS代碼都添加了qcom,msm-id/qcom,board-id/qcom,pmic-id入口,其中:

        qcom,msm-id入口定義了MSM芯片集,硬件版本以及可選的制造商

        qcom,msm-id入口定義了硬件的參數(shù)與子類(lèi)版本

        qcom,pmic-id入口定義了支持給定MSM平臺(tái)的PMIC芯片

        LK在啟動(dòng)節(jié)點(diǎn)使用如下信息來(lái)決定,使用哪一個(gè)設(shè)備樹(shù)并傳遞到內(nèi)核中的設(shè)備樹(shù)中:

        qcom,msm-id = ;

        qcom,board-id =



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉