怎么为DragonBoard 410c定制Android系统

  上一篇博文《初识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 for MSM页面后点击下图中红色圆圈的Wiki按钮,访问此project的wiki页面。

这里写图片描述

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

这里写图片描述

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

这里写图片描述


修改确认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 
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值