上传者: lichuangdada
|
上传时间: 2025-08-05 10:05:28
|
文件大小: 799KB
|
文件类型: DOCX
适用项目 1
从编译项中移除高通NFC原生实现 1
移植包代码结构 2
加入NFC编译项 3
加入产品编译项 7
添加hidl接口声明 7
跳过QIIFA检查 9
适用项目
QDC518 Android13
从编译项中移除高通NFC原生实现
QSSI.13
vendor/nxp/opensource/commonsys/packages/apps/Nfc/nfc_system_product.mk
ARGET_USES_QSSI_NQ_NFC := true
修改成
ARGET_USES_QSSI_NQ_NFC := false
UM.9.14
.vendor/nxp/opensource/commonsys/packages/apps/Nfc/nfc_system_product.mk
TARGET_USES_QSSI_NQ_NFC := true
修改成
TARGET_USES_QSSI_NQ_NFC := false
vendor/nxp/opensource/halimpl/nfc_vendor_product.mk
TARGET_USES_NQ_NFC :=
在Android系统中,NFC(Near Field Communication)技术被广泛应用于移动支付、数据传输和智能设备配对等场景。本文将详细阐述如何在基于NXP 7160芯片的项目中进行NFC功能的移植,包括从编译项中移除高通的原生NFC实现,添加新的编译项,以及对hidl接口声明和QIIFA检查的处理。
从编译项中移除高通NFC的原生实现是移植过程的关键步骤。在Android 13的QDC518项目中,这涉及到修改几个Makefile文件。在`vendor/nxp/opensource/commonsys/packages/apps/Nfc/nfc_system_product.mk`和`vendor/nxp/opensource/halimpl/nfc_vendor_product.mk`中,将`TARGET_USES_QSSI_NQ_NFC`的值从`true`改为`false`。此外,在`device/qcom/qssi/qssi.mk`中,也需要将`TARGET_USES_NQ_NFC`的值设置为`false`,以禁用高通的NFC服务。
接着,移植包代码结构的改动主要通过一系列的patch文件来实现,如`AROOT_build_make.patch`、`AROOT_packages_apps_Nfc.patch`等。这些patch文件用于更新和替换原有系统的NFC相关源代码,确保新移植的NFC实现能够正确编译和运行。受影响的代码目录涵盖了构建系统、应用程序、框架、硬件接口、NXP特定的硬件支持以及系统服务等多个层次。
接下来,加入NFC编译项意味着要确保新NFC实现的编译配置被正确地包含在项目中。这通常涉及修改Android.mk或CMakeLists.txt文件,以便在编译时将新的NFC模块纳入。同时,还需要在相应的product.mk文件中添加必要的依赖,以使新NFC服务能够在目标设备上启动和运行。
对于hidl(Hardware Interface Definition Language)接口的声明,这是Android系统中硬件抽象层的关键部分。在移植过程中,可能需要定义或更新NFC服务的hidl接口,以适应新的硬件驱动。这通常会在`frameworks/native/services/nfc/`目录下的hidl文件中进行,确保新NFC驱动程序与系统其他组件之间的通信接口正确无误。
跳过QIIFA(Qualcomm Internal Interface Authentication)检查可能是因为新的NFC实现不使用高通的内部接口认证机制。这可能需要在编译脚本或特定的配置文件中进行调整,以确保新的NFC服务在不进行QIIFA检查的情况下也能正常工作。
总结来说,NFC7160的移植工作涉及到了Android系统的多个层面,包括编译选项的修改、代码结构的调整、hidl接口的更新以及特殊检查的绕过。这一过程旨在替换掉高通的NFC实现,采用新的解决方案,确保在NXP 7160芯片上的NFC功能可以正常运行。移植成功后,设备将具备兼容性和稳定性,能够满足用户对NFC功能的需求。