NXP - alama

AN13971
PN7220 - Mwongozo wa uhamishaji wa Android
Uch. 1.0 - 18 Septemba 2023
Ujumbe wa maombi

Kidhibiti cha NFC kinacholingana na PN7220

Taarifa za hati

Habari Maudhui
Maneno muhimu PN7220, NCI, EMVCo, NFC Forum, Android, NFC
Muhtasari Hati hii inaelezea jinsi ya kusambaza toleo la kati la PN7220 kwa Android.

Semiconductors ya NXP

Historia ya marekebisho
Historia ya marekebisho

Mch Tarehe Maelezo
v.1.0 20230818 Toleo la awali

Utangulizi

Hati hii inatoa miongozo ya kujumuisha kidhibiti cha NFC cha PN7220 NXP NCI kwenye mfumo wa Android kutoka kwa mtazamo wa programu.
Kwanza inaeleza jinsi ya kusakinisha kiendeshi cha kernel kinachohitajika, na kisha inaeleza hatua kwa hatua jinsi ya kubinafsisha vyanzo vya AOSP ili kuongeza usaidizi kwa kidhibiti cha PN7220 NFC. Kielelezo cha 1 kinaonyesha usanifu wa rafu nzima ya Android NFC.

NXP PN7220 Kidhibiti cha NFC kinachotii - Utangulizi 1

Kielelezo cha 1. Rafu ya NFC ya Android

PN7220 imetenganishwa katika hali ya mwenyeji mmoja na mwenyeji-wawili. Kwa ujumla, stack ni sawa kwa jeshi mbili, tunaongeza SMCU.

  • NXP I2C Driver ni moduli ya kernel ambayo hutoa ufikiaji wa rasilimali za maunzi za PN7220.
  • Moduli ya HAL ni utekelezaji wa safu mahususi ya uondoaji ya HW ya kidhibiti NXP NFC.
  • LibNfc-nci ni maktaba asilia ambayo hutoa utendaji wa NFC.
  • NFC JNI ni msimbo wa gundi kati ya Java na madarasa ya Asilia.
  • Mfumo wa NFC na EMVCo ni moduli ya mfumo wa programu ambayo hutoa ufikiaji wa NFC na utendakazi wa EMVCo.

Dereva wa Kernel

Rafu ya Android ya NFC hutumia kiendeshi cha nxpnfc kernel kuwasiliana na PN7220. Inapatikana hapa.

2.1 Maelezo ya dereva
Kiendeshi cha kernel ya nxpnfc hutoa mawasiliano na PN7220 juu ya kiolesura halisi cha I2C.
Inapopakiwa kwenye kernel, kiendeshi hiki hufichua kiolesura kwa PN7220 kupitia nodi ya kifaa inayoitwa /dev/ nxpnfc.

2.2 Kupata msimbo wa chanzo
Funga hazina ya dereva ya PN7220 kwenye saraka ya kernel, ukibadilisha utekelezaji uliopo:
$rm -rf madereva/nfc
$git clone"https://github.com/NXPNFCLinux/nxpnfc.git"-b PN7220-Dereva madereva/

Hii inaisha na viendeshi vya folda/nfc iliyo na yafuatayo files:

  • README.md: habari ya hazina
  • Tengeneza file: tengeneza kichwa cha dereva file
  • Kcon fig: usanidi wa dereva file
  • Leseni: masharti ya leseni ya udereva
  • folda ndogo ya nfc iliyo na:
    - commoc. c: utekelezaji wa kiendeshi cha kawaida
    - kawaida. h: ufafanuzi wa kiolesura cha kiendeshi cha kawaida
    – i2c_drv.c: Utekelezaji wa kiendeshaji wa i2c mahususi
    – i2c_drv.h: ufafanuzi wa kiolesura mahususi cha i2c
    - Tengenezafile: fanyafile ambayo imejumuishwa katika utengenezajifile ya dereva
    - Kbuild => jenga file
    - Kconfig => usanidi wa dereva file

2.3 Kujenga dereva
Ikiwa ni pamoja na dereva kwenye kernel na kuifanya kupakia wakati wa boot ya kifaa hufanyika shukrani kwa kifaa cha kifaa.
Baada ya kusasisha ufafanuzi wa mti wa kifaa, mti wa kifaa kinachohusiana na jukwaa lazima ujengwe upya. NXP inapendekeza kutumia toleo la kernel 5.10, kwani katika toleo hili uthibitisho kamili unafanywa.

  1. Pakua punje
  2. Pata nambari ya chanzo cha dereva.
  3. Badilisha ufafanuzi wa mti wa kifaa (maalum kwa kifaa ambacho tunatumia).
  4. Jenga dereva.
    a. Kupitia utaratibu wa menuconfig, jumuisha kiendeshi kinacholengwa kwenye muundo.

Baada ya kujenga upya kernel kamili, dereva atajumuishwa kwenye picha ya kernel. Lazima tuhakikishe kuwa picha zote mpya za kernel zimenakiliwa kwenye muundo wa AOSP.

Marekebisho ya AOSP

NXP hutoa viraka juu ya msimbo wa AOSP. Hiyo ina maana kwamba mtumiaji anaweza kwanza kupata msimbo wa AOSP na kutumia viraka kutoka NXP. Sehemu hii inaelezea jinsi ya kukamilisha hili. AOSP ya sasa tag tunayotumia ni [1].

3.1 AOSP kujenga

  1. Ni lazima tupate msimbo wa chanzo wa AOSP. Hii tunaweza kufanya na:
    $ repo init -u https://android.googlesource.com/platform/manifest-b android-13.0.0_r3
    Usawazishaji wa $ repo
    Kumbuka: Chombo cha repo lazima kisakinishwe kwenye mfumo. Fuata maagizo [2].
  2. Tunapokuwa na msimbo wa chanzo, tunaweza kuingiza saraka na kuijenga:
    $cd Android_AROOT
    $source build/envsetup.sh
    $lunch select_target #target ni DH tunayotaka kutumia kwa mfanoample: db845c-userdebug $make -j
  3. Wakati AOSP inapojengwa kwa ufanisi, lazima tupate viraka vya NXP. Hii tunaweza kufanya na:
    $git clone"https://github.com/NXPNFCLinux/PN7220_Android13.git” muuzaji/nxp/
  4. Kwa wakati huu, sote tumehitaji kutumia viraka kwa usaidizi wa PN7220. Tunaweza kutumia viraka kwa kuendesha hati ya install_NFC.sh.
    $chmod +x /vendor/nxp/nfc/install_NFC.sh #wakati mwingine tunahitaji kuongeza haki zinazoweza kutekelezwa kwa hati
    $./vendor/nxp/nfc/install_NFC.sh
    Kumbuka: Angalia matokeo baada ya kuendesha install_NFC.sh. Ikihitajika, lazima tufanye mabadiliko fulani kwa mkono.
  5. Tunaweza pia kuongeza jozi za FW:
    $git clone 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
  6. Inaongeza NFC ili kuunda
    Katika kifaa.mk tengenezafile (kwa mfanoample, kifaa/brand/platform/device.mk), inajumuisha make maalumfiles:
    $(piga simu ya kurithi-bidhaa, vendor/nxp/nfc/device-nfc.mk)
    Katika BoardConfig.mk makefile (kwa mfanoample, kifaa/brand/platform/BoardConfig.mk), inajumuisha utengenezaji mahususifile:
    -jumuisha muuzaji/nxp/nfc/BoardConfigNfc.mk
  7. Inaongeza programu ya DTA
    $git clone https://github.com/NXPNCPProject/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
  8. Sasa tunaweza kuunda AOSP tena na mabadiliko yote tuliyofanya:
    $ cd mfumo/msingi
    $mm
    $cd ../..
    $ cd muuzaji/nxp/frameworks
    $mm #baada ya hii, tunapaswa kuona com.nxp.emvco.jar ndani nje/target/product/xxxx/system/framwework/
    $cd ../../..
    $cd maunzi/nxp/nfc
    $mm
    $cd ../../..
    $tengeneza -j
    Sasa, tunaweza kumulika seva pangishi ya kifaa chetu na picha ya Android inayojumuisha vipengele vya NFC.

3.2 Programu za Android NFC na Lib kwenye malengo
Katika kifungu hiki, tunaelezea ambapo maalum imekusanywa files zinasukumwa. Ikiwa kuna mabadiliko yoyote, tunaweza kuchukua nafasi hiyo tu file. Jedwali la 1 linaonyesha maeneo yote.
Jedwali 1. Imeundwa files yenye lengo la kifaa

Mahali pa mradi Imekusanywa Files Mahali katika kifaa lengwa
“$ANDROID_ROOT”/packages/apps/Nfc lib/NfcNci.apk
oat/libnfc_nci_jni.so
/mfumo/app/NfcNci/
/mfumo/lib64/
“$ANDROID_ROOT”/system/nfc libnfc_nci.so /mfumo/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
/muuzaji/bin/hw/
/vendor/etc/init
mfumo/lib64/
mfumo/lib64/
mfumo/lib64/
“$ANDROID_ROOT”/hardware/nxp/nfc vendor.nxp.nxpnfc@2.0.so /mfumo/lib64
“$ANDROID_ROOT”/vendor/nxp/frameworks com.nxp.emvco.jar /mfumo/mfumo
/muuzaji/mfumo
“$ANDROID_ROOT”/hardware/nxp/emvco emvco_poller.so
android.hardware.emvco-huduma
android.hardware.emvco-service.rc
android.hardware.emvco-V1-ndk.so
android.hardware.emvco-V2-ndk.so
/vendor/lib64
/muuzaji/bin/hw/
/vendor/etc/init
mfumo/lib64/
mfumo/lib64/

3.3 Uchoraji ramani

Kila kiraka lazima kitumike kwa eneo maalum. Jedwali la 2 linaonyesha jina la kiraka na mahali ambapo ni lazima tuitumie na jina la kuzuia, ambalo linatuonyesha wapi kwenye stack ya NFC (Mchoro 1) iko.
Jedwali 2. Mahali pa kuweka kwenye NFC Stack

Zuia jina Jina la kiraka Mahali pa kutuma maombi
NFC HAL na EMVCo HAL AROOT_hardware_interfaces.patch maunzi/violesura/
Rafu ya NFC AROOT_hardware_nxp_nfc.patch vifaa/nxp/nfc/
EMVCo L1 Data Exchange Tabaka = EMVCo Stack AROOT_hardware_nxp_emvco.patch vifaa/nxp/emvco/
LibNfc-Nci AROOT_system_nfc.patch mfumo/nfc/
NFC JNI AROOT_packages_apps_Nfc.patch vifurushi/programu/nfc/
Huduma ya NFC AROOT_packages_apps_Nfc.patch vifurushi/programu/nfc/
Mfumo wa NFC AROOT_frameworks_base.patch mifumo/msingi/
Mfumo wa EMVCo AROOT_vendor_nxp_frameworks.patch muuzaji/nxp/mifumo/

3.4 Picha zinazomulika
Picha zinaweza kupatikana katika /out/target/product/{selected_DH}. Ili kuangaza picha za mfumo, lazima tuendeshe amri zifuatazo (zilizojaribiwa kwenye Dragonboard 845c).
$ adb anzisha upya kipakiaji
$ fastboot flash boot boot_uefi.img
$ fastboot flash vendor_boot vendor_boot.img
$ fastboot flash super super.img
$ fastboot flash userdata userdata.img
Umbizo la $ fastboot: metadata ext4 $fastboot kuwasha upya

Baada ya picha kuwaka, lazima tufanye usafishaji wa MW kwa kutekeleza amri zifuatazo (zilizojaribiwa kwenye Dragonboard 845c).

$ adb kusubiri-kwa-kifaa
$ adb mzizi
$ adb kusubiri-kwa-kifaa
$ adb kuweka tena
$ 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/nk
$ adb shell chmod 0777 /system/etc/EMVCoAidlHalComplianceTest
$ adb push Test_APK/EMVCoAidlHalDesfireTest/EMVCoAidlHalDesfireTest mfumo/nk
$ adb shell chmod 0777 /system/etc/EMVCoAidlHalDesfireTest
$ adb push Test_APK/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk system/app/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk
Usawazishaji wa ganda la $ adb
$ adb kuwasha upya
$ adb kusubiri-kwa-kifaa

3.5 Sanidi files
Katika PN7220, tuna usanidi nne tofauti files.

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

Kumbuka: Makini na usanidi files zinazotolewa katika exampinahusiana na bodi ya onyesho ya kidhibiti cha NFC. Haya filelazima ichukuliwe kulingana na ujumuishaji unaolengwa.
Zote nne files lazima kusukumwa kwa eneo maalum.

Jedwali 3. Maeneo ya usanidi files

Jina la usanidi file Mahali kwenye kifaa
libemvco-nxp.conf muuzaji/nk
libnfc-nci.conf muuzaji/nk
libnfc-nxp.conf mfumo / nk
libnfc-nxp-eeprom.conf muuzaji/nk

libnfc-nxp-eeprom.conf

Jedwali 4. libnfc-nxp-eeprom.conf maelezo

Jina Maelezo Thamani chaguomsingi
NXP_SYS_CLK_
SRC_SEL
Usanidi wa uteuzi wa chanzo cha saa ya mfumo 0x01
NXP_SYS_CLK_
FREQ_SEL
Usanidi wa uteuzi wa mzunguko wa saa ya mfumo 0x08
NXP_ENABLE_
DISABLE_STANBY
Chaguo kuwezesha au kuzima Hali ya Kusubiri 0x00
NXP_ENABLE_
DISABLE_LPCD
Chaguo kuwezesha au kuzima LPCD. 0x00

Kumbuka: Ikiwa hakuna saa iliyosanidiwa, PLL au Xtal, basi rafu ya MW itajaribu tena kwa kitanzi ili kupata saa na kuanzishwa kwa mafanikio. libnfc-nci.conf

Jedwali 5. libnfc-nci.conf maelezo

Jina Maelezo Thamani chaguomsingi
APPL_TRACE_LEVEL Viwango vya kumbukumbu kwa libnfc-nci 0xFF
PROTOCOL_TRACE_LEVEL Viwango vya kumbukumbu kwa libnfc-nci 0xFFFFFFFF
NFC_DEBUG_INABLED Mpangilio wa kuwezesha utatuzi wa NFC 0x01
NFA_STORAGE Weka saraka lengwa ya NFC file hifadhi /data/vendor/nfc
HOST_LISTEN_TECH_MASK Sanidi kipengele cha kusikiliza mwenyeji 0x07
NCI_HAL_MODULE Jina la moduli ya NCI HAL nfc_nci.pn54x
POLLING_TECH_MASK Usanidi wa teknolojia ya upigaji kura 0x0F

Jedwali 5. libnfc-nci.conf maelezo…inaendelea

Jina Maelezo Thamani chaguomsingi
P2P_LISTEN_TECH_MASK P2P haitumiki katika PN7220 0xC5
PRESERVE_STORAGE Thibitisha maudhui ya maduka yote yasiyo na tete. 0x01
AID_MATCHING_MODE Hutoa njia tofauti za kuendana na AID 0x03
NFA_MAX_EE_SUPPORTED Nambari ya juu zaidi ya EE inayotumika 0x01
OFFHOST_AID_ROUTE_PWR_STATE Weka hali inayotumika ya OffHost AID 0x3B

libnfc-nxp.conf

Jedwali 6. libnfc-nxp.conf maelezo

Jina Maelezo Thamani chaguomsingi
NXPLOG_EXTNS_LOGLEVEL Usanidi wa kiwango cha uwekaji kumbukumbu cha extns 0x03
NXPLOG_NCIHAL_LOGLEVEL Usanidi wa kuwezesha uwekaji kumbukumbu wa HAL 0x03
NXPLOG_NCIX_LOGLEVEL Usanidi wa kuwezesha uwekaji kumbukumbu wa pakiti za NCI TX 0x03
NXPLOG_NCIR_LOGLEVEL Usanidi wa kuwezesha uwekaji kumbukumbu wa pakiti za NCI RX 0x03
NXPLOG_FWDNLD_LOGLEVEL Usanidi wa kuwezesha uwekaji kumbukumbu wa utendaji wa upakuaji wa FW 0x03
NXPLOG_TML_LOGLEVEL Usanidi wa kuwezesha uwekaji kumbukumbu wa TM 0x03
NXP_NFC_DEV_NODE Jina la Njia ya Kifaa cha NFC idev/rixpnfc”
MIFARE_READER_ENABLE Kiendelezi cha kisomaji cha NFC cha kuwezesha MIFARE Ox01
NXP_FW_TYPE Firmware file aina Ox01
NXP_I2C_FRAGMENTATION_ IMEWASHWA Sanidi ugawaji wa 12C 0x00
NFA_PROPRIETARY_CFG Weka usanidi wa umiliki wa Muuzaji {05, FF, FF, 06, 81, 80, 70, FF, FF}
NXP_EXT_TVDD_CFG Weka hali ya usanidi wa TVDD 0x02
NXP_EXT TVDD_CFG_1 Sanidi mipangilio ya TVDD kulingana na hali ya TVDD iliyochaguliwa Angalia usanidi file
NXP_EXT_TVDD_CFG_2 Sanidi mipangilio ya TVDD kulingana na hali ya TVDD iliyochaguliwa Angalia usanidi file
NXP_CORE_CONF Sanidi sehemu sanifu za kidhibiti cha NFC {20, 02, 07, 02, 21, 01, 01, 18, 01, 02 }
NXP_CORE_CONF_EXTN Sanidi sehemu za umiliki za kidhibiti cha NFC {00, 00, 00, 00}
NXP_SET_CONFIG_DAIMA Tuma CORE_CONF na CORE_CONF_EXTN kila wakati (haipendekezwi kuiwezesha.) Ox00
NXP_RF_CONF_BLK_1 Mipangilio ya RF Angalia usanidi file
ISO_DEP_MAX_TRANSCEIVE Bainisha urefu wa juu zaidi wa ISO-DEP uliopanuliwa wa APDU OxFEFF
PRESENCE_CHECK_ALGORITHM Weka kanuni inayotumika kwa utaratibu wa kuangalia uwepo wa T4T  2
NXP_FLASH_CONFIG Usanidi wa Chaguzi za Kung'aa 0x02

libemvco-nxp.conf

Jedwali 7. libemvco-nxp.conf maelezo

Jina Maelezo Thamani chaguomsingi
NXP LOGLEVEL INAONGEZA LOGLEVEL Usanidi wa kiwango cha uwekaji kumbukumbu cha extns 0x03
NXP LOGLEVEL NCIHAL LOGLEVEL Usanidi wa kuwezesha uwekaji kumbukumbu wa HAL 0x03
NXP LOGLEVEL NCIX LOGLEVEL Usanidi wa kuwezesha uwekaji kumbukumbu wa pakiti za NCI TX 0x03
NXP LOGLEVEL NCIR LOGLEVEL Usanidi wa kuwezesha uwekaji kumbukumbu wa pakiti za NCI RX 0x03
NXP LOGLEVEL TML Usanidi wa kuwezesha uwekaji kumbukumbu wa TML 0x03
NXP_EMVCO_DEBUG_WEZESHWA Washa utatuzi 0x03
NXP EMVCO DEV NODE Jina la Njia ya Kifaa cha EMVCo "/dev/nxpnfc"
MIPANGILIO YA PCD ya NXP Usanidi wa kuweka ucheleweshaji wa upigaji kura kati ya awamu 2 (20, 02, 07, 01, A0, 64, 03, EC, 13, 06)
NXP SET CONFIG Chaguo la kuweka amri ya usanidi kwa madhumuni ya kurekebisha Angalia usanidi file
NXP PATA HIFADHI Chaguo la kupata amri ya usanidi kwa madhumuni ya kurekebisha Angalia usanidi file

3.6 MAOMBI YA DTA
Ili kuruhusu majaribio ya uidhinishaji wa Mijadala ya NFC, programu ya majaribio ya kifaa imetolewa. Inaundwa na vipengele kadhaa katika tabaka tofauti za Android, ambazo lazima zijengwe na zijumuishwe kwenye picha ya Android.
Ili kusukuma programu ya DTA, lazima tufuate hatua zifuatazo:

  1. Nakili DTA zote files kwa eneo moja
    $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. Sukuma jozi kwenye kifaa kama chini
    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/

Baada ya kuangaza lengo, programu ya DTA inapaswa kuwapo kwenye orodha ya programu zilizosakinishwa. Angalia UG kwa maelezo ya kina ya jinsi ya kutumia programu.

i.MX 8M Nano porting

Kama exampna, tunaonyesha jinsi uhamishaji wa jukwaa la i.MX 8M unavyoonekana. Ili kupata habari zaidi, angalia [3].

4.1 maunzi
Kwa sasa, NXP haitoi bodi ya adapta. Angalia Jedwali 8 ili kuona jinsi ya kuunganisha bodi na waya.

Jedwali 8. PN7220 hadi i.MX 8M miunganisho ya Nano

PIN 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

Programu ya 4.2
Hatua zilizoelezwa katika sehemu hii zinaeleza jinsi tunavyoweza kusafirisha PN7200 hadi kwenye jukwaa la i.MX 8M Nano. Hatua sawa na urekebishaji kidogo, inaweza kutumika kuhamishia DH nyingine yoyote inayotumia Mfumo wa Uendeshaji wa Android.
Kumbuka: Katika mfano huu wa portingampna, tunatumia 13.0.0_1.0.0_Android_Source.
Tunaweza kutumia tena viraka vinavyohusiana na msimbo wa AOSP. Kinachopaswa kubadilishwa ni:

  1. Mti wa kifaa (katika i.MX 8M Nano, hii ni AROOT_vendor_nxp-opensource_imx_kernel.patch)
  2. Kibandiko mahususi cha kifaa (katika i.MX 8M Nano, hii ni AROOT_device_nxp.patch)

Katika AROOT_vendor_nxp-opensource_imx_kernel.patch, tunaweza kuona jinsi dereva inavyojumuishwa na jinsi mti wa kifaa umejengwa. Hii ni maalum kwa kila seva pangishi ya kifaa kwani ni lazima tutunze usanidi wa pini, na hii ni tofauti kati ya vibao. Pia lazima tutunze usanidi wa menyu.
Katika AROOT_device_nxp.patch, tunajumuisha nfc kwenye muundo. Kwa ujumla, tunahakikisha kuwa huduma zote zimejumuishwa ipasavyo, n.k. Unapohamishia seva pangishi ya kifaa mahususi, chukua kiraka hiki kama marejeleo na ujumuishe vitu vyote vilivyomo.
Kitu kimoja cha ziada tulichofanya katika upakiaji kinapatikana kwenye kifaa-nfc.mk file:
Tunahitaji kutoa maoni kwa mistari ifuatayo:
# BOARD_SEPOLICY_DIRS += muuzaji/$(NXP_VENDOR_DIR)/nfc/sepolicy \
# muuzaji/$(NXP_VENDOR_DIR)/nfc/sepolicy/nfc
Sababu ya hii ni kwamba tunajumuisha usiri katika kifaa mahususi cha BoardConfig.mk. file. Hatua za kuunda picha:
> Pata msimbo wa AOSP wa i.MX8M Nano
> Jenga AOSP
> Pata viraka vya NXP ([5])
> Tumia viraka vyote kwa install_nfc.sh
> mfumo wa cd/msingi
> mm
> cd ../..
> cd muuzaji/nxp/frameworks
> mm #baada ya hii, tunapaswa kuona com.nxp.emvco.jar ndani nje/target/product/ imx8mn/system/framwework/
> cd ../../..
> vifaa vya cd/nxp/nfc
> mm
> cd ../../..
> kutengeneza
> Pakua picha na utumie zana ya uuu kuangaza i.MX8M Nano

Vifupisho

Jedwali 9. Vifupisho

Kifupi Maelezo
ADU kitengo cha data ya itifaki ya programu
AOSP Mradi wa chanzo huria cha Android
DH mwenyeji wa kifaa
HAL safu ya uondoaji wa vifaa
FW firmware
I2C mzunguko uliounganishwa
LPCD utambuzi wa kadi yenye nguvu ya chini
NCI Kiolesura cha kidhibiti cha NFC
NFC mawasiliano ya karibu
MW vyombo vya kati
PLL awamu ya-imefungwa kitanzi
P2P rika kwa rika
RF masafa ya redio
SDA data ya serial
SMCU salama microcontroller
SW programu

Marejeleo

[1] AOSP r3 tag: https://android.googlesource.com/platform/manifest-b android-13.0.0_r3
[2] Zana za kudhibiti chanzo: 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] Uendeshaji wa kernel wa PN7220: https://github.com/NXPNFCLinux/nxpnfc/tree/PN7220-Driver
[5] PN7220 MW: https://github.com/NXPNFCLinux/PN7220_Android13

Kumbuka kuhusu msimbo wa chanzo katika hati

Exampmsimbo ulioonyeshwa katika hati hii una hakimiliki ifuatayo na leseni ya Kifungu cha BSD-3:
Hakimiliki 2023 NXP Ugawaji na matumizi katika aina chanzo na mfumo wa jozi, pamoja na au bila marekebisho, inaruhusiwa mradi masharti yafuatayo yametimizwa:

  1. Ugawaji upya wa msimbo wa chanzo lazima uhifadhi notisi ya hakimiliki iliyo hapo juu, orodha hii ya masharti na kanusho lifuatalo.
  2. Ugawaji upya katika mfumo wa mfumo wa jozi lazima uzalishe notisi ya hakimiliki iliyo hapo juu, orodha hii ya masharti na kanusho lifuatalo katika hati na/au nyenzo zingine lazima zitolewe kwa usambazaji.
  3. Hakuna jina la mwenye hakimiliki wala majina ya wachangiaji wake yanayoweza kutumiwa kuidhinisha au kukuza bidhaa zinazotokana na programu hii bila idhini maalum ya maandishi.

SOFTWARE HII IMETOLEWA NA WENYE HAKI NA WACHANGIAJI "KAMA ILIVYO" NA DHAMANA ZOZOTE ZILIZOONEKANA AU ZILIZODHANISHWA, IKIWEMO, LAKINI SI KIKOMO, DHAMANA ILIYOHUSIKA YA UUZAJI NA KUFAA KWA MADHUMUNI MAALUM. KWA MATUKIO YOYOTE MWENYE HAKI YA HAKI AU WACHANGIAJI ATAWAJIBIKA KWA MOJA KWA MOJA, MOJA KWA MOJA, TUKIO, MAALUM, MIFANO, AU UHARIBIFU WOWOTE (pamoja na, LAKINI SI KIKOMO, UNUNUZI WA HUDUMA, HUDUMA, HUDUMA, HASARA; FAIDA ; UHARIBIFU.

Taarifa za kisheria

8.1 Ufafanuzi
Rasimu - Hali ya rasimu kwenye hati inaonyesha kuwa maudhui bado yako chini ya ukaguzi wa ndaniview na kulingana na idhini rasmi, ambayo inaweza kusababisha marekebisho au nyongeza. NXP Semiconductors haitoi uwakilishi au dhamana yoyote kuhusu usahihi au ukamilifu wa taarifa iliyojumuishwa katika toleo la rasimu ya hati na haitakuwa na dhima kwa matokeo ya matumizi ya habari kama hiyo.

8.2 Kanusho
Udhamini mdogo na dhima - Taarifa katika hati hii inaaminika kuwa sahihi na ya kuaminika. Hata hivyo, NXP Semiconductors haitoi uwakilishi au dhamana yoyote, iliyoelezwa au kudokezwa, kuhusu usahihi au ukamilifu wa taarifa kama hizo na haitakuwa na dhima kwa matokeo ya matumizi ya habari hiyo. NXP Semiconductors haiwajibikii maudhui katika hati hii ikiwa yametolewa na chanzo cha habari nje ya NXP Semiconductors.
Kwa hali yoyote, Semiconductors za NXP hazitawajibika kwa uharibifu wowote usio wa moja kwa moja, wa bahati mbaya, wa adhabu, maalum au wa matokeo (pamoja na - bila kikomo faida iliyopotea, akiba iliyopotea, usumbufu wa biashara, gharama zinazohusiana na uondoaji au uingizwaji wa bidhaa zozote au malipo ya kurekebisha) iwe au sio uharibifu kama huo unaotokana na tort (ikiwa ni pamoja na uzembe), dhamana, uvunjaji wa mkataba au nadharia nyingine yoyote ya kisheria.
Bila kujali uharibifu wowote ambao mteja anaweza kupata kwa sababu yoyote ile, jumla ya Waendeshaji Semiconductors wa NXP na dhima limbikizi kwa mteja kwa bidhaa zilizofafanuliwa hapa zitapunguzwa kwa mujibu wa Sheria na Masharti ya uuzaji wa kibiashara wa Semiconductors za NXP.
Haki ya kufanya mabadiliko - Semiconductors ya NXP inahifadhi haki ya kufanya mabadiliko kwa taarifa iliyochapishwa katika hati hii, ikiwa ni pamoja na bila vikwazo vya vipimo na maelezo ya bidhaa, wakati wowote na bila taarifa. Hati hii inachukua nafasi na kuchukua nafasi ya maelezo yote yaliyotolewa kabla ya kuchapishwa kwake.
Kufaa kwa matumizi - Bidhaa za NXP za Semiconductors hazijaundwa, kuidhinishwa au kuthibitishwa kuwa zinafaa kwa matumizi katika usaidizi wa maisha, mifumo au vifaa muhimu vya maisha au usalama, wala katika matumizi ambapo kushindwa au kutofanya kazi kwa bidhaa ya NXP Semiconductors inaweza kutarajiwa kusababisha matokeo. kuumia binafsi, kifo au uharibifu mkubwa wa mali au mazingira. NXP Semiconductors na wasambazaji wake hawakubali dhima yoyote ya kujumuishwa na/au matumizi ya bidhaa za NXP Semiconductors katika vifaa au programu kama hizo na kwa hivyo kujumuishwa na/au matumizi ni kwa hatari ya mteja mwenyewe.
Maombi - Maombi ambayo yamefafanuliwa humu kwa yoyote ya bidhaa hizi ni kwa madhumuni ya kielelezo pekee. Semiconductors ya NXP haitoi uwakilishi au dhamana kwamba programu kama hizo zitafaa kwa matumizi maalum bila majaribio zaidi au marekebisho. Wateja wanawajibika kwa muundo na uendeshaji wa programu na bidhaa zao kwa kutumia bidhaa za NXP Semiconductors, na NXP Semiconductors haikubali dhima yoyote kwa usaidizi wowote wa programu au muundo wa bidhaa za mteja. Ni jukumu la mteja pekee kubainisha ikiwa bidhaa ya NXP Semiconductors inafaa na inafaa kwa programu na bidhaa zilizopangwa za mteja, na pia kwa programu iliyopangwa na matumizi ya mteja/watu wengine. Wateja wanapaswa kutoa muundo unaofaa na ulinzi wa uendeshaji ili kupunguza hatari zinazohusiana na programu na bidhaa zao.
NXP Semiconductors haikubali dhima yoyote inayohusiana na chaguo-msingi, uharibifu, gharama au tatizo lolote ambalo linatokana na udhaifu wowote au chaguo-msingi katika programu au bidhaa za mteja, au maombi au matumizi ya mteja/wateja wengine. Mteja ana wajibu wa kufanya majaribio yote yanayohitajika kwa ajili ya maombi na bidhaa za mteja kwa kutumia bidhaa za NXP Semiconductors ili kuepuka chaguo-msingi la programu na bidhaa au programu au matumizi ya mteja/watu wengine. NXP haikubali dhima yoyote katika suala hili.
Sheria na masharti ya uuzaji wa kibiashara - Bidhaa za Semiconductors za NXP zinauzwa kulingana na sheria na masharti ya jumla ya uuzaji wa kibiashara, kama ilivyochapishwa http://www.nxp.com/profile/terms, isipokuwa kama imekubaliwa vinginevyo katika makubaliano halali ya maandishi ya mtu binafsi. Ikiwa makubaliano ya mtu binafsi yamehitimishwa tu sheria na masharti ya makubaliano husika yatatumika. NXP Semiconductors inapinga waziwazi kutumia sheria na masharti ya jumla ya mteja kuhusu ununuzi wa bidhaa za NXP Semiconductors na mteja.
Udhibiti wa kuuza nje - Hati hii pamoja na bidhaa zilizoelezwa humu zinaweza kuwa chini ya kanuni za udhibiti wa usafirishaji nje. Usafirishaji unaweza kuhitaji idhini ya awali kutoka kwa mamlaka husika.
Kufaa kwa matumizi katika bidhaa zisizo na sifa za magari - Isipokuwa waraka huu unasema waziwazi kuwa bidhaa hii mahususi ya NXP Semiconductors ina sifa za ugari, bidhaa hiyo haifai kwa matumizi ya magari. Haijahitimu wala kujaribiwa kwa mujibu wa majaribio ya magari au mahitaji ya maombi. NXP Semiconductors haikubali dhima ya kujumuishwa na/au matumizi ya bidhaa zisizo za kigari zilizohitimu katika vifaa vya magari au programu.
Iwapo mteja atatumia bidhaa kwa ajili ya kubuni na kutumia katika programu za magari kwa vipimo na viwango vya magari, mteja (a) atatumia bidhaa bila dhamana ya NXP ya Semiconductors ya bidhaa kwa ajili ya maombi hayo ya magari, matumizi na vipimo, na ( b) wakati wowote mteja anapotumia bidhaa kwa ajili ya maombi ya magari zaidi ya vipimo vya NXP Semiconductors matumizi kama hayo yatakuwa kwa hatari ya mteja mwenyewe, na (c) mteja anafidia kikamilifu Semiconductors za NXP kwa dhima yoyote, uharibifu au madai ya bidhaa yaliyofeli kutokana na muundo na matumizi ya mteja. bidhaa kwa ajili ya maombi ya magari zaidi ya udhamini wa kiwango cha NXP Semiconductors na vipimo vya bidhaa vya NXP Semiconductors.
Bidhaa za tathmini - Bidhaa hii inatolewa kwa misingi ya "kama ilivyo" na "pamoja na makosa yote" kwa madhumuni ya tathmini pekee. NXP Semiconductors, washirika wake na wasambazaji wao wanakanusha waziwazi dhamana zote, ziwe za wazi, zinazodokezwa au za kisheria, ikijumuisha lakini sio tu kwa dhamana zilizodokezwa za kutokiuka, uuzaji na usawa kwa madhumuni mahususi. Hatari nzima ya ubora, au inayotokana na matumizi au utendaji, wa bidhaa hii inabaki kwa mteja.
Kwa hali yoyote, Semiconductors za NXP, washirika wake au wasambazaji wao hawatawajibika kwa mteja kwa uharibifu wowote maalum, usio wa moja kwa moja, wa matokeo, wa adhabu au wa bahati nasibu (pamoja na uharibifu usio na kikomo kwa upotezaji wa biashara, usumbufu wa biashara, upotezaji wa matumizi, upotezaji wa data au habari. , na mengineyo) yanayotokana na matumizi au kutokuwa na uwezo wa kutumia bidhaa, iwe au la
kwa msingi wa tort (ikiwa ni pamoja na uzembe), dhima kali, uvunjaji wa mkataba, uvunjaji wa dhamana au nadharia nyingine yoyote, hata ikiwa inashauriwa juu ya uwezekano wa uharibifu huo. Bila kujali uharibifu wowote ambao mteja anaweza kupata kwa sababu yoyote ile (ikiwa ni pamoja na bila kikomo, uharibifu wote uliorejelewa hapo juu na uharibifu wote wa moja kwa moja au wa jumla), dhima nzima ya NXP Semiconductors, washirika wake na wasambazaji wao na suluhisho la kipekee la mteja kwa yote yaliyotangulia. itapunguzwa kwa uharibifu halisi unaofanywa na mteja kulingana na utegemezi unaokubalika hadi kiwango kikubwa zaidi ambacho mteja hulipa kwa bidhaa au dola tano (US$5.00). Vikwazo vilivyotangulia, vizuizi na kanusho vitatumika kwa kiwango cha juu kinachoruhusiwa na sheria inayotumika, hata kama suluhu lolote litashindwa kutimiza madhumuni yake muhimu.
Tafsiri - Toleo lisilo la Kiingereza (lililotafsiriwa) la hati, pamoja na maelezo ya kisheria katika waraka huo, ni kwa ajili ya marejeleo pekee. Toleo la Kiingereza litatumika iwapo kutatokea hitilafu yoyote kati ya matoleo yaliyotafsiriwa na ya Kiingereza.
Usalama - Mteja anaelewa kuwa bidhaa zote za NXP zinaweza kuwa chini ya udhaifu usiojulikana au zinaweza kusaidia viwango vilivyowekwa vya usalama au vipimo vilivyo na vikwazo vinavyojulikana. Mteja anawajibika kwa muundo na uendeshaji wa programu na bidhaa zake katika maisha yake yote ili kupunguza athari za udhaifu huu kwenye programu na bidhaa za mteja. Wajibu wa Mteja pia unaenea hadi kwa teknolojia zingine huria na/au za umiliki zinazoungwa mkono na bidhaa za NXP kwa matumizi katika programu za mteja. NXP haikubali dhima yoyote ya athari yoyote. Mteja anapaswa kuangalia mara kwa mara masasisho ya usalama kutoka NXP na kufuatilia ipasavyo. Mteja atachagua bidhaa zilizo na vipengele vya usalama ambavyo vinakidhi vyema sheria, kanuni na viwango vya matumizi yaliyokusudiwa na kufanya maamuzi ya mwisho ya muundo kuhusu bidhaa zake na anawajibika kikamilifu kwa kufuata mahitaji yote ya kisheria, udhibiti na usalama yanayohusiana na bidhaa zake, bila kujali. habari au usaidizi wowote ambao unaweza kutolewa na NXP.
NXP ina Timu ya Majibu ya Tukio la Usalama wa Bidhaa (PSIRT) (inaweza kufikiwa kwa saa PSIRT@nxp.com) ambayo inadhibiti uchunguzi, kuripoti na kutolewa kwa suluhisho kwa udhaifu wa usalama wa bidhaa za NXP.
NXP BV - NXP BV si kampuni inayofanya kazi na haisambazi au kuuza bidhaa.

8.3 Leseni
Ununuzi wa NXP IC kwa teknolojia ya NFC — Ununuzi wa NXP Semiconductors IC ambayo inatii mojawapo ya viwango vya Near Field Communication (NFC) ISO/IEC 18092 na ISO/IEC 21481 haitoi leseni iliyodokezwa chini ya haki yoyote ya hataza inayokiukwa na utekelezaji wa yoyote ya viwango hivyo. Ununuzi wa NXP Semiconductors IC haijumuishi leseni ya hataza yoyote ya NXP (au IP nyingine kulia) inayojumuisha mchanganyiko wa bidhaa hizo na bidhaa nyingine, iwe maunzi au programu.

8.4 Alama za biashara
Notisi: Chapa zote zilizorejelewa, majina ya bidhaa, majina ya huduma na chapa za biashara ni mali ya wamiliki husika.
NXP — alama ya neno na nembo ni alama za biashara za NXP BV
EdgeVerse — ni chapa ya biashara ya NXP BV
i.MX — ni chapa ya biashara ya NXP BV
I2C-bus — nembo ni chapa ya biashara ya NXP BV
Oracle na Java — ni chapa za biashara zilizosajiliwa za Oracle na/au washirika wake.

Tafadhali fahamu kwamba arifa muhimu kuhusu hati hii na bidhaa/bidhaa zilizofafanuliwa hapa, zimejumuishwa katika sehemu ya 'Maelezo ya Kisheria'.

NXP - alama© 2023 NXP BV
Kwa habari zaidi, tafadhali tembelea: http://www.nxp.com
Haki zote zimehifadhiwa.
Tarehe ya kutolewa: 18 Septemba 2023
Kitambulisho cha hati: AN13971

AN13971
Ujumbe wa maombi
Taarifa zote zinazotolewa katika hati hii ziko chini ya makanusho ya kisheria.
Uch. 1.0 - 18 Septemba 2023
© 2023 NXP BV Haki zote zimehifadhiwa.

Nyaraka / Rasilimali

Kidhibiti cha NFC kinacholingana na NXP PN7220 [pdf] Mwongozo wa Mtumiaji
PN7220 Kidhibiti cha NFC kinachokubalika, PN7220, Kidhibiti cha NFC kinachokubalika, Kidhibiti cha NFC, Kidhibiti

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *