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.
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.
- Pakua punje
- Pata nambari ya chanzo cha dereva.
- Badilisha ufafanuzi wa mti wa kifaa (maalum kwa kifaa ambacho tunatumia).
- 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
- 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]. - 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 - 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/ - 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. - 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 - 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 - 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 - 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.
- libemvco-nxp.conf
- libnfc-nci.conf
- libnfc-nxp.conf
- 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 |
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 |
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:
- 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 - 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:
- Mti wa kifaa (katika i.MX 8M Nano, hii ni AROOT_vendor_nxp-opensource_imx_kernel.patch)
- 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:
- Ugawaji upya wa msimbo wa chanzo lazima uhifadhi notisi ya hakimiliki iliyo hapo juu, orodha hii ya masharti na kanusho lifuatalo.
- 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.
- 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'.
© 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 |