AN13971
PN7220 – Průvodce portováním pro Android
Rev. 1.0 – 18. září 2023
Poznámka k aplikaci
Řadič NFC kompatibilní s PN7220
Informace o dokumentu
Informace | Obsah |
Klíčová slova | PN7220, NCI, EMVCo, NFC Forum, Android, NFC |
Abstraktní | Tento dokument popisuje, jak portovat vydání middlewaru PN7220 na Android. |
Polovodiče NXP
Historie revizí
Historie revizí
Rev | Datum | Popis |
v.1.0 | 20230818 | Počáteční verze |
Zavedení
Tento dokument poskytuje pokyny pro integraci řadiče NFC založeného na PN7220 NXP NCI do platformy Android z hlediska softwaru.
Nejprve vysvětluje, jak nainstalovat požadovaný ovladač jádra, a poté popisuje krok za krokem, jak přizpůsobit zdroje AOSP tak, aby byla přidána podpora pro řadič PN7220 NFC. Obrázek 1 ukazuje architekturu celého zásobníku Android NFC.
Obrázek 1. Zásobník Android NFC
PN7220 je rozdělen do scénářů s jedním hostitelem a dvěma hostiteli. Obecně platí, že zásobník je stejný pro dual host, přidáme SMCU.
- Ovladač NXP I2C je modul jádra, který poskytuje přístup k hardwarovým prostředkům PN7220.
- Modul HAL je implementací specifické HW abstraktní vrstvy řadiče NXP NFC.
- LibNfc-nci je nativní knihovna, která poskytuje funkce NFC.
- NFC JNI je spojovací kód mezi třídami Java a Native.
- NFC a EMVCo Framework je modul aplikačního rámce, který poskytuje přístup k funkcím NFC a EMVCo.
Ovladač jádra
Zásobník NFC Android používá ke komunikaci s PN7220 ovladač jádra nxpnfc. Je k dispozici zde.
2.1 Podrobnosti o ovladači
Ovladač jádra nxpnfc nabízí komunikaci s PN7220 přes fyzické rozhraní I2C.
Po nahrání do jádra tento ovladač zpřístupní rozhraní PN7220 prostřednictvím uzlu zařízení s názvem /dev/nxpnfc.
2.2 Získání zdrojového kódu
Naklonujte úložiště ovladačů PN7220 do adresáře jádra, čímž nahradíte stávající implementaci:
$rm -rf ovladače/nfc
$git klon “https://github.com/NXPNFCLinux/nxpnfc.git“-b PN7220-ovladače ovladače/
To skončí tím, že složka drivers/nfc obsahuje následující files:
- README.md: informace o úložišti
- Make file: značka záhlaví řidiče file
- Kcon obr: konfigurace ovladače file
- Licence: Podmínky řidičského oprávnění
- nfc podsložka obsahující:
– kom. c: implementace obecného ovladače
- běžný. h: obecná definice rozhraní ovladače
– i2c_drv.c: Implementace specifického ovladače i2c
– i2c_drv.h: definice rozhraní ovladače specifické pro i2c
– Udělatfile: udělatfile která je součástí provedenífile řidiče
– Kbuild => sestavení file
– Kconfig => konfigurace ovladače file
2.3 Sestavení ovladače
Zahrnutí ovladače do jádra a jeho načtení během bootování zařízení se děje díky stromu zařízení.
Po aktualizaci definice stromu zařízení je nutné znovu sestavit strom zařízení související s platformou. NXP doporučuje používat jádro verze 5.10, protože v této verzi je provedena kompletní validace.
- Stáhněte si jádro
- Získejte zdrojový kód ovladače.
- Změňte definici stromu zařízení (specifickou pro zařízení, které používáme).
- Sestavte ovladač.
A. Pomocí procedury menuconfig zahrňte cílový ovladač do sestavení.
Po přebudování kompletního jádra bude ovladač zahrnut do obrazu jádra. Musíme zajistit, aby všechny nové obrazy jádra byly zkopírovány do sestavení AOSP.
Adaptace AOSP
NXP poskytuje záplaty nad kódem AOSP. To znamená, že uživatel může nejprve získat kód AOSP a aplikovat záplaty z NXP. Tato část popisuje, jak toho dosáhnout. Aktuální AOSP tag který používáme, je [1].
3.1 sestavení AOSP
- Musíme získat zdrojový kód AOSP. To můžeme udělat s:
$ repo init -u https://android.googlesource.com/platform/manifest-b android-13.0.0_r3
$ repo synchronizace
Poznámka: Nástroj repo musí být nainstalován v systému. Postupujte podle pokynů [2]. - Když máme zdrojový kód, můžeme vstoupit do adresáře a sestavit jej:
$cd Android_AROOT
$source build/envsetup.sh
$lunch select_target #target je DH, kterou chceme použít napřampsoubor: db845c-userdebug $make -j - Když je AOSP úspěšně sestaven, musíme získat záplaty NXP. To můžeme udělat s:
$git klon “https://github.com/NXPNFCLinux/PN7220_Android13.git”vendor/nxp/ - V tuto chvíli jsme všichni potřebovali použít záplaty pro podporu PN7220. Opravy můžeme aplikovat spuštěním skriptu install_NFC.sh.
$chmod +x /vendor/nxp/nfc/install_NFC.sh #někdy potřebujeme ke skriptu přidat spustitelná práva
$./vendor/nxp/nfc/install_NFC.sh
Poznámka: Zkontrolujte výstup po spuštění install_NFC.sh. V případě potřeby musíme provést některé změny ručně. - Můžeme také přidat binární soubory FW:
$git klon xxxxxxx
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/64-bit/libpn72xx_fw.so AROOT/vendor/nxp/pn7220/firmware/lib64/libpn72xx_fw.so
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/32-bit/libpn72xx_fw.so AROOT/vendor/nxp/pn7220/firmware/lib/libpn72xx_fw.so - Přidání NFC k sestavení
V zařízení.mk makefile (napřample, device/brand/platform/device.mk), zahrnují konkrétní značkufiles:
$(call inherit-product, vendor/nxp/nfc/device-nfc.mk)
V souboru BoardConfig.mkfile (napřample, device/brand/platform/BoardConfig.mk), obsahovat konkrétní značkufile:
-zahrnout vendor/nxp/nfc/BoardConfigNfc.mk - Přidání aplikace DTA
$git klon https://github.com/NXPNFCProject/NXPAndroidDTA.git $git checkout NFC_DTA_v13.02_OpnSrc $patch -p1 AROOT_system_nfc-dta.patch
$ cp -r nfc-dta /system/nfc-dta
$ /system/nfc-dta/$ mm -j - Nyní můžeme znovu sestavit AOSP se všemi změnami, které jsme provedli:
$cd framework/base
$ mm
$cd ../..
$cd vendor/nxp/frameworks
$mm #po tomto bychom měli vidět com.nxp.emvco.jar naruby/target/product/xxxx/system/framwework/
$cd ../../..
$cd hardware/nxp/nfc
$ mm
$cd ../../..
$make -j
Nyní jsme schopni flashovat hostitele zařízení s obrázkem Androidu, který obsahuje funkce NFC.
3.2 Aplikace Android NFC a Lib na cíle
V této podsekci popíšeme, kde byly konkrétně sestaveny files jsou tlačeny. Pokud dojde k nějaké změně, můžeme nahradit pouze tuto file. Tabulka 1 ukazuje všechna umístění.
Tabulka 1. Sestaveno files s cílem zařízení
Umístění projektu | Sestaveno Files | Umístění v cílovém zařízení |
„$ANDROID_ROOT“/packages/apps/Nfc | lib/NfcNci.apk oat/libnfc_nci_jni.so |
/system/app/NfcNci/ /system/lib64/ |
„$ANDROID_ROOT“/system/nfc | libnfc_nci.so | /system/lib64/ |
„$ANDROID_ROOT“/hardware/nxp/nfc | nfc_nci_nxp_pn72xx.so android.hardware.nfc_72xx@1.2-service 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 |
/vendor/lib64 /vendor/bin/hw/ /vendor/etc/init system/lib64/ system/lib64/ system/lib64/ |
„$ANDROID_ROOT“/hardware/nxp/nfc | vendor.nxp.nxpnfc@2.0.so | /system/lib64 |
„$ANDROID_ROOT“/vendor/nxp/frameworks | com.nxp.emvco.jar | /system/framework /vendor/framework |
„$ANDROID_ROOT“/hardware/nxp/emvco | emvco_poller.so android.hardware.emvco-service android.hardware.emvco-service.rc android.hardware.emvco-V1-ndk.so android.hardware.emvco-V2-ndk.so |
/vendor/lib64 /vendor/bin/hw/ /vendor/etc/init system/lib64/ system/lib64/ |
3.3 Mapování záplat
Každá náplast musí být aplikována na určité místo. Tabulka 2 ukazuje název opravy a místo, kde ji musíme použít, a název bloku, který nám ukazuje, kde se nachází zásobník NFC (obrázek 1).
Tabulka 2. Umístění opravy v zásobníku NFC
Název bloku | Název patche | Místo pro aplikaci |
NFC HAL a EMVCo HAL | AROOT_hardware_interfaces.patch | hardware/rozhraní/ |
Zásobník NFC | AROOT_hardware_nxp_nfc.patch | hardware/nxp/nfc/ |
Vrstva výměny dat EMVCo L1 = zásobník EMVCo | AROOT_hardware_nxp_emvco.patch | hardware/nxp/emvco/ |
LibNfc-Nci | AROOT_system_nfc.patch | systém/nfc/ |
NFC JNI | AROOT_packages_apps_Nfc.patch | packages/apps/nfc/ |
Služba NFC | AROOT_packages_apps_Nfc.patch | packages/apps/nfc/ |
NFC Framework | AROOT_frameworks_base.patch | frameworks/base/ |
Rámec EMVCo | AROOT_vendor_nxp_frameworks.patch | vendor/nxp/frameworks/ |
3.4 Blikající obrázky
Obrázky naleznete v /out/target/product/{selected_DH}. Pro flashování obrazů systému musíme spustit následující příkazy (testováno na Dragonboard 845c).
$ adb restartujte bootloader
$ fastboot flash boot boot_uefi.img
$ fastboot flash vendor_boot vendor_boot.img
$ fastboot flash super super.img
$ fastboot flash userdata userdata.img
$ formát rychlého spouštění: metadata ext4 $ restart rychlého spouštění
Po flashování obrázků musíme provést nějaké vyčištění MW spuštěním následujících příkazů (testováno na Dragonboard 845c).
$ adb čekání na zařízení
$ kořen adb
$ adb čekání na zařízení
$ adb remount
$ adb shell rm -rf vendor/etc/init/android.hardware.nfc@1.1-service.rc
$ adb shell rm -rf vendor/etc/init/android.hardware.nfc@1.2-service.rc
$ adb push Test_APK/EMVCoAidlHalComplianceTest/EMVCoAidlHalComplianceTestsystem/atd
$ adb shell chmod 0777 /system/etc/EMVCoAidlHalComplianceTest
$ adb push Test_APK/EMVCoAidlHalDesfireTest/EMVCoAidlHalDesfireTest system/atd
$ adb shell chmod 0777 /system/etc/EMVCoAidlHalDesfireTest
$ adb push Test_APK/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk system/app/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk
$ synchronizace prostředí adb
$ adb restart
$ adb čekání na zařízení
3.5 Konfigurace files
V PN7220 máme čtyři různé konfigurace files.
- libemvco-nxp.conf
- libnfc-nci.conf
- libnfc-nxp.conf
- libnfc-nxp-eeprom.conf
Poznámka: Věnujte pozornost konfiguraci fileje uvedeno v exampTýká se demo desky řadiče NFC. Tyto files musí být přijata podle cílené integrace.
Všechny čtyři files musí být posunut na konkrétní místo.
Tabulka 3. Umístění konfigurace files
Název konfigurace file | Umístění v zařízení |
libemvco-nxp.conf | prodejce/atd |
libnfc-nci.conf | prodejce/atd |
libnfc-nxp.conf | systém / atd |
libnfc-nxp-eeprom.conf | prodejce/atd |
libnfc-nxp-eeprom.conf
Tabulka 4. Vysvětlení libnfc-nxp-eeprom.conf
Jméno | Vysvětlení | Výchozí hodnota |
NXP_SYS_CLK_ SRC_SEL |
Konfigurace výběru zdroje systémových hodin | 0x01 |
NXP_SYS_CLK_ FREQ_SEL |
Konfigurace výběru frekvence systémových hodin | 0x08 |
NXP_ENABLE_ DISABLE_STANBY |
Možnost zapnutí nebo vypnutí pohotovostního režimu | 0x00 |
NXP_ENABLE_ DISABLE_LPCD |
Možnost povolení nebo zakázání LPCD. | 0x00 |
Poznámka: Pokud nejsou nakonfigurovány žádné hodiny, ať už PLL nebo Xtal, pak se zásobník MW opakuje ve smyčce, aby získal hodiny a úspěšně se inicializoval. libnfc-nci.conf
Tabulka 5. Vysvětlení libnfc-nci.conf
Jméno | Vysvětlení | Výchozí hodnota |
APPL_TRACE_LEVEL | Log úrovně pro libnfc-nci | 0xFF |
PROTOCOL_TRACE_LEVEL | Log úrovně pro libnfc-nci | 0xFFFFFFFF |
NFC_DEBUG_ENABLED | Nastavení povolení ladění NFC | 0x01 |
NFA_STORAGE | Nastavte cílový adresář pro NFC file skladování | /data/vendor/nfc |
HOST_LISTEN_TECH_MASK | Konfigurace funkce naslouchání hostiteli | 0x07 |
NCI_HAL_MODULE | Název modulu NCI HAL | nfc_nci.pn54x |
POLLING_TECH_MASK | Konfigurace technologií hlasování | 0x0F |
Tabulka 5. Vysvětlení libnfc-nci.conf…pokračování
Jméno | Vysvětlení | Výchozí hodnota |
P2P_LISTEN_TECH_MASK | P2P není podporováno v PN7220 | 0xC5 |
PRESERVE_STORAGE | Ověřte obsah všech energeticky nezávislých obchodů. | 0x01 |
AID_MATCHING_MODE | Poskytuje různé způsoby, jak porovnat AID | 0x03 |
NFA_MAX_EE_SUPPORTED | Maximální podporované číslo EE | 0x01 |
OFFHOST_AID_ROUTE_PWR_STATE | Nastavte stav podpory OffHost AID | 0x3B |
Tabulka 6. Vysvětlení libnfc-nxp.conf
Jméno | Vysvětlení | Výchozí hodnota |
NXPLOG_EXTNS_LOGLEVEL | Konfigurace úrovně protokolování extns | 0x03 |
NXPLOG_NCIHAL_LOGLEVEL | Konfigurace pro povolení protokolování HAL | 0x03 |
NXPLOG_NCIX_LOGLEVEL | Konfigurace pro povolení protokolování paketů NCI TX | 0x03 |
NXPLOG_NCIR_LOGLEVEL | Konfigurace pro povolení protokolování paketů NCI RX | 0x03 |
NXPLOG_FWDNLD_LOGLEVEL | Konfigurace pro povolení logování funkčnosti stahování FW | 0x03 |
NXPLOG_TML_LOGLEVEL | Konfigurace pro povolení protokolování TM | 0x03 |
NXP_NFC_DEV_NODE | Název uzlu zařízení NFC | idev/rixpnfc” |
MIFARE_READER_ENABLE | Rozšíření pro čtečku NFC pro povolení MIFARE | Ox01 |
NXP_FW_TYPE | Firmware file typ | Ox01 |
NXP_I2C_FRAGMENTATION_ ENABLED | Nakonfigurujte fragmentaci 12C | 0x00 |
NFA_PROPRIETARY_CFG | Nastavte vlastní konfiguraci dodavatele | {05, FF, FF, 06, 81, 80, 70, FF, FF} |
NXP_EXT_TVDD_CFG | Nastavte režim konfigurace TVDD | 0x02 |
NXP_EXT TVDD_CFG_1 | Nakonfigurujte nastavení TVDD podle zvoleného režimu TVDD | Zkontrolujte konfiguraci file |
NXP_EXT_TVDD_CFG_2 | Nakonfigurujte nastavení TVDD podle zvoleného režimu TVDD | Zkontrolujte konfiguraci file |
NXP_CORE_CONF | Nakonfigurujte standardizované části ovladače NFC | { 20, 02, 07, 02, 21, 01, 01, 18, 01, 02 } |
NXP_CORE_CONF_EXTN | Nakonfigurujte proprietární části ovladače NFC | {00, 00, 00, 00} |
NXP_SET_CONFIG_ALWAYS | Vždy posílat CORE_CONF a CORE_CONF_EXTN (nedoporučuje se to povolovat.) | Ox00 |
NXP_RF_CONF_BLK_1 | RF nastavení | Zkontrolujte konfiguraci file |
ISO_DEP_MAX_TRANSCEIVE | Definujte maximální ISO-DEP prodlouženou délku APDU | OxFEFF |
PRESENCE_CHECK_ALGORITHM | Nastavte algoritmus použitý pro proceduru kontroly přítomnosti T4T | 2 |
NXP_FLASH_CONFIG | Blikající konfigurace možností | 0x02 |
Tabulka 7. Vysvětlení libemvco-nxp.conf
Jméno | Vysvětlení | Výchozí hodnota |
NXP LOG EXTNS LOGLEVEL | Konfigurace úrovně protokolování extns | 0x03 |
NXP LOG NCIHAL LOGLEVEL | Konfigurace pro povolení protokolování HAL | 0x03 |
NXP LOG NCIX LOGLEVEL | Konfigurace pro povolení protokolování paketů NCI TX | 0x03 |
NXP LOG NCIR LOGLEVEL | Konfigurace pro povolení protokolování paketů NCI RX | 0x03 |
NXP LOG TML LOGLEVEL | Konfigurace pro povolení protokolování TML | 0x03 |
NXP_EMVCO_DEBUG_ENABLED | Povolit ladění | 0x03 |
NXP EMVCO DEV UZEL | Název uzlu zařízení EMVCo | "/dev/nxpnfc" |
NASTAVENÍ NXP PCD | Konfigurace pro nastavení zpoždění dotazování mezi 2 fázemi | (20, 02, 07, 01, A0, 64, 03, EC, 13, 06) |
NXP SET KONFIG | Možnost nastavení příkazu config pro účely ladění | Zkontrolujte konfiguraci file |
NXP ZÍSKEJTE KONFIG | Možnost získat příkaz config pro účely ladění | Zkontrolujte konfiguraci file |
3.6 APLIKACE DTA
K povolení certifikačního testování NFC Forum je k dispozici aplikace pro testování zařízení. Skládá se z několika komponent v různých vrstvách Androidu, které musí být vytvořeny a zahrnuty do obrazu Android.
Chcete-li aplikaci DTA odeslat, musíme provést následující kroky:
- Zkopírujte všechny DTA files na jedno místo
$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 - Zatlačte binární soubory do zařízení, jak je uvedeno níže
adb shell mkdir /system/app/NxpDTA/
adb push libosal.so /system/lib64/
adb push libdta.so /system/lib64/
adb push libdta_jni.so /system/lib64/
adb push libmwif.so /system/lib64/
adb push NxpDTA.apk /system/app/NxpDTA/
Po flashnutí cíle by pak měla být aplikace DTA přítomna v seznamu nainstalovaných aplikací. Podívejte se na UG pro podrobný popis, jak aplikaci používat.
Portování i.MX 8M Nano
Jako example, ukazujeme, jak vypadá portování na platformu i.MX 8M. Chcete-li získat další informace, podívejte se na [3].
Hardware 4.1
V současné době NXP neposkytuje desku adaptéru. Podívejte se do tabulky 8, jak připojit desky pomocí vodičů.
Tabulka 8. Připojení PN7220 k i.MX 8M Nano
KOLÍK | PN7220 | i.MX 8M NANO |
VEN | J27 – 7 | J003 – 40 |
IRQ | J27 – 6 | J003 – 37 |
SDA | J27 – 3 | J003 – 3 |
SCL | J27 – 2 | J003 – 5 |
MODE_SWITCH | J43 – 32 | J003 – 38 |
GND | J27 – 1 | J003 – 39 |
Software 4.2
Kroky popsané v této části vysvětlují, jak můžeme port PN7200 přenést na platformu i.MX 8M Nano. Stejné kroky s trochou úprav lze použít k portu na jakýkoli jiný DH, který používá OS Android.
Poznámka: V tomto portování example, používáme 13.0.0_1.0.0_Android_Source.
Můžeme znovu použít záplaty související s kódem AOSP. Co se musí změnit, je:
- Strom zařízení (v i.MX 8M Nano je to AROOT_vendor_nxp-opensource_imx_kernel.patch)
- Patch pro konkrétní zařízení (v i.MX 8M Nano je to AROOT_device_nxp.patch)
V AROOT_vendor_nxp-opensource_imx_kernel.patch můžeme vidět, jak je ovladač zahrnut a jak je vytvořen strom zařízení. To je specifické pro každého hostitele zařízení, protože se musíme postarat o konfiguraci pinů, a to se mezi deskami liší. Musíme se také postarat o konfiguraci menu.
V AROOT_device_nxp.patch začleňujeme nfc do sestavení. Obecně dbáme na to, aby byly všechny služby zahrnuty správně atd. Při portování na konkrétní hostitelské zařízení berte tento patch jako referenci a zahrňte všechny věci uvnitř.
Jedna další věc, kterou jsme provedli při portování, se nachází v souboru device-nfc.mk file:
Musíme okomentovat následující řádky:
# BOARD_SEPOLICY_DIRS += vendor/$(NXP_VENDOR_DIR)/nfc/sepolicy \
# vendor/$(NXP_VENDOR_DIR)/nfc/sepolicy/nfc
Důvodem je to, že do BoardConfig.mk specifických pro zařízení zařazujeme sepolicy file. Kroky k vytvoření obrázků:
> Získejte kód AOSP pro i.MX8M Nano
> Sestavte AOSP
> Získejte záplaty NXP ([5])
> Aplikujte všechny opravy pomocí install_nfc.sh
> CD framework/base
> mm
> cd ../..
> dodavatel cd/nxp/frameworks
> mm #po tomto bychom měli vidět com.nxp.emvco.jar naruby/target/product/ imx8mn/system/framwework/
> cd ../../..
> cd hardware/nxp/nfc
> mm
> cd ../../..
> vyrobit
> Stáhněte si obrázky a pomocí nástroje uuu flashujte i.MX8M Nano
Zkratky
Tabulka 9. Zkratky
Akronym | Popis |
APDU | datová jednotka aplikačního protokolu |
AOSP | Android open source projekt |
DH | hostitel zařízení |
HAL | vrstva hardwarové abstrakce |
FW | firmware |
I2C | meziintegrovaný obvod |
LPCD | detekce karty s nižším výkonem |
NCI | rozhraní ovladače NFC |
NFC | komunikace v blízkém poli |
MW | middleware |
PLL | fáze Locked Loop |
P2P | peer to peer |
RF | rádiová frekvence |
SDA | sériová data |
SMCU | bezpečný mikrokontrolér |
SW | software |
Reference
[1] AOSP r3 tag: https://android.googlesource.com/platform/manifest-b android-13.0.0_r3[2] Nástroje pro kontrolu zdroje: https://source.android.com/docs/setup/download
[3] i.MX: https://www.nxp.com/design/software/embedded-software/i-mx-software/android-os-for-i-mxapplications-processors:IMXANDROID
[4] Ovladač jádra PN7220: https://github.com/NXPNFCLinux/nxpnfc/tree/PN7220-Driver
[5] PN7220 MW: https://github.com/NXPNFCLinux/PN7220_Android13
Poznámka ke zdrojovému kódu v dokumentu
ExampKód zobrazený v tomto dokumentu má následující autorská práva a licenci BSD-3-Clause:
Copyright 2023 NXP Redistribuce a použití ve zdrojové a binární formě, s úpravami nebo bez nich, jsou povoleny za předpokladu, že jsou splněny následující podmínky:
- Redistribuce zdrojového kódu musí obsahovat výše uvedené upozornění na autorská práva, tento seznam podmínek a následující prohlášení o vyloučení odpovědnosti.
- Redistribuce v binární formě musí reprodukovat výše uvedenou poznámku o autorských právech, tento seznam podmínek a následující prohlášení o vyloučení odpovědnosti v dokumentaci a/nebo jiných materiálech musí být poskytnuty s distribucí.
- Jméno držitele autorských práv ani jména jeho přispěvatelů nelze použít k podpoře nebo propagaci produktů odvozených od tohoto softwaru bez zvláštního předchozího písemného souhlasu.
TENTO SOFTWARE POSKYTUJÍ DRŽITELÉ AUTORSKÝCH PRÁV A PŘISPĚVATELÉ „TAK, JAK JE“, A JAKÉKOLI VÝSLOVNÉ NEBO PŘEDPOKLÁDANÉ ZÁRUKY, VČETNĚ, ALE NE OMEZENÉ, PŘEDPOKLÁDANÝCH ZÁRUK OBCHODOVATELNOSTI A VHODNOSTI PRO KONKRÉTNÍ NÁKUP. V ŽÁDNÉM PŘÍPADĚ NEBUDE DRŽITEL AUTORSKÝCH PRÁV NEBO PŘISPĚVATELÉ ODPOVĚDNÍ ZA JAKÉKOLI PŘÍMÉ, NEPŘÍMÉ, NÁHODNÉ, ZVLÁŠTNÍ, EXEMPLÁRNÍ NEBO NÁSLEDNÉ ŠKODY (VČETNĚ, ALE NE VÝHRADNĚ, ZAJIŠTĚNÍ NÁHRADNÍCH SLUŽEB, NÁHRADNÍHO ZBOŽÍ; ZISKY NEBO PŘERUŠENÍ OBCHODNÍ ČINNOSTI) JAK JSOU ZPŮSOBENÉ A NA JAKÉKOLI TEorii ODPOVĚDNOSTI, AŤ VE SMLOUVĚ, PŘÍSNÉ ODPOVĚDNOSTI NEBO PŘEČINU (VČETNĚ NEDBALOSTI ČI JINAK), VZNIKLÝM JAKÝKOLIV ZPŮSOBEM Z POUŽITÍ TOHOTO POUŽITÍ. POŠKOZENÍ.
Právní informace
8.1 Definice
Koncept — Stav konceptu na dokumentu znamená, že obsah je stále pod interní revizíview a podléhá formálnímu schválení, které může vést k úpravám nebo doplnění. NXP Semiconductors neposkytuje žádná prohlášení ani záruky ohledně přesnosti nebo úplnosti informací obsažených v pracovní verzi dokumentu a nenese žádnou odpovědnost za důsledky použití takových informací.
8.2 Zřeknutí se odpovědnosti
Omezená záruka a odpovědnost — Informace v tomto dokumentu jsou považovány za přesné a spolehlivé. Společnost NXP Semiconductors však neposkytuje žádná prohlášení ani záruky, vyjádřené nebo předpokládané, ohledně přesnosti nebo úplnosti takových informací a nenese žádnou odpovědnost za důsledky použití takových informací. NXP Semiconductors nenese žádnou odpovědnost za obsah tohoto dokumentu, pokud je poskytnut informačním zdrojem mimo NXP Semiconductors.
Společnost NXP Semiconductors v žádném případě nenese odpovědnost za jakékoli nepřímé, náhodné, trestné, zvláštní nebo následné škody (včetně – bez omezení ušlého zisku, ušlých úspor, přerušení provozu, nákladů souvisejících s odstraněním nebo výměnou jakýchkoli produktů nebo nákladů na přepracování), ať už tyto škody nejsou založeny na protiprávním jednání (včetně nedbalosti), záruce, porušení smlouvy nebo jiné právní teorii.
Bez ohledu na jakékoli škody, které by mohly zákazníkovi z jakéhokoli důvodu vzniknout, bude souhrnná a kumulativní odpovědnost NXP Semiconductors vůči zákazníkovi za produkty popsané v tomto dokumentu omezena v souladu s podmínkami komerčního prodeje NXP Semiconductors.
Právo provádět změny — Společnost NXP Semiconductors si vyhrazuje právo kdykoli a bez upozornění provádět změny informací zveřejněných v tomto dokumentu, včetně, bez omezení, specifikací a popisů produktů. Tento dokument nahrazuje a nahrazuje všechny informace poskytnuté před jeho zveřejněním.
Vhodnost použití — Produkty NXP Semiconductors nejsou navrženy, autorizovány nebo zaručeny tak, aby byly vhodné pro použití v systémech nebo zařízeních pro podporu života, život kritických nebo kritických systémech nebo zařízeních, ani v aplikacích, kde lze důvodně očekávat selhání nebo nesprávnou funkci produktu NXP Semiconductors. zranění osob, smrt nebo vážné poškození majetku nebo životního prostředí. Společnost NXP Semiconductors a její dodavatelé nepřijímají žádnou odpovědnost za zahrnutí a/nebo použití produktů NXP Semiconductors v takovém zařízení nebo aplikacích, a proto je takové zahrnutí a/nebo použití na vlastní riziko zákazníka.
Aplikace — Zde popsané aplikace pro kterýkoli z těchto produktů slouží pouze pro ilustrativní účely. NXP Semiconductors neposkytuje žádné prohlášení ani záruku, že takové aplikace budou vhodné pro specifikované použití bez dalšího testování nebo úprav. Zákazníci jsou zodpovědní za návrh a provoz svých aplikací a produktů využívajících produkty NXP Semiconductors a NXP Semiconductors nepřijímá žádnou odpovědnost za jakoukoli pomoc s aplikacemi nebo návrhem zákaznických produktů. Je výhradní odpovědností zákazníka určit, zda je produkt NXP Semiconductors vhodný a vhodný pro zákazníkovy aplikace a plánované produkty, jakož i pro plánovanou aplikaci a použití zákazníkem (zákazníků) jako třetí strana. Zákazníci by měli poskytnout vhodné konstrukční a provozní záruky, aby minimalizovali rizika spojená s jejich aplikacemi a produkty.
NXP Semiconductors nepřijímá žádnou odpovědnost související s jakýmkoli selháním, poškozením, náklady nebo problémem, který je založen na jakékoli slabosti nebo selhání v aplikacích nebo produktech zákazníka nebo v aplikaci nebo použití zákazníkem (zákazníky třetí strany) zákazníka. Zákazník je odpovědný za provedení všech nezbytných testů pro aplikace a produkty zákazníka využívající produkty NXP Semiconductors, aby se zabránilo selhání aplikací a produktů nebo aplikace nebo použití zákazníkem (zákazníky třetí strany) zákazníka. NXP nenese v tomto ohledu žádnou odpovědnost.
Podmínky komerčního prodeje — Produkty NXP Semiconductors se prodávají v souladu se všeobecnými podmínkami komerčního prodeje, jak jsou zveřejněny na http://www.nxp.com/profile/terms, není-li v platné písemné individuální dohodě dohodnuto jinak. V případě uzavření individuální smlouvy platí pouze podmínky příslušné smlouvy. Společnost NXP Semiconductors tímto výslovně nesouhlasí s uplatňováním všeobecných obchodních podmínek zákazníka s ohledem na nákup produktů NXP Semiconductors zákazníkem.
Kontrola exportu — Tento dokument, stejně jako položky zde popsané, mohou podléhat předpisům o kontrole vývozu. Vývoz může vyžadovat předchozí povolení od příslušných orgánů.
Vhodnost pro použití ve výrobcích nekvalifikovaných pro automobilový průmysl — Pokud tento dokument výslovně neuvádí, že tento konkrétní produkt NXP Semiconductors je způsobilý pro automobilový průmysl, není tento produkt vhodný pro použití v automobilech. Není kvalifikován ani testován v souladu s automobilovým testováním nebo aplikačními požadavky. Společnost NXP Semiconductors nenese žádnou odpovědnost za zahrnutí a/nebo použití jiných než automobilových kvalifikovaných produktů v automobilovém vybavení nebo aplikacích.
V případě, že zákazník použije produkt pro návrh a použití v automobilových aplikacích podle automobilových specifikací a norem, zákazník (a) použije produkt bez záruky NXP Semiconductors na produkt pro takové automobilové aplikace, použití a specifikace a ( b) kdykoli zákazník použije produkt pro automobilové aplikace nad rámec specifikací NXP Semiconductors, takové použití bude výhradně na vlastní riziko zákazníka a (c) zákazník plně odškodní společnost NXP Semiconductors za jakoukoli odpovědnost, škody nebo neúspěšné nároky na produkt vyplývající z návrhu a použití zákazníka. produkt pro automobilové aplikace nad rámec standardní záruky NXP Semiconductors a specifikace produktu NXP Semiconductors.
Produkty hodnocení — Tento produkt je poskytován „tak jak je“ a „se všemi chybami“ pouze pro účely hodnocení. Společnost NXP Semiconductors, její přidružené společnosti a jejich dodavatelé výslovně odmítají veškeré záruky, ať už výslovné, předpokládané nebo zákonné, včetně, nikoli však výhradně, předpokládaných záruk neporušení práv, prodejnosti a vhodnosti pro konkrétní účel. Veškeré riziko týkající se kvality nebo vyplývající z použití nebo výkonu tohoto produktu zůstává na zákazníkovi.
Společnost NXP Semiconductors, její přidružené společnosti nebo jejich dodavatelé v žádném případě nenesou odpovědnost vůči zákazníkovi za žádné zvláštní, nepřímé, následné, trestní nebo náhodné škody (včetně, bez omezení, škod za ztrátu obchodu, přerušení podnikání, ztrátu použití, ztrátu dat nebo informací a podobně) vyplývající z používání nebo nemožnosti používat produkt, ať už je či není
na základě deliktu (včetně nedbalosti), objektivní odpovědnosti, porušení smlouvy, porušení záruky nebo jakékoli jiné teorie, a to i v případě upozornění na možnost takových škod. Bez ohledu na jakékoli škody, které by zákazníkovi mohly z jakéhokoli důvodu vzniknout (včetně, bez omezení, všech výše uvedených škod a všech přímých nebo obecných škod), veškerá odpovědnost společnosti NXP Semiconductors, jejích přidružených společností a jejich dodavatelů a výhradní náprava zákazníka za vše výše uvedené bude být omezena na skutečné škody vzniklé zákazníkovi na základě přiměřeného spoléhání až do výše částky skutečně zaplacené zákazníkem za produkt nebo pěti dolarů (5.00 USD). Výše uvedená omezení, vyloučení a vyloučení odpovědnosti platí v maximálním rozsahu povoleném příslušným zákonem, a to i v případě, že jakýkoli opravný prostředek nesplní svůj základní účel.
Překlady — Neanglická (přeložená) verze dokumentu, včetně právních informací v tomto dokumentu, je pouze orientační. V případě jakéhokoli rozporu mezi přeloženou a anglickou verzí má přednost anglická verze.
Zabezpečení — Zákazník bere na vědomí, že všechny produkty NXP mohou být předmětem neidentifikovaných zranitelností nebo mohou podporovat zavedené bezpečnostní standardy nebo specifikace se známými omezeními. Zákazník je odpovědný za návrh a provoz svých aplikací a produktů během jejich životního cyklu, aby se snížil účinek těchto zranitelností na aplikace a produkty zákazníka. Odpovědnost zákazníka se vztahuje také na další otevřené a/nebo proprietární technologie podporované produkty NXP pro použití v zákaznických aplikacích. NXP nenese žádnou odpovědnost za jakoukoli zranitelnost. Zákazník by měl pravidelně kontrolovat aktualizace zabezpečení z NXP a patřičně je sledovat. Zákazník si vybere produkty s bezpečnostními prvky, které nejlépe vyhovují pravidlům, předpisům a standardům zamýšlené aplikace a bude činit konečná rozhodnutí o designu týkající se svých produktů a je výhradně odpovědný za shodu se všemi právními, regulačními a bezpečnostními požadavky týkajícími se jeho produktů, bez ohledu na jakékoli informace nebo podporu, kterou může NXP poskytnout.
NXP má tým pro reakci na bezpečnostní incidenty produktu (PSIRT) (dostupný na adrese PSIRT@nxp.com), která spravuje vyšetřování, hlášení a uvolňování řešení bezpečnostních zranitelností produktů NXP.
NXP BV – NXP BV není provozní společností a nedistribuuje ani neprodává produkty.
8.3 Licence
Nákup integrovaných obvodů NXP s technologií NFC — Nákup integrovaného obvodu NXP Semiconductors, který je v souladu s jedním ze standardů Near Field Communication (NFC) ISO/IEC 18092 a ISO/IEC 21481, nezahrnuje předpokládanou licenci na žádné patentové právo porušené implementací kteroukoli z těchto norem. Nákup IC NXP Semiconductors nezahrnuje licenci k žádnému patentu NXP (nebo jinému právu IP) pokrývajícímu kombinace těchto produktů s jinými produkty, ať už jde o hardware nebo software.
8.4 Ochranné známky
Upozornění: Všechny uvedené značky, názvy produktů, názvy služeb a ochranné známky jsou majetkem příslušných vlastníků.
NXP — slovo a logo jsou ochranné známky společnosti NXP BV
EdgeVerse — je ochranná známka společnosti NXP BV
i.MX — je ochranná známka společnosti NXP BV
I2C-bus — logo je ochranná známka společnosti NXP BV
Oracle a Java — jsou registrované ochranné známky společnosti Oracle a/nebo jejích přidružených společností.
Uvědomte si prosím, že důležitá upozornění týkající se tohoto dokumentu a zde popsaných produktů byla zahrnuta v části „Právní informace“.
© 2023 NXP BV
Další informace naleznete na adrese: http://www.nxp.com
Všechna práva vyhrazena.
Datum vydání: 18. září 2023
Identifikátor dokumentu: AN13971
AN13971
Poznámka k aplikaci
Veškeré informace uvedené v tomto dokumentu podléhají právnímu vyloučení.
Rev. 1.0 – 18. září 2023
© 2023 NXP BV Všechna práva vyhrazena.
Dokumenty / zdroje
![]() |
Ovladač NFC kompatibilní s NXP PN7220 [pdfUživatelská příručka PN7220 kompatibilní řadič NFC, PN7220, kompatibilní řadič NFC, řadič NFC, řadič |