如何为DragonBoard 410c定制Android系统

处理器/DSP

893人已加入

描述

上一篇博文《初识DragonBoard 410c》已经为大家简单介绍了DragonBoard 410c这款平台,并且也介绍了Ubuntu系统和Android系统烧写方法。今天,将介绍一下Android系统定制方面的内容。这样你就可以自己基于Android系统进行修改、定制、开发等,来满足自己的需求。

下载Android源码

大家可以通过repo命令下载代码:

repo init -u git://codeaurora.org/platform/manifest -b release -m LA.BR.1.2.4-01810-8x16.0.xml

repo sync -c --no-tags -j4

上面的release版本是今年9月份的,如果大家想下载最新版本应该怎么办呢?下面给大家介绍一下如何查找代码库的位置。

首先打开CodeAurora网站https://www.codeaurora.org/,点击TOP PROJECTS的Android for MSM进入对应的project。

Android

进入Android for MSM页面后点击下图中红色圆圈的Wiki按钮,访问此project的wiki页面。

Android

在Wiki页面中查找Branch Release章节,你可以找到代码下载方法(红框处)。我们要下载Release分支的代码,所以点击下图中红圈处的release链接,会进入release列表页面。

Android

在此页面就可以找到自己想要代码的Manifest了,DragonBoard 410c用的是Snapdragon 410芯片,所以我们选择的Chipset是msm8916_64。

Android

修改确认kernel的UART配置

下载完代码后,我们需要对kernel的UART进行简单配置,具体配置参数可以参考kernel的devicetree文档(kernel/Documentation/devicetree/bindings/tty/serial/msm_serial.txt)。

首先,确认kernel/arch/arm64/boot/dts/qcom/msm8916.dtsi里的blsp1_uart2设置,具体设置如下:

blsp1_uart2: serial@78b0000 {
    compatible = "qcom,msm-lsuart-v14";
    reg = <0x78b0000 0x200>;
    interrupts = <0 108 0>;
    status = "disabled";
    clocks = <&clock_gcc clk_gcc_blsp1_uart2_apps_clk>,
             <&clock_gcc clk_gcc_blsp1_ahb_clk>;
    clock-names = "core_clk", "iface_clk";
}; 

然后,确认kernel/arch/arm64/boot/dts/qcom/msm8916-pinctrl.dtsi里的uartconsole设置。

pmx-uartconsole {
    qcom,pins = <&gp 4>, <&gp 5>;
    qcom,num-grp-pins = <2>;
    qcom,pin-func = <2>;
    label = "uart-console";
    uart_console_sleep: uart-console {
        drive-strength = <2>;
        bias-pull-down;
    };
}; 

最后,确认kernel/drivers/clk/qcom/clock-gcc-8916.c中的blsp1_uart2_apps_clk_src ,如下:

static struct rcg_clk blsp1_uart2_apps_clk_src = {
        .cmd_rcgr_reg = BLSP1_UART2_APPS_CMD_RCGR,
        .set_rate = set_rate_mnd,
        .freq_tbl = ftbl_gcc_blsp1_uart1_6_apps_clk,
        .current_freq = &rcg_dummy_freq,
        .base = &virt_bases[GCC_BASE],
        .c = {
                .dbg_name = "blsp1_uart2_apps_clk_src",
                .ops = &clk_ops_rcg_mnd,
                VDD_DIG_FMAX_MAP2(LOW, 32000000, NOMINAL, 64000000),
                CLK_INIT(blsp1_uart2_apps_clk_src.c),
        },
}; 

确认修改完以上的配置后就可以编译系统了。

编译源码

通过以下命令编译Android系统。编译完的image可以通过fastboot命令烧写到DragonBoard 410c上。

source build/envsetup.sh

lunch msm8916_64-userdebug

make -j4

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分