Google Pixel AOSP 빌드 (android-8.0.0_r3)의 NFC 코드를 연구 중입니다. 나는 다음과 같은 커널의 호출 흐름을 안드로이드 하드웨어 모듈 system\nfc\halimpl\pn54x\nfc_nci.c
모든 방법을 이해할 수 : hw_get_module(NFC_NCI_HARDWARE_MODULE_ID)
이 hardware/interface/nfc/1.0/default/nfc.cpp : HIDL_FETCH_INfc(...)
에서 그것을 발견을 통해HOS에서 Application Framework 계층으로 AOSP NFC 장치 호출 흐름
struct nfc_nci_module_t HAL_MODULE_INFO_SYM = {
.common =
{
.tag = HARDWARE_MODULE_TAG,
.module_api_version = 0x0100, /* [15:8] major, [7:0] minor (1.0) */
.hal_api_version = 0x00, /* 0 is only valid value */
.id = NFC_NCI_HARDWARE_MODULE_ID,
.name = "NXP PN54X NFC NCI HW HAL",
.author = "NXP Semiconductors",
.methods = &nfc_module_methods,
},
};
이 하드웨어 모듈은로드됩니다. 이제는 AOSP에서 HIDL_FETCH_INfc(...)
이 호출 된 곳을 찾을 수 없으며 다음 계층에 어떻게 연결됩니까?
내가 (...) 어떤'jniRegisterNativeMethods이 표시되지 않는'디렉토리에서'하드웨어/인터페이스/nfc' – Consy
당신은 당신이 터미널에 입력하여'jniRegisterNativeMethods'을 찾을 수없는 것은 수행합니다'GREP을 jniRegisterNativeMethods' -r에 하드웨어/인터페이스/nfc 디렉토리? –
예, 하드웨어/인터페이스/nfc 디렉토리에서 찾을 수 없습니다. – Consy