官术网_书友最值得收藏!

6.1.2 OMAP適用于Android的Linux內核的結構

OMAP處理器的Zoom平臺Linux內核和標準的Linux內核的差別主要體現在以下幾個方面:

OMAP Zoom平臺機器的移植

OMAP Zoom平臺的驅動程序

Android中特有的驅動程序和組件

其中,OMAP Zoom機器的移植和OMAP Zoom平臺的驅動程序是硬件相關的內容,而Android中特有的驅動程序和組件是Android中特有的部分,這種內容在Android平臺的Linux內核中是基本相同的。

在Android開源工程的網站上,使用git工具得到goldfish內核的方式如下所示:

    $ git clone git://android.git.kernel.org/kernel/common.git

編譯goldfish內核的過程如下所示:

    $ make ARCH=arm goldfish_defconfig .config
    $ make ARCH=arm CROSS_COMPILE={path}/arm-none-linux-gnueabi-

使用OMAP處理器的Zoom平臺config文件的路徑為arch/arm/configs目錄中的zoom2_defconfig,這個文件關于體系結構方面的片斷如下所示:

    CONFIG_ARM=y
    CONFIG_MMU=y
    #
    # System Type
    #
    CONFIG_ARCH_OMAP=y

OMAP Zoom的config文件后面的內容是OMAP處理器使用的特性和板級類型,主要內容如下所示:

    #
    # TI OMAP Implementations
    #
    CONFIG_ARCH_OMAP_OTG=y
    CONFIG_ARCH_OMAP3=y
    #
    # OMAP Feature Selections
    #
    CONFIG_ARCH_OMAP3_GP=y
    # CONFIG_ARCH_OMAP3_HS is not set
    # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
    # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
    CONFIG_OMAP_SMARTREFLEX=y
    # CONFIG_OMAP_SMARTREFLEX_TESTING is not set
    CONFIG_OMAP_RESET_CLOCKS=y
    CONFIG_OMAP_BOOT_TAG=y
    CONFIG_OMAP_BOOT_REASON=y
    # ...... 省略中間的內容
    #
    # OMAP Board Type
    #
    CONFIG_MACH_OMAP_ZOOM2=y
    CONFIG_WIFI_CONTROL_FUNC=y
    # ......

在以上選項中,CONFIG_ARCH_OMAP3、CONFIG_MACH_OMAP_ZOOM2等幾個選項選定了所使用機器的類型和詳細的配置內容。

由于這里使用的是OMAP3430處理器,它使用了ARVv7體系結構的Context A8的CPU核心,因此后面的CPU部分的配置如下所示:

    #
    # Processor Type
    #
    CONFIG_CPU_32=y
    CONFIG_CPU_32v6K=y
    CONFIG_CPU_V7=y
    CONFIG_CPU_32v7=y
    CONFIG_CPU_ABRT_EV7=y
    CONFIG_CPU_PABRT_IFAR=y
    CONFIG_CPU_CACHE_V7=y
    CONFIG_CPU_CACHE_VIPT=y
    CONFIG_CPU_COPY_V6=y
    CONFIG_CPU_TLB_V7=y
    CONFIG_CPU_HAS_ASID=y
    CONFIG_CPU_CP15=y
    CONFIG_CPU_CP15_MMU=y

由于ARVv7中的A系列是當前ARM功能最強的體系結構,因此在這里打開了ARM CPU所有的特性。

主站蜘蛛池模板: 栾城县| 凤翔县| 平江县| 武胜县| 慈利县| 二手房| 宿松县| 铜梁县| 河北省| 嘉鱼县| 类乌齐县| 女性| 柏乡县| 文安县| 伊吾县| 瑞安市| 万年县| 白山市| 盘锦市| 蒙城县| 射阳县| 慈溪市| 财经| 囊谦县| 黔西县| 紫金县| 同江市| 宁河县| 雅安市| 榆树市| 礼泉县| 大田县| 沙坪坝区| 义马市| 赤城县| 犍为县| 平潭县| 井陉县| 金寨县| 东兴市| 辽源市|