博客
关于我
msm8909 Android6.0杂记
阅读量:346 次
发布时间:2019-03-04

本文共 3821 字,大约阅读时间需要 12 分钟。

高通 msm8909 Android 6.0 笔记(未完)

一、添加新板

在开发过程中,首先需要添加新板的支持。新板的添加通常涉及到基础配置和特定硬件的初始化设置。

二、DDR配置

DDR(双通道动态随机存取器)配置是系统性能的重要基石。在 msm8909 平台上,DDR 配置涉及到内存频率、模式设置以及时序参数的优化。

三、EMMC 和 SD Card 配置

EMMC(电子存储模块)和 SD 卡的配置涉及到存储设备的分区管理、文件系统设置以及数据读写权限的控制。

四、GPIO/I2C/SPI/SDIO/UART 配置

GPIO(通用输入输出端口)、I2C(二进制交互协议)、SPI(串行通讯协议)、SDIO(SD卡接口协议)和 UART(通用异步串行接口)是嵌入式系统中常用的接口配置,需要根据硬件需求进行精细化设置。

五、Lights 配置

Lights 配置主要涉及背光、摄像头灯光等功能的设置,通常需要配置 PWM 模式、DCS 模式和 WLED 模式等不同的背光控制方式。

六、触摸屏配置

触摸屏配置包括驱动文件的编译配置、设备树的挂载设置以及与触摸屏硬件的连接参数匹配。

七、虚拟按键配置

虚拟按键配置涉及到软件层面的按钮响应处理和按键事件映射设置,需要与硬件输入模块配合使用。

八、Connectivity 配置

连接配置包括 Bluetooth、Wi-Fi 和 GNSS 模块的硬件和软件设置,需要配置相关的驱动和协议栈。

九、传感器配置

传感器配置涉及到重力传感器、环境光/接近传感器等硬件传感器的初始化和数据采集设置。

十、LCD 配置

LCD 配置包括屏幕初始设置、背光控制模式和显示驱动接口的配置,通常需要参考供应商提供的技术文档进行详细设置。

十一、Audio 音频配置

音频配置涉及到音频硬件设备树的设置、音频格式的选择以及音频播放和录音功能的实现。

十二、Camera 配置

摄像头配置包括摄像头驱动的编译配置、摄像头参数的设置以及图像处理算法的优化。

十三、Power 电源管理配置

电源管理配置涉及到系统电源状态的控制、电压和电流的调节以及低功耗模式的实现。

十四、Logo 添加

在系统中添加Logo通常需要在启动画面或系统界面中进行设置,具体操作步骤需要参考平台的美化工具和文档。

十五、开机动画(boot animation)

开机动画的设置通常涉及到启动画面的选择和切换,需要在 bootable 文件夹中找到相关的动画文件并进行配置。

十六、OTA

OTA(远程更新)配置涉及到更新包的下载、验证和安装流程的设置,需要配置相关的服务器地址和认证机制。


添加新板(Add new board)

在 Android 开发过程中,首先需要在开发环境中添加新板的支持。以下是添加新板的主要步骤:

1.1:Android config(1)

/android/device/qcom 文件夹下创建 msm8909_xxx 文件夹,然后将相关的配置文件拷贝到该文件夹中并进行修改。这些文件包括:

  • AndroidBoard.mk:用于设置板级配置。
  • AndroidProducts.mk:用于设置产品配置。
  • BoardConfig.mk:用于设置板级特性。
  • msm8909_xxx.mk:用于设置目标设备的配置。

1.2:Android config(2)

msm8909_xxx 文件夹中,需要配置以下文件:

  • AndroidBoard.mk:添加板级默认配置。
  • AndroidProducts.mk:添加产品特性。
  • BoardConfig.mk:包含板级配置参数。
  • msm8909_xxx.mk:继承默认设备配置并设置产品名称和设备名称。

1.3:Android config(3)

/device/qcom/msm8909_xxx 文件夹下,执行以下命令:

/device/qcom/common/vendorsetup.shadd_lunch_combo msm8909_xxx-userdebug

/vendor/qcom/proprietary/common/config/device-vendor.mk 文件中添加产品列表:

PRODUCT_LIST += msm8909_xxx

/device/qcom/msm8909_xxx/msm8909_xxx.mk 文件中设置产品名称和设备名称:

$(call inherit-product, device/qcom/msm8909/msm8909.mk)PRODUCT_NAME := msm8909_xxxPRODUCT_DEVICE := msm8909_xxx

1.4:Android config(4)

/device/qcom/msm8909_xxx/AndroidBoard.mk 文件中设置默认内核配置:

KERNEL_DEFCONGIF := msm8909-xxx_defconfig

/device/qcom/msm8909_xxx/AndroidProducts.mk 文件中添加产品特性:

PRODUCT_MAKEFILES := $(LOCAL_DIR)/msm8909_xxx.mk

/device/qcom/msm8909_xxx/BoardConfig.mk 文件中包含板级配置文件:

include device/qcom.msm8909/BoardConfig.mk

1.5:Android config(5)

build_8909.sh 脚本中添加新板的支持:

android() {    cd ${TOP_DIR}/LINUX/androidsource    build/envsetup.sh lunch 27    mkdir -p ${OUT}/download_images    mkdir -p ${OUT}/collect_elf    -j8 2 >&1 | tee build_android.log    cd ${TOP_DIR}}

Kernel 配置自定义

在 kernel/arch/arm/configs 文件夹中,拷贝其他工程的配置文件并重命名,以生成用于 AndroidBoard.mk 的默认配置文件。


SBL dts 自定义配置

在 SBL 中,需要选择合适的 DTS 文件(如 MTP 或 QRD)。在 boot_cdt_array.c 文件中修改平台 ID 以匹配选择的 DTS 文件。


启动流

PBL(质朴引导程序)在启动时加载 SBL1,初始化硬件资源,接着加载 QSEE 和 RPM,最后初始化内核和 Android 系统。


DDR 配置

DDR 配置文件通常位于 boot_images/core/boot/secboot3/scripts/ 文件夹中,配置参数如 DDR 类型、模式、时序参数等。通过脚本生成 platform_ddr.binboot_cdt_array.c 文件进行硬件初始化。


EMMC 和 SD Card 配置

EMMC 和 SD 卡的分区配置包括引导分区和用户数据区域(UDA)。在开发过程中,需要配置文件系统和存储权限,确保关键数据存储在稳定区域。


GPIO/I2C/SPI/SDIO/UART 配置

这些接口的配置通常涉及设备树的挂载和驱动文件的编译配置。需要确保硬件引脚和软件配置匹配,避免冲突。


Lights 配置

Lights 配置涉及背光控制模式的设置。PWM 模式通过 PMIC 控制背光,DCS 模式通过 MIPI 寄存器控制,WLED 模式则通过 GPIO 或 I2C 控制背光芯片。


触摸屏配置

触摸屏的驱动配置需要在设备树中挂载 I2C 设备,并在驱动文件中添加相应的参数。通过 ADB shell 命令检查设备树和驱动是否正确初始化。


虚拟按键配置

虚拟按键的配置通常涉及到事件处理和按键映射设置,需要与硬件输入模块配合使用,确保按键事件能够正确传递给应用程序。


LCD 配置

LCD 屏的初始设置包括屏幕参数和背光控制。需要参考供应商文档,添加相应的初始化命令,并在设备树中配置屏幕驱动。


Audio 音频配置

音频配置涉及到音频设备树的设置和音频格式的选择。需要确保音频硬件设备正确挂载,并配置音频播放和录音功能。


Camera 配置

摄像头配置需要配置摄像头驱动和参数,包括分辨率、帧率和图像处理算法。需要参考供应商文档,完成摄像头模块的初始化和优化。


Power 电源管理配置

电源管理配置涉及系统电源状态的控制和低功耗模式的实现。需要配置电源管理器件,优化电池续航和性能。


Logo 添加

在系统中添加 Logo 通常需要在启动画面或系统美化界面中进行设置。需要参考美化工具和文档,完成 Logo 的显示和布局设计。


开机动画配置

开机动画的设置涉及到启动画面的选择和切换。需要在 bootable 文件夹中找到相关动画文件,并配置启动流程。


OTA 配置

OTA 配置涉及到远程更新的服务器地址和认证机制。需要配置更新包的下载和安装流程,确保系统能够自动更新。


以上内容仅为部分配置示例,具体开发流程和配置细节请参考相关开发文档和供应商技术支持。

转载地址:http://wlme.baihongyu.com/

你可能感兴趣的文章
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>
NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
查看>>
NIH发布包含10600张CT图像数据库 为AI算法测试铺路
查看>>
Nim教程【十二】
查看>>
Nim游戏
查看>>
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>
NIO三大组件基础知识
查看>>
NIO与零拷贝和AIO
查看>>
NIO同步网络编程
查看>>
NIO基于UDP协议的网络编程
查看>>
NIO笔记---上
查看>>
NIO蔚来 面试——IP地址你了解多少?
查看>>
NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
查看>>
NISP国家信息安全水平考试,收藏这一篇就够了
查看>>
NIS服务器的配置过程
查看>>
Nitrux 3.8 发布!性能全面提升,带来非凡体验
查看>>