高通NFC移植与编译项调整:QDC518及UM.9.14

需积分: 5 3 下载量 52 浏览量 更新于2024-08-03 收藏 799KB DOCX 举报
本文档详细记录了在QDC518搭载Android 13系统以及UM.9.14版本中的NFC模块移植过程,重点在于移除高通NFC的原生实现并调整相关的编译设置。移植过程中涉及的主要操作包括以下几个关键部分: 1. **移除高通NFC原生实现**: 在QSSI.13和UM.9.14的环境中,针对`vendor/nxp/opensource/commonsys/packages/apps/Nfc`目录下的`nfc_system_product.mk`文件,原先是启用高通NFC支持(`TARGET_USES_QSSI_NQ_NFC := true`),移植时将其修改为不启用(`TARGET_USES_QSSI_NQ_NFC := false`)。这样做的目的是为了确保设备只使用非高通的NFC解决方案,可能是因为在特定的NFC7160硬件平台下,高通提供的原生实现不再适用或者不被集成。 2. **NFC编译项加入**: 需要在`vendor/nxp/opensource/halimpl/nfc_vendor_product.mk`文件中同步更新,将`TARGET_USES_NQ_NFC`设置为`false`,以排除对高通NFC硬件抽象层的依赖,这有助于保证移植后的代码与NFC7160硬件兼容。 3. **产品编译项调整**: 文件`device/qcom/qssi/qssi.mk`中也有相应的设置更改,同样将`TARGET_USES_NQ_NFC`设为`false`,这表明在QDC518的QSSI模块编译过程中,NFC功能也被从原始配置中移除。 4. **移植包代码结构**: 文档提及了一系列patch(补丁)文件,如`AROOT_build_make.patch`到`AROOT_vendor_nxp.patch`,这些patch文件用于适应NFC7160硬件的特性,主要影响了以下代码目录: - `build/make`: 与构建工具链相关,可能涉及构建流程的定制。 - `packages/apps/Nfc`: NFC应用程序的源码或配置调整。 - `frameworks/base` 和 `frameworks/native`: Android基础框架的底层组件,可能涉及到核心服务和API的修改。 - `system/logging`: 日志系统,可能需要对NFC相关日志记录进行优化或配置。 - `system/nfc-dta` 和 `system/nfc`: NFC驱动和数据传输相关组件,可能涉及到驱动级的改动以支持NFC7160。 - `AROOT_vendor_nxp.patch`: 专为NXP硬件库定制的补丁,可能涵盖了硬件抽象和适配的工作。 5. **跳过QIIFA检查**: 文档没有直接提及跳过QIIFA(Qualcomm International Flavor Identifier Analysis)检查,但可以推测这是针对高通特定的编译选项,可能是为了避免在移除高通NFC后与高通特有的代码兼容性问题。 总结来说,这份文档是关于在特定的Android系统版本和硬件平台上,对NFC功能进行迁移和优化的过程,旨在确保NFC7160硬件的正常运行,并避免与高通NFC原生实现冲突。开发者通过调整编译设置、应用补丁和优化代码结构来适应NFC7160的需求。