J'étudie le code NFC de construction Google Pixel PSBA (android-8.0.0_r3). Je peux comprendre le flux d'appels du noyau jusqu'au module matériel Android system\nfc\halimpl\pn54x\nfc_nci.c
comme suit:PSBA flux d'appels de dispositif NFC de HAL Application Framework couche
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,
},
};
Ce module matériel est chargé via hw_get_module(NFC_NCI_HARDWARE_MODULE_ID)
trouvé dans hardware/interface/nfc/1.0/default/nfc.cpp : HIDL_FETCH_INfc(...)
. Maintenant, je suis coincé ici incapable de trouver où dans le PSBA invoqué HIDL_FETCH_INfc(...)
et comment établir le lien avec la couche suivante?
je ne vois pas de 'jniRegisterNativeMethods (...)' 'dans dir matériel/Interface/nfc' – Consy
Voulez-vous dire que vous ne pouvez pas trouver' jniRegisterNativeMethods' en tapant dans le terminal: 'grep -r dans jniRegisterNativeMethods' le répertoire hardware/interface/nfc? Oui –
essayé, ne peut pas trouver dans le matériel/Interface/nfc dir – Consy