高通MDM平台开发入门

源码下载

高通MDM平台代码分为两个部分:高通私有代码 以及 开源公有代码

针对某一个平台,高通会提供一条基线,包括了私有代码的版本以及公有代码每个库的revision

私有代码下载:请访问https://chipcode.qti.qualcomm.com/ 找到对应的平台以及基线,有git 下载路径,需要权限

公有代码下载:在基线中有codeaurora相关的repo下载路径,找到对应的manifest即可下载,codeaurora的网页地址为https://source.codeaurora.org/

目录架构

高通MDM平台开发入门_第1张图片

apps_proc:APSS中的部分私有代码,以及对应的oe 编译规则

boot_images:BootLoader 也就是sbl

cnss_proc:bluetooth 以及wlan的一些文件

common:最后打包NON-HLOS镜像,以及分区表

modem_proc:modem代码

rpm_proc:rpm代码

trustzone_image:tz代码

环境配置

MDM编译包括MPSS、APSS、bootloader、RPM、TZBSP以及最后的NOHLOS-image镜像打包

其中bootloader 也就是sbl ,以及tz ,rpm 采用arm编译链,需要lisence,我们采用的是ARMCT5

MPSS也就是modem 采用高通的交叉编译链 Hexagon,我们使用的是 6.4.05,可查看高通文档安装

APSS 一般要求在Ubuntu12.04 的64位机器上编译 用的版本是 r2

其他安装:

QPST

PYTHON 2.7.5 64 bit

USB driver

配置环境变量:

编译sbl,tz,rpm时,新建setenv.sh:

export ARMTOOLS=RVCT41
export ARMROOT=${HOME}/DS-5
export ARMPATH=${ARMROOT}/bin
export ARMLIB=${ARMROOT}/lib
export ARMINCLUDE=${ARMROOT}/include
export ARMINC=${ARMROOT}/include
export ARMBIN=${ARMROOT}/bin
export ARMHOME=${ARMROOT}

如果有arm编译服务器,需要设置export ARMLMD_LICENSE_FILE=PORT@IP,IP为服务器IP,PORT为服务器端口

编译MPSS时,新建setenv.sh

export ARMTOOLS=NONE
export HEXAGON_ROOT=${HOME}/Qualcomm/HEXAGON_Tools
export PYTHONBIN=`which python`
 

编译产出

由于mdm一般用于比较低成本的设备,所以以下都是默认nand flash

APSS:

    cd apps_proc/oe-core
    source build/conf/set_bb_env.sh

    build9640

    产物路径:apps_proc/oe-core/build/tmp-eglibc/deploy/images/mdm9640
    镜像:mdm9640-boot.img、appsboot.mbn、mdm9640-sysfs.ubi

SBL:

    cd boot_images/build/ms

    ./setenv.sh

    ./build.sh TARGET_FAMILY=9x45 --prod -j1

    产物路径:boot_images/build/ms/bin/9x45/nand
    镜像:ENPRG9x45.mbn、NPRG9x45.mbn、sbl1.mbn

MPSS:

    cd modem_proc/build/ms

    ./setenv.sh

    ./build.sh 9645.LEgen.prod  -k

    产物路径:modem_proc/build/ms/9645.LEgen.prod
    镜像:mba.mbn 、qdsp6sw.mbn

RPM:

    cd rpm_proc/build/ms

    ./setenv.sh

    ./build_9x45.sh

    产物路径:rpm_proc/build/ms/bin/9x45
    镜像:rpm.mbn

TZ:

      cd trustzone_images/build/ms
    ./build_9x45.sh

    产物路径:trustzone_images/build/ms/bin/TAFAANBA
    镜像:tz.mbn

COMMON:

    以上编译完成后执行打包以及分区制作

    cd common/build

    python build.py
    产物路径:common/build
    镜像:partition.mbn、NON-HLOS.ubi

烧录镜像

在安装完usb driver 以及qpst之后,插上样机,会出现qdloader的USB 端口,这时可以使用qpst 烧录镜像,协议是firehorse

具体请参阅80-NP527-11 中的第4.4节,这里不多做介绍

 

Reference:80-NP527-11_C_MDM9x40_MDM9x45_LE_Build_Integration.pdf

你可能感兴趣的:(MDM,高通)