NXP PN7160 NCI byggðir NFC stýringar Leiðbeiningar

Skjalupplýsingar 

Upplýsingar Efni
Leitarorð PN7160, PN7220, NCI, EMVCo, NFC Forum, Android, NFC
Ágrip Þetta skjal lýsir því hvernig á að tengja PN7160/PN7220 algenga millihugbúnaðarútgáfu yfir í Android 14.

Þessi handbók veitir nákvæmar leiðbeiningar um hvernig á að samþætta NXP NCI-undirstaða NFC stýringar, PN7160 og PN7220, í Android umhverfi. Ferlið felur í sér að setja upp nauðsynlegan kjarnarekla og stillingar MW (sjá [1]). Nánari upplýsingar er að finna á vörusíðunni fyrir PN7160 [2] og PN7220 [3]. Android Open Source Project (AOSP) hefur verið uppfært til að fella inn stuðning fyrir bæði PN7160 og PN7220 NFC stýringar.

PN7220 kemur í tveimur stillingum: einn gestgjafi og tvískiptur. Staflan er almennt sá sami fyrir báða. Í tvíhýsingarham er SMCU bætt við sem þýðir að öll EMVCo tengd verkefni eru framkvæmd á SMCU. Í singlehost er EMVCo keyrt í sérstökum EMVCo MW stafla

Android MW stafla

Mynd 1 sýnir arkitektúr PN7220 Android NFC stafla.

  • NXP I2C bílstjórinn er kjarnaeining sem leyfir aðgang að vélbúnaðarauðlindum PN7220.
  • HAL einingin er útfærsla á NXP NFC stýrissértæku vélbúnaðarabstraktlagi.
  • LibNfc-Nci er innbyggt bókasafn sem veitir NFC virkni.
  • NFC JNI virkar sem brú á milli Java og Native flokka.
  • NFC og EMVCo Framework er eining í umsóknarrammanum sem veitir aðgang að NFC og EMVCo virkni.

Mynd 2 sýnir arkitektúr PN7160 Android NFC stafla. 


Mynd 2. PN7160 Android MW stafla 

  • NXP I2C bílstjórinn er kjarnaeining sem leyfir aðgang að vélbúnaðarauðlindum PN7160.
  • HAL einingin er útfærsla á NXP NFC stýrissértæku vélbúnaðarabstraktlagi.
  • LibNfc-nci er innbyggt bókasafn sem veitir NFC virkni.
  • NFC JNI virkar sem brú á milli Java og Native flokka.
  • NFC er eining í umsóknarramma sem veitir aðgang að NFC virkni.
  • MW frumkóði er sá sami fyrir PN7160 og PN7220, en það eru nokkrar takmarkanir.

Tafla 1 sýnir óstudda eiginleika hvers NFC stjórnanda. 

Tafla 1. Óstuddir eiginleikar 

NFC stjórnandi Óstuddir eiginleikar
PN7160
  • EMVCo MW stafla
  • SMCU
  • CT eiginleiki
PN7220
  • NFCEE_NDEF

Athugið: Frá Android 14 og áfram er P2P heldur ekki stutt á PN7160.

Bílstjóri fyrir kjarna

Til að koma á tengingu við PN7220 eða PN7160 notar Android staflan nxpnfc kjarna driverinn. Það er að finna í [4].

Upplýsingar um ökumann

PN7220 styður I2C líkamlegt viðmót, en PN7160 styður I2C eða SPI líkamlegt viðmót. Þegar hann er settur upp í kjarnanum er ökumaðurinn afhjúpaður í gegnum tækishnútinn í /dev/nxpnfc.

Athugið: PN7160 og PN7220 nota tvo mismunandi rekla, val á réttum reklum er krafist miðað við tegund flísar.

Að sækja PN7160 bílstjóri frumkóða

Afritaðu nfcandroid_platform_drivers/drivers/pn7160/nfc ökumannsgeymsluna í kjarnaskrána, komdu í stað núverandi útfærslu. Sjá [4] fyrir kjarnann files.

$rm -rf bílstjóri/nfc
$git klónn „https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git“ -b
br_ar_14_comm_infra_dev

Þetta endar með því að möppu reklar/nfc innihalda eftirfarandi files:

  • README.md: upplýsingar um geymslu
  • Gerðufile: bílstjóri fyrirsögn gerafile
  • Kconfig: stillingar ökumanns file
  • Leyfi: ökuskírteinisskilmálar
  • nfc undirmöppu sem inniheldur:
    • commoc.c: almenn útfærsla ökumanns
    • common.h: almenn skilgreining á ökumannsviðmóti
    • i2c_drv.c: i2c sérstök útfærsla á ökumanni
    • – i2c_drv.h: i2c sérstakt viðmótsskilgreining ökumanns
    • spi_drv.c: spi sérstakur bílstjóri útfærsla
    • spi_drv.h: skilgreining á viðmóti fyrir spi sértæka bílstjóra
    • Gerðufile: gerafile sem er innifalið í gerðinnifile af bílstjóranum
    • Kbuild => byggja file
    • Kconfig => stillingar ökumanns file
Að sækja PN7220 bílstjóri frumkóða

Afritaðu nfcandroid_platform_drivers/drivers/pn7220cs/nfc (single-host usecase) eða nfcandroid_platform_ drivers/drivers/pn7220cms/nfc (dual-host usecase) inn í kjarnaskrárrekla/nfc, í stað núverandi rekils. Sjá [4] fyrir kjarnann files.

$rm -rf drivers/nfc$git klónn “https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git” -bbr_ar_14_comm_infra_dev

Eftir þessa skipun inniheldur möppuna driverar/nfc eftirfarandi files:

  • README.md: upplýsingar um geymslu
  • Gerðufile: bílstjóri fyrirsögn gerafile
  • Kconfig: stillingar ökumanns file
  • Leyfi: ökuskírteinisskilmálar
  • nfc undirmöppu sem inniheldur:
    • commoc.c: almenn útfærsla ökumanns
    • common.h: almenn skilgreining á ökumannsviðmóti
    • i2c_drv.c: i2 c sértæk útfærsla á ökumanni
    • i2c_drv.h: i2 c sértæk skilgreining á viðmóti ökumanns
    • Gerðufile: gerafile sem er innifalið í gerðinnifile af bílstjóranum
    • Kbuild => byggja file
    • Kconfig => stillingar ökumanns file
Byggja bílstjóri

Tækjatréð er ábyrgt fyrir því að bæta reklum við kjarnann og hlaða honum við ræsingu tækisins.

Eftir uppfærslu á forskrift tækjatrésins verður að endurbyggja vettvangstengda tækjatréð. NXP mælir með því að nota kjarnaútgáfu 5.10 þar sem hún veitir alhliða sannprófun.

Til að búa til ökumanninn verður að framkvæma eftirfarandi skref:

  1. Sæktu bílstjóri fyrir kjarna
  2. Sæktu kóðann fyrir bílstjóri
  3. Breyttu skilgreiningu tækistrésins, sem er einstök fyrir tækið sem er í notkun.
  4. Byggja bílstjórinn:

a. Í gegnum menuconfig málsmeðferðina skaltu bæta markreklanum við bygginguna.

Eftir að búið er að endurbyggja lokið kjarna verður ökumaðurinn innifalinn í kjarnamyndinni. Allar nýjar kjarnamyndir verða að afrita inn í AOSP bygginguna.

AOSP aðlögun

NXP bætir við breytingum á AOSP kóðanum. Þetta þýðir að AOSP kóðinn er notaður sem grunnur, en framlengdur fyrir NXP sérstaka eiginleika. [5] er núverandi AOSP tag notað af NXP. Eftir að hafa fengið AOSP smíðina verður að skipta út núverandi AOSP kóða og setja á fjölda plástra.

Athugið: Hægt er að nota aðra útgáfu af AOSP kóðanum, en gera þarf frekari breytingar.

AOSP smíði

Fáðu AOSP frumkóða.

$ repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r2 $ endurhverfa samstillingu

Athugið: Repo tólið verður að vera uppsett á kerfinu. Sjá [6] fyrir leiðbeiningar.

Byggja frumkóða.

$cd Android_AROOT
$source build/envsetup.sh
$lunch select_target #target er DH sem við viljum nota til dæmisample: evk_8mn-userdebug
$gera -j

Afritaðu allar NXP geymslur inn á markstaðinn.

Tafla 2. Útibú fyrir sérstaka Android útgáfu

Android útgáfa Útibú
Android 14 br_ar_14_comm_infra_dev

Athugið: Við klónun er mikilvægt að velja rétta grein.

Tafla 3. Klónageymslur

AOSP Repos NXP GitHub Repos
„$ANDROID_ROOT“/pakkar/ öpp/Nfc https://github.com/nxp-nfc-infra/nxp_nci_hal_nfc/tree/br_ar_14_comm_infra_dev
„$ANDROID_ROOT“/system/nfc https://github.com/nxp-nfc-infra/nxp_nci_hal_libnfc-nci/tree/br_ar_14_comm_infra_dev
„$ANDROID_ROOT“/vélbúnaður/ nxp/nfc https://github.com/nxp-nfc-infra/nfcandroid_nfc_hidlimpl/tree/br_ar_14_comm_infra_dev
„$ANDROID_ROOT“/vendor/nxp/ ramma https://github.com/nxp-nfc-infra/nfcandroid_frameworks/tree/br_ar_14_comm_infra_dev
„$ANDROID_ROOT“/vélbúnaður/ nxp/emvco https://github.com/nxp-nfc-infra/nfcandroid_emvco_aidlimpl/tree/ br_ar_14_comm_infra_dev
„$ANDROID_ROOT“ https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/tree/ br_ar_14_comm_infra_dev

Tafla 4. Klónageymslur fyrir prófunarforrit og TDA stuðning 

Mappa í GitHub AOSP Repos NXP GitHub IC stutt
test_apps/SMCU_Switch „$ANDROID_ROOT“/

pakkar/öpp/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

PN7220
test_apps/EMVCoMode SwitchApp „$ANDROID_ROOT“/

pakkar/öpp/Nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

PN7220
test_apps/Cockpit „$ANDROID_ROOT“/

vélbúnaður/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

PN7220
test_apps/SelfTest „$ANDROID_ROOT“/

vélbúnaður/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

PN7220
test_apps/SelfTest_pn7160 „$ANDROID_ROOT“/

vélbúnaður/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

PN7160
test_apps/load_unload „$ANDROID_ROOT“/

vélbúnaður/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

PN7220
test_apps/SelfTestAidl „$ANDROID_ROOT“/

vélbúnaður/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

PN7220
nfc_tda „$ANDROID_ROOT“/system/ https://github.com/ nxp-nfc-infra/

nfcandroid_infra_comm_libs

PN7220
emvco_tda „$ANDROID_ROOT“/

vélbúnaður/nxp/emvco/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_comm_libs

PN7220
emvco_tda_próf „$ANDROID_ROOT“/

vélbúnaður/nxp/emvco/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_comm_libs

PN7220
NfcTdaTestApp „$ANDROID_ROOT“/

pakkar/öpp/Nfc/

https://github.com/ nxp-nfc-infra/nfcandroid_infra_comm_libs PN7220

Settu plástra

Tafla 5. Settu plástra

Staðsetning til að sækja um Plástur til að nota Staðsetning plástursins
„$ANDROID_ROOT“/build/ bazel/ AROOT_build_bazel. plástur https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
„$ANDROID_ROOT“/build/ gera/ AROOT_build_make. plástur https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
„$ANDROID_ROOT“/build/ fljótt/ AROOT_build_soong. plástur https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
„$ANDROID_ROOT“/

rammar/grunnur/

AROOT_frameworks_ grunn.plástur https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
„$ANDROID_ROOT“/

rammar/native/

AROOT_frameworks_ innfæddur.plástur https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
„$ANDROID_ROOT“/

kerfi/skráning/

AROOT_system_logging. plástur https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
„$ANDROID_ROOT“/

pakkar/einingar/ Bluetooth/

AROOT_packages_ modules_Bluethooth. plástur https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
„$ANDROID_ROOT“/

framework/proto_logging/

AROOT_framework_ proto_logging.patch https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ tree/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/

Athugið: Athugaðu úttakið eftir að plásturinn hefur verið settur á, ef einhver vandamál komu fram við plásturinn.

Bættu við FW bókasöfnum. Sjá [8] fyrir FW.

Athugið: Ekki skylda. FW er alltaf hægt að uppfæra.

Fyrir PN7160: 

$git klón https://github.com/NXP/nfc-NXPNFCC_FW.git
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/64-bit/libpn7160_fw.so AROOT/vendor/
nxp/7160/firmware/lib64/libpn7160_fw.so
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/32-bit/libpn7160_fw.so AROOT/vendor/
nxp/7160/firmware/lib/libpn7160_fw.so

Fyrir PN7220: 

$git klón https://github.com/NXP/nfc-NXPNFCC_FW.git
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/64-bit/libpn7220_64bit.so AROOT/vendor/nxp/
pn7220/firmware/lib64/libpn72xx_fw.so

Bætir NFC við bygginguna

Í device.mk gerafile (tdample, device/brand/platform/device.mk), innihalda sérstaka gerðfiles:

$(hringdu í erfðavöru, seljanda/nxp/nfc/device-nfc.mk) 

Í BoardConfig.mk gerafile (tdample, device/brand/platform/BoardConfig.mk), innihalda tiltekna gerðfile:

-innihalda seljanda/nxp/nfc/BoardConfigNfc.mk 

Bætir DTA forritinu við

$git klón https://github.com/NXPNFCProject/NXPAndroidDTA.git $patch -p1 nfc-dta.patch #staðsett á https://github.com/nxp-nfc-infra/ nfcandroid_platform_reference/tree/br_ar_14_comm_infra_cfg/build_cfg/build_cfg/build_cfg build_mw_patches/db845c $ cp -r nfc-dta /system/nfc-dta $/system/nfc-dta/$ mm -j

Byggja AOSP með breytingum:

$cd ramma/grunnur
$mm
$cd ../..
$cd söluaðili/nxp/frameworks
$mm #eftir þessa ættu com.nxp.emvco.jar og com.nxp.nfc.jar að vera inni út/
target/product/xxxx/system/framwework/
$cd ../../..
$cd vélbúnaður/nxp/nfc
$mm
$cd ../../..
$gera -j

Flassaðu nú tækinu með nýjum Android myndum.

Android NFC Apps og Lib on targets

Eftir byggingu verður að setja upp stofnuð bókasöfn á marktækinu. Hluti 4.2 tilgreinir staðsetningu verkefnisins, samsvarandi bókasafn og staðsetningu marktækisins þar sem á að setja upp.

Athugið: EMVCo tvöfaldir eiga aðeins við með PN7220.

Tafla 6. Saman files með tæki miða 

Staðsetning verkefnis Tekið saman Files Athugasemdir Staðsetning í marktæki
„$ANDROID_ROOT“/

pakkar/öpp/Nfc

NfcNci.odex NfcNci.vdex lib/NfcNci.apk oat/libnfc_nci_jni.so   /system/app/NfcNci/ oat/arm64/

/system/app/NfcNci/ oat/arm64/

/system/app/NfcNci/

/system/lib64/

„$ANDROID_ROOT“/

kerfi/nfc

libnfc_nci.so   /system/lib64/
„$ANDROID_ROOT“/

system/nfc_tda“

nfc_tda.so Gildir aðeins fyrir CT eiginleika. /system/lib64/
„$ANDROID_ROOT“/

vélbúnaður/nxp/nfc

nfc_nci_nxp_pn72xx.so android.hardware.nfc_72xx@1.2-þjónusta android.hardware.nfc_72xx@1.2-service.rc android.hardware.nfc@1.0.so android.hardware.nfc@1.1.so android.hardware.nfc@1.2.so seljanda.nxp.nxpnfc@2.0.so seljanda.nxp.nxpnfc@1.0.so   /vendor/lib64

/seljandi/bin/hw/

/vendor/etc/init

/system/lib64/

/system/lib64/

/system/lib64/

/vendor/lib64/

/vendor/lib64/

„$ANDROID_ROOT/

vélbúnaður/viðmót/nfc“

android.hardware.nfc-V1-ndk.so android.hardware.nfc@1.0.so android.hardware.nfc@1.1.so android.hardware.nfc@1.2.so android.hardware.nfc@1.0.so android.hardware.nfc@1.1.so android.hardware.nfc@1.2.so   /kerfi\/ib64/

/system/lib64/

/system/lib64/

/system/lib64/

/vendor/lib64/

/vendor/lib64/

/vendor/lib64/

„$ANDROID_ROOT“/

seljandi/nxp/frameworks

com.nxp.emvco.jar (PN7220) com.nxp.nfc.jar   /kerfi/ramma

/kerfi/ramma

„$ANDROID_ROOT“/

vélbúnaður/nxp/emvco

emvco_poller.so (PN7220) vendor.nxp.emvco-V1-ndk.so vendor.nxp.emvco-V2-ndk.so vendor.nxp.emvco-V2-ndk.so vendor.nxp.emvco-service vendor.nxp. emvco-þjónusta.rc   /vendor/lib64/

/system/lib64/

/system/lib64/

/vendor/lib64/

/seljandi/bin/hw/

/vendor/etc/init/

„$ANDROID_ROOT/

vélbúnaður/nxp/emvco_tda“

emvco_tda.so Gildir aðeins fyrir CT eiginleika. /vendor/lib64/
Blokk kortlagning

Kortleggja blokkarheitið frá hluta 1 yfir á markstað í AOSP kóða.

Tafla 7. Staðsetning plástra í NFC Stack 

Nafn blokk Staðsetning í AOSP kóða
NFC HAL og EMVCo HAL vélbúnaður/viðmót/
NFC stafla vélbúnaður/nxp/nfc/
EMVCo L1 Data Exchange Layer = EMVCo Stack vélbúnaður/nxp/emvco/
LibNfc-Nci system/nfc/
NFC JNI pakkar/öpp/nfc/
NFC þjónusta pakkar/öpp/nfc/
NFC ramma rammar/grunnur/
EMVCo ramma seljandi/nxp/frameworks/
EMVCo AP

PN7220 MW stafla framlengir AOSP kóða með EMVCo MW stafla. Þessi hluti lýsir EMVCo API.

Athugið: Aðeins er hægt að kalla á API þegar PN7220 IC er notað. Ef hringt er í það með PN7160 IC virkar API ekki. EMVCo Profile Uppgötvun. Hægt er að nota þessi API með snertilausum og snertilausum atvinnumönnumfiles.

registerEMVCoEventListener()

  • ndk::ScopedAStatus registerEMVCoEventListener ( const std::shared_ptr< INxpEmvcoClientCallback > & in_clientCallback, bool * in_aidl_return)
  • Lýsing: Skráðu EMVCo svarhringingaraðgerð til að taka á móti atburðunum frá hlustunartæki
  • Athugið: Þessi aðgerð er nauðsynleg til að bolta áður en þú kallar á annað forritaskil.
  • Færibreytur:
    • [in] *in_clientCallback: hefur EMVCo viðskiptavin HAL svarhringingu
    • [in] *in_aidl_return: gefur til kynna skráningarstöðu á móti þeim sem hringir
  • Skilar
    • boolean skilar satt, ef árangur og rangt, ef ekki tókst að skrá

fáðu núverandi uppgötvunarham () 

  • ndk::ScopedAStatus getCurrentDiscoveryMode(::aidl::vendor::nxp::emvco::NxpDiscoveryMode * _aidl_return)
  • Lýsing: skilar núverandi virka atvinnumaðurfile gerð.
  • Skilar
    • NxpDiscoveryMode – NFC/EMVCo/Óþekkt

onNfcStateChange() 

  • ndk::ScopedAStatus onNfcStateChange(NxpNfcState in_nfcState)
  • Lýsing: uppfært NFC ástand í EMVCo HAL.
  • Færibreytur:
    • [in] in_nfcState: tilgreinir NFC ástandið
  • Skilar:
    • ógilt

registerNFCStateChangeCallback()

  • ndk::ScopedAStatus registerNFCStateChangeCallback ( const std::shared_ptr< ::aidl::vendor::nxp::emvco::INxpNfcStateChangeRequestCallback > & in_nfcStateChangeRequestCallback, bool_returnaid
  • Lýsing: Skráðu NFC svarhringingaraðgerð til að taka á móti atburðunum frá hlustunartæki.
  • Athugið: Þessi aðgerð verður að hringja áður en þú kallar fram önnur forritaskil.
  • Færibreytur:
    • [in] in_nfcStateChangeCallback: INxpNfcStateChangeRequestCallback aðgerðin til bakhringingar atburðar sem viðmælandi á að standast. Það ætti að innleiða til að kveikja / slökkva á NFC byggt á beiðninni sem berast.
  • Skilar: boolean skilar satt, ef árangur og rangt, ef ekki tókst að skrá.

setByteConfig()

ndk::ScopedAStatus setByteConfig ( ::aidl::vendor::nxp::emvco::NxpConfigType
in_type,
int32_t in_length,
int8_t in_value,
::aidl::seljandi::nxp::emvco::NxpEmvcoStatus * _aidl_return

setEMVCoMode()

ndk::ScopedAStatus setEMVCoMode ( int8_t in_disc_mask,
bool in_isStartEMVCo)

  • Lýsing: Ræsir EMVCo stillinguna með Device-Controller. Þegar umsóknargagnarásinni hefur verið komið á getur forritið sent ræst EMVCo ham með tækjastýringunni.
  • Færibreytur:
    • [in] in_disc_mask EMVCo: skoðanakönnunartækni er stillt í gegnum þessa færibreytu
    • [in]in_isStartEMVCo: tilgreinir að ræsa eða stöðva EMVCo ham
  • Skilar:
    • ógilt

setLed()

ndk::ScopedAStatus setLed ( ::aidl::seljandi::nxp::emvco::NxpLedControl
in_ledControl,
::aidl::seljandi::nxp::emvco::NxpEmvcoStatus * emvco_status)

Fyrir Hafðu EMVCo er hægt að nota eftirfarandi API ofan á fyrri.

closeTDA()

ndk::ScopedAStatus closeTDA ( int8_t in_tdaID, bool in_standBy )

  • Lýsing: Lokar snjallkortinu sem er tengt yfir TDA
  • Færibreytur:
    • [í] tdaID: auðkenni tda raufsins sem á að loka
  • Undantekningar:
    • EMVCO_STATUS_INVALID_PARAMETER, ef gefið upp er tdaID ógilt
    • EMVCO_STATUS_FEATURE_NOT_SUPPORTED þegar tengiliðakortseiginleikinn er ekki studdur.
  • Skilar:
    • ógilt

uppgötvaTDA()

ndk::ScopedAStatus discoverTDA
( std::vector<::aidl::seljandi::nxp::emvco::NxpEmvcoTDAInfo > * emvcoTDAInfo )

Lýsing: discoverTDA veitir allar upplýsingar um snjallkort sem eru tengd yfir TDA

  • Færibreytur:
    • [in]*in_clientCallback: veitir EMVCo ástand og TDA ástand sem svarhringingu
  • Undantekningar:
    •  EMVCO_STATUS_FEATURE_NOT_SUPPORTED þegar tengiliðakortseiginleikinn er ekki studdur.
  • Skilar:
    • NxpEmvcoTDAInfo[] skilar öllu snjallkortinu sem er tengt yfir TDA. gild emvcoTDAInfo er aðeins móttekin þegar staðan er EMVCO_STATUS_OK

openTDA()

ndk::ScopedAStatus openTDA ( int8_t in_tdaID, bool in_standBy, int8_t * out_connID )

Lýsing: opnar snjallkortið sem er tengt yfir TDA

  • Færibreytur:
    • [in]tdaID: tda auðkenni snjallkortsins móttekið í gegnum discoverTDA
  • Undantekningar:
    • EMVCO_STATUS_INVALID_PARAMETER, ef gefið upp er tdaID ógilt
    • EMVCO_STATUS_FEATURE_NOT_SUPPORTED þegar tengiliðakortseiginleikinn er ekki studdur.
  • Skilar:
    • bæti skilar tengiauðkenni snjallkortsins. gilt auðkenni tengingar aðeins móttekið þegar staðan er EMVCO_STATUS_OK

registerEMVCoCTListener() 

ndk::ScopedAStatus registerEMVCoCTListener ( const std::shared_ptr<::aidl::vendor::nxp::emvco::INxpEmvcoTDACallback > & in_in_clientCallback, bool * _aidl_return)

  • Lýsing: skráir EMVCoCT svarhringingu í EMVCo stafla
  • Færibreytur:
    • [in]*in_in_clientCallback: veitir EMVCo ástand og TDA ástand sem svarhringingu
  • Skilar:
    • ógilt 

senda () 

ndk::ScopedAStatus sendir (const std::vector< uint8_t > & in_cmd_data, std::vector< uint8_t > * out_rsp_data )

  • Lýsing: sendir umsóknargögn með Device-Controller og tekur við svargögnum frá stjórnanda
  • Athugið: tengi auðkenni TDA ætti að bæta við sem hluta af NCI hausnum.
  • Færibreytur:
    • [in]in_cmd_data: Forritsskipunargagnabuffi
  • Undantekningar:
    • EMVCO_STATUS_INVALID_PARAMETER, ef uppgefið tengiauðkenni er ógilt
    • EMVCO_STATUS_FEATURE_NOT_SUPPORTED þegar tengiliðakortseiginleikinn er ekki studdur.
  • Skilar:
    • Svar APDU móttekið frá stjórnanda. gilt svar APDU móttekið aðeins þegar staðan er EMVCO_STATUS_OK

Fyrir EMVCo snertilaust er hægt að kalla á eftirfarandi API:

registerEMVCoEventListener()

ndk::ScopedAStatus registerEMVCoEventListener ( const std::shared_ptr< INxpEmvcoClientCallback > & in_clientCallback, bool * _aidl_return )

  • Lýsing: Skráðu EMVCo svarhringingaraðgerð til að taka á móti atburðunum frá hlustunartæki.
  • Athugið: Þessi aðgerð verður að hringja áður en þú kallar fram önnur forritaskil.
  • Færibreytur:
    • [in]*in_clientCallback: hefur EMVCo viðskiptavin HAL svarhringingu
    • [in]*in_aidl_return: gefur til kynna skráningarstöðu á móti þeim sem hringir
  • Skilar:
    • boolean skilar satt, ef árangur og rangt, ef ekki tókst að skrá

setEMVCoMode()

ndk::ScopedAStatus setEMVCoMode ( int8_t in_config, bool in_isStartEMVCo )

  • Lýsing: Ræsir EMVCo stillinguna með Device-Controller. Þegar umsóknargagnarásinni hefur verið komið á getur forritið sent ræst EMVCo ham með tækjastýringunni.
  • Færibreytur:
    • [in]in_config: EMVCo könnunartækni er stillt í gegnum þessa færibreytu
    • [in]in_isStartEMVCo: tilgreinir að ræsa eða stöðva EMVCo ham
  • Skilar:
    • ógilt

StopRFDisovery()

ndk::ScopedAStatus stopRFDisovery
( ::aidl::vendor::nxp::emvco::NxpDeactivationType in_deactivationType, ::aidl::vendor::nxp::emvco::NxpEmvcoStatus * emvco_status )

  • Lýsing: stöðvar RF reitinn og færir í tilgreint óvirkja ástand.
  • Færibreytur:
    • [in]in_deactivationType: tilgreinir ástandið sem á að vera í eftir RF óvirkjun
  • Skilar:
    • NxpEmvcoStatus skilar EMVCO_STATUS_OK ef skipun er unnin með góðum árangri og skilar EMVCO_STATUS_FAILED, ef skipun er ekki unnin vegna ógilds ástands. EMVCo ham ætti að vera ON til að kalla þetta API

senda ()

ndk::ScopedAStatus send (const std::vector< uint8_t > & in_data, int32_t * _aidl_return)

  • Lýsing: senda forritsgögn með Device-Controller.
  • Athugið: Ef ekki tekst að senda gögn, skal forritið kalla aftur til open() áður en þetta API er kallað fram.
  • Færibreytur:
    • (in]in_data: Forritsgagnabuffi
  • Skilar:
    • NxpEmvcoStatus gefur til kynna framkvæmdarstöðu
Stillingar files PN7160

Fyrir PN7160 eru tvær mismunandi stillingar files.

  1. libnfc-nci.conf
  2. libnfc-nxp.conf

Athugið: Stillingar files frá NXP eru fyrrvamples sem tengjast NFC stjórnanda kynningarborðinu. Þessar files verður að samþykkja í samræmi við markvissa samþættingu.

Stillingar files verður að setja á markstaðinn (sjá töflu 8).

Tafla 8. Staðsetningar stillingar files 

Heiti stillingar file Staðsetning í tæki
libnfc-nci.conf kerfi / osfrv
libnfc-nxp.conf söluaðili/o.s.frv

Til að fá frekari upplýsingar um uppsetninguna files, sjá [9].

Stillingar files PN7220

Fyrir PN7220 eru fimm mismunandi stillingar files.

  1. libemvco-nxp.conf
  2. libnfc-nci.conf
  3. libnfc-nxp.conf
  4. libnfc-nxp-eeprom.conf
  5. libnfc-nxp-rfExt.conf

Athugið: Stillingar files frá NXP eru fyrrvamples sem tengjast NFC stjórnanda kynningarborðinu. Þessar files verður að samþykkja í samræmi við markvissa samþættingu

Stillingar files þarf að setja á markstaðinn (sjá töflu 9).

Tafla 9. Staðsetningar stillingar files 

Heiti stillingar file Staðsetning í tæki
libemvco-nxp.conf söluaðili/o.s.frv
libnfc-nci.conf kerfi / osfrv
libnfc-nxp.conf söluaðili/o.s.frv
libnfc-nxp-eeprom.conf söluaðili/o.s.frv
libnfc-nxprfExt.conf söluaðili/o.s.frv

Til að fá frekari upplýsingar um uppsetninguna files, sjá [9]. 

DTA umsókn

Til að leyfa NFC Forum vottunarprófun er tækjaprófunarforrit veitt. Það er samsett úr nokkrum hlutum í mismunandi Android lögum, sem verða að vera smíðaðir og innihalda í Android myndinni.

Til að ýta á DTA forritið verður að framkvæma eftirfarandi skref:

  1. Afritaðu allt DTA files á einn stað
    $cp -rf “out/target/product/hikey960/system/lib64/libosal.so” /DTA-PN7220
    $cp -rf “out/target/product/hikey960/system/lib64/libmwif.so” /DTA-PN7220
    $cp -rf “out/target/product/hikey960/system/lib64/libdta.so” /DTA-PN7220
    $cp -rf “out/target/product/hikey960/system/lib64/libdta_jni.so” /DTA-PN7220
    $cp -rf “out/target/product/hikey960/system/app/NxpDTA/NxpDTA.apk” /DTAPN7220
  2. Ýttu tvöfaldunum að tækinu eins og hér að neðan
    adb skel mkdir /system/app/NxpDTA/
    adb ýta libosal.so /system/lib64/
    adb ýta libdta.so /system/lib64/
    adb ýta libdta_jni.so /system/lib64/
    adb ýta libmwif.so /system/lib64/
    adb ýta NxpDTA.apk /system/app/NxpDTA/

Eftir að markið hefur blikkað ætti DTA forritið að vera til staðar á listanum yfir uppsett forrit. Sjá [7] fyrir nákvæma lýsingu á því hvernig á að nota forritið.

Skammstafanir

Tafla 10. Skammstafanir 

Skammstöfun Lýsing
APDU gagnaeining forritssamskiptareglur
AOSP Android Open Source verkefni
DH gestgjafi tækisins
HAL vélbúnaðaruppdráttarlag
FW vélbúnaðar
I2C Samþættur hringrás
LPCD kortaskynjun með lægri krafti
NCI NFC stjórnandi tengi
NFC fjarskipti á vettvangi
MW millibúnaður
PLL áfanga-læstar lykkja
P2P jafningi til jafningja
RF útvarpstíðni
SDA raðgögn
SMCU öruggur örstýringur
SW hugbúnaður

Heimildir

  1. GitHub geymsla – PN7160 og PN7220 Common MW: (hlekkur)
  2. Web síða – PN7160 – NFC Plug and Play stjórnandi með innbyggðum fastbúnaði og NCI tengi (hlekkur)
  3. Web síða – PN7220 – EMV L1 samhæfður NFC stjórnandi með NCI tengi sem styður EMV og NFC spjallforrit (hlekkur)
  4. GitHub geymsla – PN7160 og PN7220 kjarna bílstjóri: (hlekkur)
  5. Auðlindir – AOSP r2 tag (hlekkur)
  6. Auðlindir – Heimildastýringartæki (hlekkur)
  7. Notendahandbók – UG10068 – PN7220 – Flýtileiðarvísir (hlekkur)
  8. GitHub geymsla – PN7160 og PN7220 FW staðsetning: (hlekkur)
  9. Umsóknarathugasemd – AN14431 – PN7160/PN7220 stillingar files (hlekkur)

Athugaðu um frumkóðann í skjalinu

ExampKóðinn sem sýndur er í þessu skjali hefur eftirfarandi höfundarrétt og BSD-3-ákvæði leyfi:

Höfundarréttur 2024 NXP Endurdreifing og notkun á frum- og tvíundarformi, með eða án breytinga, er leyfð að uppfylltum eftirfarandi skilyrðum

  1. Endurdreifing frumkóða verður að geyma ofangreinda höfundarréttartilkynningu, þennan lista yfir skilyrði og eftirfarandi fyrirvara.
  2. Endurdreifingar í tvíundarformi verða að endurskapa ofangreinda höfundarréttartilkynningu, þessi listi yfir skilyrði og eftirfarandi fyrirvari í skjölunum og/eða öðru efni verða að fylgja dreifingunni.
  3. Hvorki má nota nafn höfundarréttarhafa né nöfn þátttakenda hans til að samþykkja eða kynna vörur sem unnar eru úr þessum hugbúnaði án sérstaks skriflegs leyfis.

ÞESSI HUGBÚNAÐUR ER ÚTVEITUR AF HÖFUNDARRETTAHÖFUM OG SJÁLFUR „EINS OG ER“ OG EINHVER SKÝR EÐA ÓBEININ ÁBYRGÐ, Þ.M.T., EN EKKI TAKMARKAÐ VIÐ, ÓBEINNAR ÁBYRGÐ UM SALANNI OG HÆFNI TIL AÐ HÆTTA SÉR AÐ HÉR. Í ENGUM TILKYNDUM SKAL HÖFUNDARRÉTTHAFIÐ EÐA SEM HÖFENDUR BÆRA ÁBYRGÐ Á EINHVERJUM BEINUM, ÓBEINU, TILVALIÐ, SÉRSTJÓRI, TIL fyrirmyndar EÐA AFLEIDDASKEMÐUM (ÞARM. EÐA HAGNAÐUR EÐA VIÐSKIPTARÖF) HVERNIG SEM ORÐAÐ er OG Á VEGNA KENNINGU UM ÁBYRGÐ, HVORÐ sem það er í samningi, fullri ábyrgð, EÐA skaðabótaábyrgð (ÞAR á meðal gáleysi EÐA ANNAÐ SEM SEM KOMA Á EINHVER HEITI ÚT AF NOTKUNNI, ALLTAF SEM VEGNA SEM ÞAÐ ER AÐ SEM KOMA SÉR AF ÞVÍ. MÖGULEIKUR Á SVONA Tjóni.

Endurskoðunarsaga

Tafla 11. Endurskoðunarsaga 

Skjalkenni Útgáfudagur Lýsing
AN14430 v.1.0 03. september 2024 • Upprunaleg útgáfa

Lagalegar upplýsingar

Skilgreiningar

Drög — Uppkastsstaða á skjali gefur til kynna að efnið sé enn undir innri endurskoðunview og háð formlegu samþykki, sem getur leitt til breytinga eða viðbóta. NXP Semiconductors gefur enga yfirlýsingu eða ábyrgð á nákvæmni eða heilleika upplýsinga sem eru í drögum að útgáfu skjals og ber enga ábyrgð á afleiðingum notkunar slíkra upplýsinga.

Fyrirvarar

Takmörkuð ábyrgð og ábyrgð - Talið er að upplýsingar í þessu skjali séu nákvæmar og áreiðanlegar. Hins vegar gefur NXP Semiconductors engar yfirlýsingar eða ábyrgðir, óbein eða óbein, um nákvæmni eða heilleika slíkra upplýsinga og ber enga ábyrgð á afleiðingum notkunar slíkra upplýsinga. NXP Semiconductors tekur enga ábyrgð á innihaldi þessa skjals ef það er veitt af upplýsingaveitu utan NXP Semiconductors.

Í engu tilviki skal NXP Semiconductors vera ábyrgt fyrir neinu óbeinu, tilfallandi, refsandi, sérstöku eða afleiddu tjóni (þar á meðal – án takmarkana – tapaðan hagnað, tapaðan sparnað, rekstrarstöðvun, kostnað sem tengist því að fjarlægja eða skipta um vörur eða endurvinnslugjöld) hvort sem eða ekki eru slíkar skaðabætur byggðar á skaðabótaábyrgð (þar á meðal vanrækslu), ábyrgð, samningsrof eða önnur lagaleg kenning.

Þrátt fyrir tjón sem viðskiptavinur gæti orðið fyrir af hvaða ástæðu sem er, skal samanlögð og uppsöfnuð ábyrgð NXP Semiconductors gagnvart viðskiptavinum á vörum sem lýst er hér takmarkast í samræmi við skilmála og skilyrði fyrir viðskiptasölu NXP Semiconductors.

Réttur til að gera breytingar — NXP Semiconductors áskilur sér rétt til að gera breytingar á upplýsingum sem birtar eru í þessu skjali, þar á meðal án takmarkana forskriftir og vörulýsingar, hvenær sem er og án fyrirvara. Þetta skjal kemur í stað og kemur í stað allra upplýsinga sem veittar voru fyrir birtingu þessa.

Notkunarhæfni — NXP Semiconductors vörur eru ekki hannaðar, heimilaðar eða ábyrgðar til að vera hentugar til notkunar í lífsnauðsynlegum, lífsnauðsynlegum eða öryggis mikilvægum kerfum eða búnaði, né í forritum þar sem með sanngirni má búast við bilun eða bilun í NXP Semiconductors vöru. að hafa í för með sér líkamstjón, dauða eða alvarlegt eigna- eða umhverfistjón. NXP Semiconductors og birgjar þess taka enga ábyrgð á innlimun og/eða notkun NXP Semiconductors vara í slíkum búnaði eða forritum og því er slík innlimun og/eða notkun á eigin ábyrgð viðskiptavinarins.

Forrit — Forrit sem lýst er hér fyrir einhverja þessara vara eru eingöngu til sýnis. NXP Semiconductors gefur enga yfirlýsingu eða ábyrgð á því að slík forrit henti tilgreindri notkun án frekari prófana eða breytinga.

Viðskiptavinir bera ábyrgð á hönnun og rekstri forrita sinna og vara með því að nota NXP Semiconductors vörur og NXP Semiconductors tekur enga ábyrgð á neinni aðstoð við forrit eða vöruhönnun viðskiptavina. Það er alfarið á ábyrgð viðskiptavinarins að ákvarða hvort NXP Semiconductors varan henti og henti fyrir forrit viðskiptavinarins og vörur sem fyrirhugaðar eru, sem og fyrir fyrirhugaða notkun og notkun þriðja aðila viðskiptavinar viðskiptavinarins. Viðskiptavinir ættu að veita viðeigandi hönnunar- og rekstrarverndarráðstafanir til að lágmarka áhættuna sem tengist forritum þeirra og vörum.

NXP Semiconductors tekur enga ábyrgð sem tengist vanskilum, skemmdum, kostnaði eða vandamálum sem byggjast á veikleika eða vanskilum í forritum eða vörum viðskiptavinarins, eða umsókn eða notkun þriðja aðila viðskiptavinar viðskiptavinarins. Viðskiptavinur er ábyrgur fyrir því að gera allar nauðsynlegar prófanir á forritum og vörum viðskiptavinarins með því að nota NXP Semiconductors vörur til að koma í veg fyrir vanskil á forritunum og vörum eða forritinu eða notkun þriðja aðila viðskiptavinar viðskiptavinarins. NXP tekur enga ábyrgð í þessum efnum.

Skilmálar og skilmálar um sölu í atvinnuskyni — NXP Semiconductors vörur eru seldar með fyrirvara um almenna söluskilmála í atvinnuskyni, eins og þeir eru birtir á https://www.nxp.com/profile/skilmálar, nema um annað sé samið í gildum skriflegum einstaklingssamningi. Ef gerður er einstaklingssamningur gilda aðeins skilmálar og skilyrði viðkomandi samnings. NXP Semiconductors mótmælir hér með beinlínis því að beita almennum skilmálum og skilyrðum viðskiptavinarins að því er varðar kaup viðskiptavina á NXP Semiconductors vörum.

Útflutningseftirlit — Þetta skjal sem og hlutirnir sem lýst er hér kunna að falla undir reglur um útflutningseftirlit. Útflutningur gæti þurft fyrirfram leyfi frá lögbærum yfirvöldum.

Hentugur til notkunar í vörur sem ekki eru hæfar fyrir bíla — Nema þetta skjal kveði sérstaklega á um að þessi tiltekna NXP Semiconductors vara sé hæf fyrir bíla, er varan ekki hentug til notkunar í bílum. Það er hvorki hæft né prófað í samræmi við bílaprófanir eða umsóknarkröfur. NXP Semiconductors tekur enga ábyrgð á innlimun og/eða notkun á vörum sem ekki eru hæfar fyrir bíla í bílabúnaði eða forritum.

Í því tilviki að viðskiptavinur notar vöruna til að innrétta og nota í bílaforskriftir í samræmi við bílaforskriftir og staðla, skal viðskiptavinur (a) nota vöruna án ábyrgðar NXP Semiconductors á vörunni fyrir slíka bílanotkun, notkun og forskriftir, og ( b) hvenær sem viðskiptavinur notar vöruna fyrir bílaframkvæmdir umfram forskrift NXP Semiconductors skal slík notkun eingöngu vera á eigin ábyrgð viðskiptavinarins, og (c) viðskiptavinur skaðar NXP Semiconductors að fullu fyrir alla ábyrgð, skaðabætur eða misheppnaðar vörukröfur sem stafa af hönnun og notkun viðskiptavina á varan fyrir bílanotkun umfram staðlaða ábyrgð NXP Semiconductors og vöruforskriftir NXP Semiconductors

HTML útgáfur — HTML útgáfa, ef hún er tiltæk, af þessu skjali er veitt sem kurteisi. Endanlegar upplýsingar eru í viðeigandi skjali á PDF formi. Ef það er ósamræmi á milli HTML skjalsins og PDF skjalsins hefur PDF skjalið forgang.

Þýðingar — Útgáfa skjals sem ekki er ensk (þýdd), þar á meðal lagalegar upplýsingar í því skjali, er eingöngu til viðmiðunar. Enska útgáfan skal gilda ef misræmi er á milli þýddu og ensku útgáfunnar.

Öryggi - Viðskiptavinur skilur að allar NXP vörur kunna að vera háðar óþekktum veikleikum eða geta stutt staðfesta öryggisstaðla eða forskriftir með þekktum takmörkunum. Viðskiptavinur er ábyrgur fyrir hönnun og rekstri forrita sinna og vara allan lífsferil þeirra til að draga úr áhrifum þessara veikleika á forritum og vörum viðskiptavinarins. Ábyrgð viðskiptavina nær einnig til annarrar opinnar og/eða sértækni sem styður NXP vörur til notkunar í forritum viðskiptavinarins. NXP tekur enga ábyrgð á neinum varnarleysi. Viðskiptavinur ætti reglulega að athuga öryggisuppfærslur frá NXP og fylgja eftir á viðeigandi hátt. Viðskiptavinur skal velja vörur með öryggiseiginleika sem uppfylla best reglur, reglugerðir og staðla fyrirhugaðrar notkunar og taka fullkomnar hönnunarákvarðanir varðandi vörur sínar og ber einn ábyrgð á því að farið sé að öllum lögum, reglugerðum og öryggistengdum kröfum varðandi vörur hans, óháð um allar upplýsingar eða stuðning sem NXP kann að veita.

NXP er með viðbragðsteymi fyrir vöruöryggisatvik (PSIRT) (náanlegt á PSIRT@nxp.com) sem stjórnar rannsókn, skýrslugerð og losun lausna á öryggisveikleikum NXP vara.

NXP B.V. — NXP B.V. er ekki rekstrarfélag og það dreifir ekki eða selur vörur.

Leyfi

Kaup á NXP IC með NFC tækni — Kaup á NXP Semiconductors IC sem uppfyllir einn af Near Field Communication (NFC) stöðlunum ISO/IEC 18092 og ISO/IEC 21481 fela ekki í sér óbeint leyfi samkvæmt neinum einkaleyfisrétti sem brotið er á með innleiðingu á einhverjum af þessum stöðlum. Kaup á NXP Semiconductors IC fela ekki í sér leyfi fyrir neinu NXP einkaleyfi (eða öðrum IP rétti) sem nær til samsetningar þessara vara við aðrar vörur, hvort sem það er vélbúnaður eða hugbúnaður.

Vörumerki

Tilkynning: Öll tilvísuð vörumerki, vöruheiti, þjónustuheiti og vörumerki eru eign viðkomandi eigenda. NXP — orðmerki og lógó eru vörumerki NXP BV I2C-bus — merki er vörumerki NXP BV

Vinsamlegast hafðu í huga að mikilvægar tilkynningar varðandi þetta skjal og vöruna sem lýst er hér hafa verið innifalin í hlutanum „Lagalegar upplýsingar“.

© 2024 NXP BV Allur réttur áskilinn.
Fyrir frekari upplýsingar, vinsamlegast farðu á: https://www.nxp.com

 

Skjöl / auðlindir

NXP PN7160 NCI byggðir NFC stýringar [pdfLeiðbeiningar
PN7160, PN7220, PN7160 NCI byggðir NFC stýringar, PN7160, NCI byggðir NFC stýringar, byggðir NFC stýringar, NFC stýringar, stýringar

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *