AN13971
PN7220 – Android porting itọsọna
Ìṣí. 1.0 - 18 Kẹsán 2023
Akọsilẹ ohun elo
PN7220 Ibamu NFC Adarí
Alaye iwe
Alaye | Akoonu |
Awọn ọrọ-ọrọ | PN7220, NCI, EMVCo, NFC Forum, Android, NFC |
Áljẹbrà | Iwe yii ṣe apejuwe bi o ṣe le gbejade PN7220 agbedemeji agbedemeji si Android. |
NXP Semikondokito
Àtúnyẹwò itan
Àtúnyẹwò itan
Rev | Ọjọ | Apejuwe |
v.1.0 | 20230818 | Ẹya akọkọ |
Ọrọ Iṣaaju
Iwe yii n pese awọn itọnisọna fun sisọpọ PN7220 NXP NCI ti o da lori NFC oludari sinu pẹpẹ Android kan lati inu irisi sọfitiwia.
O kọkọ ṣe alaye bi o ṣe le fi awakọ kernel ti a beere sori ẹrọ, ati lẹhinna ṣe apejuwe igbese-nipasẹ-igbesẹ bi o ṣe le ṣe akanṣe awọn orisun AOSP lati ṣafikun atilẹyin fun oludari PN7220 NFC. Nọmba 1 ṣe afihan faaji ti gbogbo akopọ NFC Android.
Olusin 1. Android NFC akopọ
PN7220 ti pin si ọkan-ogun ati awọn oju iṣẹlẹ agbalejo meji. Ni gbogbogbo, akopọ jẹ kanna fun agbalejo meji, a ṣafikun SMCU.
- Awakọ NXP I2C jẹ module ekuro ti o pese iraye si awọn orisun ohun elo ti PN7220.
- Ẹrọ HAL jẹ imuse ti Layer abstraction HW kan pato ti oludari NXP NFC.
- LibNfc-nci jẹ ile-ikawe abinibi ti o pese iṣẹ ṣiṣe NFC.
- NFC JNI jẹ koodu lẹ pọ laarin Java ati awọn kilasi abinibi.
- NFC ati EMVCo Framework jẹ module ilana ohun elo ti o pese iraye si NFC ati iṣẹ ṣiṣe EMVCo.
Ekuro iwakọ
Akopọ NFC Android nlo awakọ kernel nxpnfc lati ṣe ibasọrọ pẹlu PN7220. O wa nibi.
2.1 Driver alaye
Awakọ ekuro nxpnfc nfunni ni ibaraẹnisọrọ pẹlu PN7220 lori wiwo ti ara I2C kan.
Nigbati o ba gbe sinu ekuro, awakọ yii ṣe afihan wiwo si PN7220 nipasẹ ipade ẹrọ ti a npè ni /dev/ nxpnfc.
2.2 Ngba koodu orisun
Clone ibi ipamọ awakọ PN7220 sinu itọsọna ekuro, rọpo imuse ti o wa tẹlẹ:
$ rm -rf awakọ / nfc
$git oniye"https://github.com/NXPNFCLinux/nxpnfc.git“-b PN7220-awakọ awakọ/
Eyi pari pẹlu awọn awakọ folda / nfc ti o ni atẹle naa files:
- README.md: alaye ibi ipamọ
- Ṣe file: iwakọ akori Rii file
- Kcon ọpọtọ: iwakọ iṣeto ni file
- Iwe-aṣẹ: Awọn ofin iwe-aṣẹ awakọ
- nfc folda ninu:
– commoc. c: jeneriki iwakọ imuse
– wọpọ. h: jeneriki iwakọ ni wiwo definition
- i2c_drv.c: i2c pato iwakọ imuse
- i2c_drv.h: i2c pato awakọ ni wiwo asọye
– Ṣefile: ṣefile ti o wa ninu sisefile ti awakọ
– Kbuild => kọ file
– Kconfig => iṣeto awakọ file
2.3 Ilé awakọ
Pẹlu awakọ sinu ekuro ati ṣiṣe ki o fifuye lakoko bata ẹrọ jẹ ọpẹ si ẹrọ ẹrọ naa.
Lẹhin ti o ṣe imudojuiwọn itumọ igi ẹrọ, igi ẹrọ ti o ni ibatan si pẹpẹ gbọdọ jẹ tunkọ. NXP ni imọran lilo ẹya kernel 5.10, niwọn igba ti ẹya yii jẹ ifọwọsi pipe.
- Ṣe igbasilẹ ekuro naa
- Gba koodu orisun awakọ naa.
- Yi itumọ igi ẹrọ pada (kan pato si ẹrọ ti a nlo).
- Kọ awakọ.
a. Nipasẹ ilana menuconfig, pẹlu awakọ ibi-afẹde ninu kikọ.
Lẹhin atunṣe ekuro pipe, awakọ yoo wa ninu aworan ekuro. A gbọdọ rii daju pe gbogbo awọn aworan ekuro tuntun ni a daakọ sinu kikọ AOSP.
AOSP aṣamubadọgba
NXP n pese awọn abulẹ lori oke koodu AOSP. Iyẹn tumọ si pe olumulo le kọkọ gba koodu AOSP kan ati lo awọn abulẹ lati NXP. Abala yii ṣe apejuwe bi o ṣe le ṣaṣeyọri eyi. AOSP lọwọlọwọ tag ti a nlo ni [1].
3.1 AOSP kọ
- A gbọdọ gba koodu orisun AOSP. Eyi ni a le ṣe pẹlu:
$ repo init -u https://android.googlesource.com/platform/manifest-b Android-13.0.0_r3
$ repo amuṣiṣẹpọ
Akiyesi: Ohun elo repo gbọdọ wa ni fi sori ẹrọ lori eto naa. Tẹle awọn ilana [2]. - Nigba ti a ba ni koodu orisun, a le tẹ iwe ilana naa ki o si kọ ọ:
$cd Android_AROOT
$ orisun kọ / envsetup.sh
$ọsan select_target #afojusun jẹ DH ti a fẹ lati lo fun example: db845c-userdebug $ ṣe -j - Nigbati AOSP ti kọ ni aṣeyọri, a gbọdọ gba awọn abulẹ NXP. Eyi ni a le ṣe pẹlu:
$git oniye"https://github.com/NXPNFCLinux/PN7220_Android13.git” ataja/nxp/ - Ni aaye yii, gbogbo wa nilo lati lo awọn abulẹ fun atilẹyin PN7220. A le lo awọn abulẹ nipa sisẹ iwe afọwọkọ install_NFC.sh.
$chmod +x / olùtajà/nxp/nfc/install_NFC.sh #nigba miiran a nilo lati ṣafikun awọn ẹtọ ṣiṣe si iwe afọwọkọ
$./ olùtajà/nxp/nfc/install_NFC.sh
Akiyesi: Ṣayẹwo iṣẹjade lẹhin ṣiṣe install_NFC.sh. Ti o ba nilo, a gbọdọ ṣe diẹ ninu awọn ayipada pẹlu ọwọ. - A tun le ṣafikun awọn alakomeji FW:
$git oniye 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 - Ṣafikun NFC lati kọ
Ninu ẹrọ naa.mk ṣefile (fun example, ẹrọ/brand/platform/device.mk), pẹlu kan pato Riifiles:
$ (ipe-ọja-jogun, olùtajà/nxp/nfc/ẹrọ-nfc.mk)
Ni awọn BoardConfig.mk ṣefile (fun example, ẹrọ / brand / Syeed / BoardConfig.mk), pẹlu kan pato ṣefile:
-pẹlu ataja/nxp/nfc/BoardConfigNfc.mk - Fifi DTA ohun elo
$git oniye https://github.com/NXPNFCProject/NXPAndroidDTA.git $git isanwo NFC_DTA_v13.02_OpnSrc $patch -p1 AROOT_system_nfc-dta.patch
$ cp -r nfc-dta /system/nfc-dta
$/system/nfc-dta/$ mm -j - Bayi a le kọ AOSP lẹẹkansi pẹlu gbogbo awọn ayipada ti a ṣe:
$ cd ilana / mimọ
$mm
$cd.../...
$cd ataja / nxp/frameworks
$mm #lẹhin eyi, o yẹ ki a rii com.nxp.emvco.jar inu jade/target/product/xxxx/system/framwework/
$cd.../.../...
$cd hardware/nxp/nfc
$mm
$cd.../.../...
$ṣe -j
Bayi, a ni anfani lati filasi ogun ẹrọ wa pẹlu aworan Android ti o pẹlu awọn ẹya NFC.
3.2 Android NFC Apps ati Lib lori awọn ibi-afẹde
Ni apakan apakan yii, a ṣe apejuwe nibiti a ti ṣajọpọ pato files ti wa ni titari. Ti iyipada eyikeyi ba wa, a le rọpo eyi nikan file. Table 1 fihan gbogbo awọn ipo.
Tabili 1. Akojọpọ files pẹlu afojusun ẹrọ
Ipo ise agbese | Akojọ Files | Ipo ni afojusun ẹrọ |
"$ ANDROID_ROOT"/packages/apps/Nfc | lib/NfcNci.apk oat/libnfc_nci_jni.so |
/system/app/NfcNci/ /eto/lib64/ |
"$ ANDROID_ROOT"/system/nfc | libnfc_nci.so | /eto/lib64/ |
"$ ANDROID_ROOT"/hardware/nxp/nfc | nfc_nci_nxp_pn72xx.so android.hardware.nfc_72xx@1.2-iṣẹ 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 |
/ ataja / lib64 / olùtajà/bin/hw/ / olùtajà/etc/init eto/lib64/ eto/lib64/ eto/lib64/ |
"$ ANDROID_ROOT"/hardware/nxp/nfc | olùtajà.nxp.nxpnfc@2.0.so | /eto/lib64 |
"$ ANDROID_ROOT" / olùtajà/nxp/frameworks | com.nxp.emvco.jar | /system/framework / ataja / fireemu |
"$ ANDROID_ROOT"/hardware/nxp/emvco | emvco_poller.so android.hardware.emvco-iṣẹ android.hardware.emvco-iṣẹ.rc android.hardware.emvco-V1-ndk.so android.hardware.emvco-V2-ndk.so |
/ ataja / lib64 / olùtajà/bin/hw/ / olùtajà/etc/init eto/lib64/ eto/lib64/ |
3.3 Patch maapu
Gbogbo alemo gbọdọ wa ni lilo si ipo kan pato. Table 2 fihan awọn alemo orukọ ati awọn ipo ibi ti a gbọdọ waye o ati ki o kan Àkọsílẹ orukọ, eyi ti fihan wa ibi ti ni NFC akopọ (olusin 1) ti wa ni be.
Table 2. Patch ipo ni NFC Stack
Orukọ Àkọsílẹ | Orukọ patch | Ipo lati lo |
NFC HAL ati EMVCo HAL | AROOT_hardware_interfaces.patch | hardware / atọkun / |
NFC akopọ | AROOT_hardware_nxp_nfc.patch | hardware/nxp/nfc/ |
EMVCo L1 Data Exchange Layer = EMVCo Stack | AROOT_hardware_nxp_emvco.patch | hardware/nxp/emvco/ |
LibNfc-Nci | AROOT_system_nfc.patch | eto/nfc/ |
NFC JNI | AROOT_packages_apps_Nfc.patch | awọn idii/apps/nfc/ |
Iṣẹ NFC | AROOT_packages_apps_Nfc.patch | awọn idii/apps/nfc/ |
NFC Framework | AROOT_frameworks_base.patch | awọn ipilẹ / ipilẹ / |
EMVCo Framework | AROOT_vendor_nxp_frameworks.patch | ataja/nxp/awọn ilana/ |
3.4 ìmọlẹ images
Awọn aworan ni a le rii ni /out/target/product/{selected_DH}. Lati filasi awọn aworan eto, a gbọdọ ṣiṣe awọn aṣẹ wọnyi (idanwo lori Dragonboard 845c).
$ adb atunbere bootloader
$ fastboot filasi bata bata_uefi.img
$ fastboot filasi olùtajà_boot vendor_boot.img
$ fastboot filasi Super super.img
$ fastboot flash userdata userdata.img
$ fastboot ọna kika:ext4 metadata $ fastboot atunbere
Lẹhin ti awọn aworan ti wa ni flashed, a gbọdọ ṣe diẹ ninu awọn MW nu-soke nipa a ṣiṣe awọn wọnyi ase (idanwo lori Dragonboard 845c).
$ adb duro-fun-ẹrọ
$ adb root
$ adb duro-fun-ẹrọ
$ adb atunṣe
$ adb shell rm -rf ataja/etc/init/android.hardware.nfc@1.1-service.rc
$ adb shell rm -rf ataja/etc/init/android.hardware.nfc@1.2-service.rc
$ adb titari Test_APK/EMVCoAidlHalComplianceTest/EMVCoAidlHalComplianceTestsystem/ati be be lo
$ adb ikarahun chmod 0777 /system/etc/EMVCoAidlHalComplianceTest
$ adb titari Test_APK/EMVCoAidlHalDesfireTest/EMVCoAidlHalDesfireTest eto/ati be be lo
$ adb ikarahun chmod 0777 /system/etc/EMVCoAidlHalDesfireTest
$ adb titari Test_APK/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk system/app/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk
$ adb ikarahun ìsiṣẹpọ
$ adb atunbere
$ adb duro-fun-ẹrọ
3.5 atunto files
Ni PN7220, a ni mẹrin ti o yatọ iṣeto ni files.
- libemvco-nxp.conf
- libnfc-nci.conf
- libnfc-nxp.conf
- libnfc-nxp-eeprom.conf
Akiyesi: San ifojusi pe iṣeto ni files pese ni example relate si NFC adarí demo ọkọ. Awọn wọnyi files gbọdọ gba ni ibamu si isọpọ ti a fojusi.
Gbogbo mẹrin files gbọdọ wa ni titari si ipo kan pato.
Table 3. Awọn ipo ti iṣeto ni files
Orukọ iṣeto ni file | Ipo ninu ẹrọ |
libemvco-nxp.conf | ataja/ati be be lo |
libnfc-nci.conf | ataja/ati be be lo |
libnfc-nxp.conf | eto / ati be be lo |
libnfc-nxp-eeprom.conf | ataja/ati be be lo |
libnfc-nxp-eeprom.conf
Table 4. libnfc-nxp-eeprom.conf alaye
Oruko | Alaye | Iwọn aiyipada |
NXP_SYS_CLK_ SRC_SEL |
Eto aago orisun aṣayan iṣeto ni | 0x01 |
NXP_SYS_CLK_ FREQ_SEL |
Eto aago igbohunsafẹfẹ aṣayan iṣeto ni | 0x08 |
NXP_ENABLE_ DISABLE_STANBY |
Aṣayan lati mu ṣiṣẹ tabi mu ipo imurasilẹ ṣiṣẹ | 0x00 |
NXP_ENABLE_ DISABLE_LPCD |
Aṣayan lati mu ṣiṣẹ tabi mu LPCD ṣiṣẹ. | 0x00 |
Akiyesi: Ti ko ba tunto aago, boya PLL tabi Xtal, lẹhinna akopọ MW tun gbiyanju ni lupu kan lati gba aago ati bẹrẹ ni aṣeyọri. libnfc-nci.conf
Table 5. libnfc-nci.conf alaye
Oruko | Alaye | Iwọn aiyipada |
APPL_TRACE_LEVEL | Awọn ipele wọle fun libnfc-nci | 0xFF |
PROTOCOL_TRACE_LEVEL | Awọn ipele wọle fun libnfc-nci | 0xFFFFFFFF |
NFC_DEBUG_ENABLED | NFC yokokoro siseto | 0x01 |
NFA_STORAGE | Ṣeto itọsọna ibi-afẹde fun NFC file ibi ipamọ | /data/ataja/nfc |
HOST_LISTEN_TECH_MASK | Ṣe atunto ẹya gbigbọ ogun | 0x07 |
NCI_HAL_MODULE | NCI HAL Module orukọ | nfc_nci.pn54x |
POLLING_TECH_MASK | Iṣeto ni awọn imọ-ẹrọ idibo | 0x0F |
Tabili 5. libnfc-nci.conf alaye...tesiwaju
Oruko | Alaye | Iwọn aiyipada |
P2P_LISTEN_TECH_MASK | P2P ko ni atilẹyin ni PN7220 | 0xC5 |
PRESERVE_STORAGE | Jẹrisi akoonu ti gbogbo awọn ile itaja ti kii ṣe iyipada. | 0x01 |
AID_MATCHING_MODE | Pese awọn ọna oriṣiriṣi lati baramu AID naa | 0x03 |
NFA_MAX_EE_SUPPORTED | Nọmba atilẹyin EE ti o pọju | 0x01 |
OFFHOST_AID_ROUTE_PWR_STATE | Ṣeto OffHost AID ni atilẹyin ipo | 0x3B |
Table 6. libnfc-nxp.conf alaye
Oruko | Alaye | Iwọn aiyipada |
NXPLOG_EXTNS_LOGLEVEL | Iṣeto ni fun extns gedu ipele | 0x03 |
NXPLOG_NCIHAL_LOGLEVEL | Iṣeto ni fun gbigba wọle ti HAL | 0x03 |
NXPLOG_NCIX_LOGLEVEL | Iṣeto ni fun gbigba wọle ti awọn apo-iwe NCI TX | 0x03 |
NXPLOG_NCIR_LOGLEVEL | Iṣeto ni fun gbigba wọle ti awọn apo-iwe NCI RX | 0x03 |
NXPLOG_FWDNLD_LOGLEVEL | Iṣeto ni fun gbigba wọle ti FW download iṣẹ | 0x03 |
NXPLOG_TML_LOGLEVEL | Iṣeto ni fun muu wọle ti TM | 0x03 |
NXP_NFC_DEV_NODE | NFC Device Node orukọ | idev/rixpnfc” |
MIFARE_READER_ENABLE | Itẹsiwaju fun oluka NFC fun ṣiṣe MIFARE | Epo01 |
NXP_FW_TYPE | Firmware file iru | Epo01 |
NXP_I2C_FRAGMENTATION_ GBE | Tunto 12C Fragmentation | 0x00 |
NFA_PROPRIETARY_CFG | Ṣeto atunto ohun-ini Olutaja | {05, FF, FF, 06, 81, 80, 70, FF, FF} |
NXP_EXT_TVDD_CFG | Ṣeto ipo iṣeto ni TVDD | 0x02 |
NXP_EXT TVDD_CFG_1 | Ṣe atunto awọn eto TVDD ni ibamu si ipo TVDD ti o yan | Ṣayẹwo atunto file |
NXP_EXT_TVDD_CFG_2 | Ṣe atunto awọn eto TVDD ni ibamu si ipo TVDD ti o yan | Ṣayẹwo atunto file |
NXP_CORE_CONF | Tunto awọn ẹya idiwon ti NFC oludari | {20, 02, 07, 02, 21, 01, 01, 18, 01, 02} |
NXP_CORE_CONF_EXTN | Ṣe atunto awọn ẹya ohun-ini ti oludari NFC | {00, 00, 00, 00} |
NXP_SET_CONFIG_ALWAYS | Firanṣẹ nigbagbogbo CORE_CONF ati CORE_CONF_EXTN (ko ṣe iṣeduro lati muu ṣiṣẹ.) | Epo00 |
NXP_RF_CONF_BLK_1 | Awọn eto RF | Ṣayẹwo atunto file |
ISO_DEP_MAX_TRANSCIEVE | Setumo o pọju ISO-DEP tesiwaju APDU ipari | OxFEFF |
PRESENCE_CHECK_ALGORITHM | Ṣeto algoridimu ti a lo fun ilana ayẹwo wiwa niwaju T4T | 2 |
NXP_FLASH_CONFIG | Imọlẹ Awọn atunto Aw | 0x02 |
Table 7. libemvco-nxp.conf alaye
Oruko | Alaye | Iwọn aiyipada |
NXP LOG EXTNS LOGLEVEL | Iṣeto ni fun extns gedu ipele | 0x03 |
NXP LOG NCIHAL LOGLEVEL | Iṣeto ni fun gbigba wọle ti HAL | 0x03 |
NXP LOG NCIX LOGLEVEL | Iṣeto ni fun gbigba wọle ti awọn apo-iwe NCI TX | 0x03 |
NXP LOG NCIR LOGLEVEL | Iṣeto ni fun gbigba wọle ti awọn apo-iwe NCI RX | 0x03 |
NXP LOG TML LOGLEVEL | Iṣeto ni fun muu wọle ti TML | 0x03 |
NXP_EMVCO_DEBUG_ENABLED | Muu ṣiṣẹ n ṣatunṣe aṣiṣe | 0x03 |
NXP EMVCO DEV NODE | EMVCo Device Node orukọ | "/dev/nxpnfc" |
NXP PCD Eto | Iṣeto ni lati ṣeto idaduro idibo laarin awọn ipele 2 | (20, 02, 07, 01, A0, 64, 03, EC, 13, 06) |
NXP SET CONFIG | Aṣayan lati ṣeto aṣẹ atunto fun idi ti n ṣatunṣe aṣiṣe | Ṣayẹwo atunto file |
NXP Gba atunto | Aṣayan lati gba aṣẹ atunto fun idi ti n ṣatunṣe aṣiṣe | Ṣayẹwo atunto file |
3.6 DTA ohun elo
Lati gba idanwo iwe-ẹri NFC Forum, a pese ohun elo idanwo ẹrọ kan. O ni awọn paati pupọ ni oriṣiriṣi awọn fẹlẹfẹlẹ Android, eyiti o gbọdọ kọ ati pẹlu aworan Android.
Lati Titari ohun elo DTA, a gbọdọ tẹle awọn igbesẹ atẹle:
- Daakọ gbogbo DTA files si ọkan ipo
$cp -rf “jade/afojusun/ọja/hikey960/system/lib64/libosal.so” /DTA-PN7220
$cp -rf “jade/afojusun/ọja/hikey960/system/lib64/libmwif.so” /DTA-PN7220
$cp -rf “jade/afojusun/ọja/hikey960/system/lib64/libdta.so” /DTA-PN7220
$cp -rf “jade/afojusun/ọja/hikey960/system/lib64/libdta_jni.so” /DTA-PN7220
$cp -rf “jade/afojusun/ọja/hikey960/system/app/NxpDTA/NxpDTA.apk” /DTAPN7220 - Titari awọn alakomeji si ẹrọ bi isalẹ
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 titari NxpDTA.apk /system/app/NxpDTA/
Lẹhin ikosan ibi-afẹde, ohun elo DTA yẹ ki o wa ni atokọ ti awọn ohun elo ti a fi sii. Ṣayẹwo UG fun alaye alaye bi o ṣe le lo ohun elo naa.
i.MX 8M Nano ibudo
Bi example, a fihan ohun ti porting to i.MX 8M Syeed wulẹ. Lati gba alaye diẹ sii, ṣayẹwo [3].
4.1 Hardware
Ni akoko, NXP ko pese igbimọ ohun ti nmu badọgba. Ṣayẹwo Tabili 8 lati wo bi o ṣe le so awọn igbimọ pọ pẹlu awọn onirin.
Table 8. PN7220 to i.MX 8M Nano awọn isopọ
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_Yipada | J43-32 | J003-38 |
GND | J27-1 | J003-39 |
4.2 Software
Awọn igbesẹ ti a ṣe apejuwe ni apakan yii ṣe alaye bi a ṣe le gbe PN7200 si i.MX 8M Nano Syeed. Awọn igbesẹ kanna pẹlu iyipada diẹ, o le ṣee lo lati gbe si eyikeyi DH miiran ti o nṣiṣẹ Android OS.
Akiyesi: Ni yi porting example, a nlo 13.0.0_1.0.0_Android_Source.
A le tun lo awọn abulẹ ti o ni ibatan si koodu AOSP. Ohun ti o gbọdọ yipada ni:
- Igi ẹrọ (ni i.MX 8M Nano, eyi ni AROOT_vendor_nxp-opensource_imx_kernel.patch)
- Patch ẹrọ kan pato (ni i.MX 8M Nano, eyi ni AROOT_device_nxp.patch)
Ni AROOT_vendor_nxp-opensource_imx_kernel.patch, a le rii bi awakọ ṣe wa pẹlu ati bii igi ẹrọ ṣe kọ. Eyi jẹ pato si gbogbo agbalejo ẹrọ nitori a gbọdọ ṣe abojuto iṣeto ni pin, ati pe eyi yatọ laarin awọn igbimọ. A tun gbọdọ ṣe abojuto iṣeto ni akojọ aṣayan.
Ni AROOT_device_nxp.patch, a wa pẹlu nfc sinu Kọ. Ni gbogbogbo, a rii daju pe gbogbo awọn iṣẹ ni o wa ni ọna ti o tọ, ati bẹbẹ lọ Nigbati o ba n wọle si ogun ẹrọ kan pato, mu alemo yii gẹgẹbi itọkasi ati pẹlu gbogbo awọn nkan inu.
Ohun afikun kan ti a ṣe ni gbigbe ni o wa ni ẹrọ-nfc.mk file:
A nilo lati sọ asọye awọn ila wọnyi:
# BOARD_SEPOLICY_DIRS += ataja/$(NXP_VENDOR_DIR)/nfc/sepolicy \
# ataja/$(NXP_VENDOR_DIR)/nfc/sepolicy/nfc
Idi fun eyi ni pe a wa pẹlu ipinya ninu ẹrọ-pato BoardConfig.mk file. Awọn igbesẹ lati kọ awọn aworan:
> Gba koodu AOSP fun i.MX8M Nano
> Kọ AOSP
> Gba awọn abulẹ NXP ([5])
> Waye gbogbo awọn abulẹ pẹlu install_nfc.sh
> cd ilana/ipilẹ
> mm
> cd.../..
> cd ataja/nxp/frameworks
> mm #lẹhin eyi, o yẹ ki a rii com.nxp.emvco.jar inu jade/target/product/ imx8mn/system/framwework/
> cd.../.../..
> cd hardware/nxp/nfc
> mm
> cd.../.../..
> ṣe
> Ṣe igbasilẹ awọn aworan ati lo ọpa uuu lati filasi i.MX8M Nano
Awọn kukuru
Table 9. Abbreviations
Adape | Apejuwe |
APDU | ohun elo bèèrè data kuro |
AOSP | Android ìmọ orisun ise agbese |
DH | ogun ẹrọ |
HAL | hardware áljẹbrà Layer |
FW | famuwia |
I2C | inter-ese Circuit |
LPCD | kekere agbara erin kaadi |
NCI | NFC oludari ni wiwo |
NFC | sunmọ-oko ibaraẹnisọrọ |
MW | middleware |
PLL | alakoso-titii pa lupu |
P2P | ori-o-jori |
RF | igbohunsafẹfẹ redio |
SDA | tẹlentẹle data |
SMCU | ni aabo microcontroller |
SW | software |
Awọn itọkasi
[1] AOSP r3 tag: https://android.googlesource.com/platform/manifest-b Android-13.0.0_r3[2] Awọn irinṣẹ iṣakoso orisun: 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] Awakọ ekuro PN7220: https://github.com/NXPNFCLinux/nxpnfc/tree/PN7220-Driver
[5] PN7220 MW: https://github.com/NXPNFCLinux/PN7220_Android13
Akiyesi nipa koodu orisun ninu iwe-ipamọ naa
Exampkoodu ti o han ninu iwe yii ni ẹtọ aṣẹ-lori atẹle ati iwe-aṣẹ Clause BSD-3:
Aṣẹ-lori-ara 2023 NXP Satunkọ ati lilo ni orisun ati awọn fọọmu alakomeji, pẹlu tabi laisi iyipada, jẹ idasilẹ ti a pese pe awọn ipo wọnyi ti pade:
- Awọn atunpinpin ti koodu orisun gbọdọ da akiyesi aṣẹ-lori oke loke, atokọ awọn ipo ati idawọle atẹle.
- Awọn atunpinpin ni fọọmu alakomeji gbọdọ tun ṣe akiyesi aṣẹ-lori loke, atokọ awọn ipo ati idawọle atẹle ninu iwe ati/tabi awọn ohun elo miiran gbọdọ wa ni ipese pẹlu pinpin.
- Bẹni orukọ ẹniti o ni aṣẹ lori ara tabi awọn orukọ ti awọn olupilẹṣẹ rẹ le ṣee lo lati ṣe atilẹyin tabi ṣe igbega awọn ọja ti o wa lati sọfitiwia yii laisi aṣẹ iwe-aṣẹ tẹlẹ ṣaaju.
SOFTWARE YI NI A NPESE LATI ỌWỌ awọn oludimu ati awọn oluranlọwọ “BẸẸNI” ATI awọn iṣeduro KIAKIA TABI TIN, PẸLU, SUGBON KO NI OPIN SI, Awọn ATILẸYIN ỌJA TI ỌLỌWỌ ATI IWỌRỌ FUN AGBẸRẸ. Ni iṣẹlẹ kankan yoo ni igbẹkẹle tabi awọn aladakọ wa fun eyikeyi taara, aiṣe-taara, apẹẹrẹ, deede ti awọn ohun elo tabi awọn iṣẹ ti aropo LILO, DATA, TABI ERE; NI imọran ti seese ti iru bibajẹ.
Alaye ofin
8.1 Awọn asọye
Akọpamọ - Ipo yiyan lori iwe kan tọkasi pe akoonu naa tun wa labẹ atunlo inuview ati ki o koko ọrọ si lodo alakosile, eyi ti o le ja si ni awọn iyipada tabi awọn afikun. NXP Semiconductors ko fun eyikeyi awọn aṣoju tabi awọn atilẹyin ọja bi deede tabi pipe alaye ti o wa ninu ẹya iyaworan ti iwe kan ati pe ko ni layabiliti fun awọn abajade ti lilo iru alaye.
8.2 Awọn AlAIgBA
Atilẹyin ọja to lopin ati layabiliti - Alaye ti o wa ninu iwe yii jẹ deede ati igbẹkẹle. Sibẹsibẹ, NXP Semiconductors ko fun eyikeyi awọn aṣoju tabi awọn atilẹyin ọja, ti a fihan tabi mimọ, nipa deede tabi pipe iru alaye ati pe kii yoo ni layabiliti fun awọn abajade ti lilo iru alaye. NXP Semiconductors ko gba ojuse fun akoonu inu iwe yii ti o ba pese nipasẹ orisun alaye ni ita ti NXP Semiconductor.
Ko si iṣẹlẹ ti NXP Semiconductors yoo ṣe oniduro fun eyikeyi aiṣe-taara, isẹlẹ, ijiya, pataki tabi awọn bibajẹ ti o wulo (pẹlu – laisi aropin awọn ere ti o padanu, awọn ifowopamọ ti o sọnu, idalọwọduro iṣowo, awọn idiyele ti o ni ibatan si yiyọkuro tabi rirọpo awọn ọja eyikeyi tabi awọn idiyele atunṣe) boya tabi Kii ṣe iru awọn bibajẹ bẹ da lori ijiya (pẹlu aifiyesi), atilẹyin ọja, irufin adehun tabi ilana ofin eyikeyi miiran.
Laibikita eyikeyi awọn ibajẹ ti alabara le fa fun eyikeyi idi eyikeyi, apapọ NXP Semiconductor ati layabiliti akopọ si alabara fun awọn ọja ti a ṣalaye ninu rẹ yoo ni opin ni ibamu pẹlu Awọn ofin ati ipo ti titaja iṣowo ti NXP Semiconductor.
Ọtun lati ṣe awọn ayipada - NXP Semiconductors ni ẹtọ lati ṣe awọn ayipada si alaye ti a tẹjade ninu iwe yii, pẹlu laisi awọn pato aropin ati awọn apejuwe ọja, nigbakugba ati laisi akiyesi. Iwe yi rọpo ati rọpo gbogbo alaye ti a pese ṣaaju ki o to tẹjade nibi.
Imudara fun lilo Awọn ọja Semiconductor NXP ko ṣe apẹrẹ, ni aṣẹ tabi atilẹyin ọja lati dara fun lilo ninu atilẹyin igbesi aye, pataki-aye tabi awọn eto aabo-pataki tabi ohun elo, tabi ni awọn ohun elo nibiti ikuna tabi aiṣedeede ti ọja NXP Semiconductor ọja le ni idi yẹ lati ja si ipalara ti ara ẹni, iku tabi ohun-ini nla tabi ibajẹ ayika. NXP Semiconductors ati awọn olupese rẹ ko gba layabiliti fun ifisi ati/tabi lilo awọn ọja Semiconductor NXP ni iru ẹrọ tabi awọn ohun elo ati nitorinaa iru ifisi ati/tabi lilo wa ni eewu alabara.
Awọn ohun elo - Awọn ohun elo ti o ṣapejuwe ninu rẹ fun eyikeyi awọn ọja wọnyi wa fun awọn idi alapejuwe nikan. NXP Semiconductors ko ṣe aṣoju tabi atilẹyin ọja pe iru awọn ohun elo yoo dara fun lilo pàtó laisi idanwo siwaju tabi iyipada. Awọn alabara ni iduro fun apẹrẹ ati iṣẹ awọn ohun elo wọn ati awọn ọja nipa lilo awọn ọja Semiconductor NXP, ati NXP Semiconductor ko gba layabiliti fun eyikeyi iranlọwọ pẹlu awọn ohun elo tabi apẹrẹ ọja alabara. O jẹ ojuṣe alabara nikan lati pinnu boya ọja Semiconductor NXP dara ati pe o yẹ fun awọn ohun elo alabara ati awọn ọja ti a gbero, bakanna fun ohun elo ti a gbero ati lilo awọn alabara ẹgbẹ kẹta ti alabara. Awọn alabara yẹ ki o pese apẹrẹ ti o yẹ ati awọn aabo iṣiṣẹ lati dinku awọn eewu ti o nii ṣe pẹlu awọn ohun elo ati awọn ọja wọn.
NXP Semiconductors ko gba eyikeyi layabiliti ti o ni ibatan si eyikeyi aiyipada, ibajẹ, awọn idiyele tabi iṣoro eyiti o da lori eyikeyi ailera tabi aiyipada ninu awọn ohun elo alabara tabi awọn ọja, tabi ohun elo tabi lilo nipasẹ awọn alabara ẹgbẹ kẹta ti alabara. Onibara jẹ iduro fun ṣiṣe gbogbo awọn idanwo pataki fun awọn ohun elo alabara ati awọn ọja nipa lilo awọn ọja Semiconductor NXP lati yago fun aiyipada awọn ohun elo ati awọn ọja tabi ohun elo tabi lilo nipasẹ alabara ẹgbẹ kẹta ti alabara. NXP ko gba gbese eyikeyi ni ọwọ yii.
Ofin ati ipo ti owo tita Awọn ọja Semiconductor NXP ni a ta labẹ awọn ofin gbogbogbo ati awọn ipo ti titaja iṣowo, bi a ti tẹjade ni http://www.nxp.com/profile/terms, ayafi ti bibẹkọ ti gba ni a wulo kọ olukuluku adehun. Ni ọran ti adehun ẹni kọọkan ba pari awọn ofin ati ipo ti adehun oniwun yoo lo. NXP Semikondokito nipa bayi ni awọn nkan taara si lilo awọn ofin gbogbogbo ti alabara pẹlu iyi si rira awọn ọja Semiconductor NXP nipasẹ alabara.
Iṣakoso okeere - Iwe-ipamọ yii ati awọn nkan (awọn) ti a ṣalaye ninu rẹ le jẹ koko-ọrọ si awọn ilana iṣakoso okeere. Si ilẹ okeere le nilo aṣẹ ṣaaju lati ọdọ awọn alaṣẹ to peye.
Ibamu fun lilo ninu awọn ọja ti ko ni oye ọkọ ayọkẹlẹ - Ayafi ti iwe-ipamọ yii ba sọ ni gbangba pe ọja NXP Semiconductor pato yii jẹ oṣiṣẹ adaṣe, ọja naa ko dara fun lilo adaṣe. Ko jẹ oṣiṣẹ tabi idanwo ni ibamu pẹlu idanwo adaṣe tabi awọn ibeere ohun elo. NXP Semiconductors gba ko si gbese fun ifisi ati/tabi lilo awọn ọja ti kii ṣe adaṣe ni ohun elo adaṣe tabi awọn ohun elo.
Ni iṣẹlẹ ti alabara nlo ọja naa fun apẹrẹ-inu ati lilo ninu awọn ohun elo adaṣe si awọn pato adaṣe ati awọn iṣedede, alabara (a) yoo lo ọja laisi atilẹyin ọja Semiconductor NXP fun iru awọn ohun elo adaṣe, lilo ati awọn pato, ati ( b) nigbakugba ti alabara ba lo ọja naa fun awọn ohun elo ọkọ ayọkẹlẹ ti o kọja awọn pato NXP Semiconductors iru lilo yoo jẹ nikan ni eewu ti ara alabara, ati (c) alabara ni kikun ṣe idalẹbi awọn Semiconductor NXP fun eyikeyi layabiliti, awọn ibajẹ tabi awọn ẹtọ ọja ti o kuna ti o waye lati apẹrẹ alabara ati lilo ti ọja fun awọn ohun elo adaṣe kọja atilẹyin ọja boṣewa NXP Semiconductor ati awọn pato ọja NXP Semiconductor.
Awọn ọja igbelewọn - Ọja yii ti pese lori “bi o ti ri” ati “pẹlu gbogbo awọn aṣiṣe” ipilẹ fun awọn idi igbelewọn nikan. NXP Semiconductors, awọn alafaramo rẹ ati awọn olupese wọn ni gbangba sọ gbogbo awọn atilẹyin ọja, boya kiakia, mimọ tabi ofin, pẹlu ṣugbọn kii ṣe opin si awọn atilẹyin ọja ti a ko sọ di mimọ, iṣowo ati amọdaju fun idi kan. Gbogbo eewu bi si didara, tabi dide lati lilo tabi iṣẹ, ọja yii wa pẹlu alabara.
Ko si iṣẹlẹ ti NXP Semiconductors, awọn alafaramo rẹ tabi awọn olupese wọn jẹ oniduro si alabara fun eyikeyi pataki, aiṣe-taara, abajade, ijiya tabi awọn bibajẹ lairotẹlẹ (pẹlu laisi awọn bibajẹ aropin fun isonu iṣowo, idalọwọduro iṣowo, ipadanu lilo, pipadanu data tabi alaye , ati bii) dide ni lilo tabi ailagbara lati lo ọja naa, boya tabi rara
da lori ijiya (pẹlu aibikita), layabiliti ti o muna, irufin adehun, irufin atilẹyin ọja tabi ilana miiran, paapaa ti o ba gba imọran si iṣeeṣe iru awọn bibajẹ. Laibikita eyikeyi awọn ibajẹ ti alabara le fa fun eyikeyi idi eyikeyi (pẹlu laisi aropin, gbogbo awọn ibajẹ ti o tọka si loke ati gbogbo awọn bibajẹ taara tabi gbogbogbo), gbogbo layabiliti ti NXP Semiconductors, awọn alabaṣiṣẹpọ rẹ ati awọn olupese wọn ati atunṣe iyasọtọ ti alabara fun gbogbo awọn ti o ti sọ tẹlẹ. ni opin si awọn bibajẹ gangan ti o jẹ nipasẹ alabara ti o da lori igbẹkẹle ti o tọ titi de iye ti o tobi julọ ti iye ti o san gangan nipasẹ alabara fun ọja tabi dọla marun (US$5.00). Awọn idiwọn ti o ti sọ tẹlẹ, awọn iyọkuro ati awọn aibikita yoo waye si iye ti o pọ julọ ti a gba laaye nipasẹ ofin iwulo, paapaa ti atunṣe eyikeyi ba kuna fun idi pataki rẹ.
Awọn itumọ - Ẹya ti kii ṣe Gẹẹsi (tumọ) ti iwe kan, pẹlu alaye ofin ninu iwe yẹn, jẹ fun itọkasi nikan. Ẹ̀yà Gẹ̀ẹ́sì náà yóò gbilẹ̀ ní irú ìyàtọ̀ èyíkéyìí láàárín àwọn ìtúmọ̀ àti èdè Gẹ̀ẹ́sì.
Aabo - Onibara loye pe gbogbo awọn ọja NXP le jẹ koko ọrọ si awọn ailagbara ti a ko mọ tabi o le ṣe atilẹyin awọn iṣedede aabo ti iṣeto tabi awọn pato pẹlu awọn idiwọn ti a mọ. Onibara jẹ iduro fun apẹrẹ ati iṣẹ ti awọn ohun elo ati awọn ọja jakejado awọn igbesi aye wọn lati dinku ipa ti awọn ailagbara wọnyi lori awọn ohun elo alabara ati awọn ọja. Ojuse alabara tun fa si ṣiṣi ati/tabi awọn imọ-ẹrọ ohun-ini ti o ni atilẹyin nipasẹ awọn ọja NXP fun lilo ninu awọn ohun elo alabara. NXP ko gba gbese fun eyikeyi ailagbara. Onibara yẹ ki o ṣayẹwo awọn imudojuiwọn aabo nigbagbogbo lati NXP ati tẹle ni deede. Onibara yoo yan awọn ọja pẹlu awọn ẹya aabo ti o dara julọ pade awọn ofin, awọn ilana, ati awọn iṣedede ti ohun elo ti a pinnu ati ṣe awọn ipinnu apẹrẹ ti o ga julọ nipa awọn ọja rẹ ati pe o jẹ iduro nikan fun ibamu pẹlu gbogbo ofin, ilana, ati awọn ibeere ti o ni ibatan aabo nipa awọn ọja rẹ, laibikita awọn ọja rẹ. eyikeyi alaye tabi atilẹyin ti o le wa nipasẹ NXP.
NXP ni Ẹgbẹ Idahun Iṣẹlẹ Aabo Aabo (PSIRT) (ti o le de ọdọ ni PSIRT@nxp.com) ti o ṣakoso iwadii, ijabọ, ati itusilẹ ojutu si awọn ailagbara aabo ti awọn ọja NXP.
NXP BV – NXP BV kii ṣe ile-iṣẹ ti n ṣiṣẹ ati pe ko kaakiri tabi ta awọn ọja.
8.3 awọn iwe-aṣẹ
Rira ti NXP ICs pẹlu imọ-ẹrọ NFC - Rira ti NXP Semiconductors IC ti o ni ibamu pẹlu ọkan ninu awọn iṣedede Ibaraẹnisọrọ aaye Nitosi (NFC) ISO/IEC 18092 ati ISO/IEC 21481 ko ṣe afihan iwe-aṣẹ ti o tumọ labẹ eyikeyi itọsi ẹtọ ti o ṣẹ nipasẹ imuse ti eyikeyi ninu awon awọn ajohunše. Rira ti NXP Semiconductors IC ko pẹlu iwe-aṣẹ si eyikeyi itọsi NXP (tabi ẹtọ IP miiran) ti o bo awọn akojọpọ ti awọn ọja wọnyẹn pẹlu awọn ọja miiran, boya hardware tabi sọfitiwia.
8.4 Awọn aami-iṣowo
Akiyesi: Gbogbo awọn ami iyasọtọ ti a tọka si, awọn orukọ ọja, awọn orukọ iṣẹ, ati aami-iṣowo jẹ ohun-ini ti awọn oniwun wọn.
NXP — ami ọrọ ati aami jẹ aami-išowo ti NXP BV
EdgeVerse - jẹ aami-iṣowo ti NXP BV
i.MX — jẹ aami-iṣowo ti NXP BV
I2C-bus — logo jẹ aami-iṣowo ti NXP BV
Oracle ati Java — jẹ aami-išowo ti a forukọsilẹ ti Oracle ati/tabi awọn alafaramo rẹ.
Jọwọ ṣe akiyesi pe awọn akiyesi pataki nipa iwe-ipamọ yii ati ọja (awọn) ti a ṣalaye ninu rẹ, ti wa ninu apakan 'Alaye ofin'.
© 2023 NXP BV
Fun alaye diẹ sii, jọwọ ṣabẹwo: http://www.nxp.com
Gbogbo awọn ẹtọ wa ni ipamọ.
Ọjọ idasilẹ: Oṣu Kẹsan 18, 2023
Idanimọ iwe: AN13971
AN13971
Akọsilẹ ohun elo
Gbogbo alaye ti a pese ninu iwe yii jẹ koko-ọrọ si awọn aibikita ofin.
Ìṣí. 1.0 - 18 Kẹsán 2023
© 2023 NXP BV Gbogbo ẹtọ wa ni ipamọ.
Awọn iwe aṣẹ / Awọn orisun
![]() |
NXP PN7220 Ibamu NFC Adarí [pdf] Itọsọna olumulo PN7220 Olutọju NFC ti o ni ibamu, PN7220, Adari NFC ti o ni ibamu, Adari NFC, Adari |