AN13971
PN7220 - Tataiso ea ho tsamaisa thepa ea Android
Tšen. 1.0 - 18 September 2023
Tlhaloso ea kopo
PN7220 Taolo ea NFC e lumellanang
Lintlha tsa litokomane
Boitsebiso | Litaba |
Mantsoe a sehlooho | PN7220, NCI, EMVCo, NFC Forum, Android, NFC |
Kakaretso | Tokomane ena e hlalosa mokhoa oa ho kenya tokollo ea PN7220 ho Android. |
Li-semiconductors tsa NXP
Nalane ea ntlafatso
Nalane ea ntlafatso
Moruti | Letsatsi | Tlhaloso |
v.1.0 | 20230818 | Phetolelo ea pele |
Selelekela
Tokomane ena e fana ka litataiso tsa ho kopanya molaoli oa NFC oa PN7220 NXP NCI sethaleng sa Android ho latela pono ea software.
E qala ka ho hlalosa mokhoa oa ho kenya mokhanni oa kernel e hlokahalang, ebe e hlalosa mohato ka mohato mokhoa oa ho iketsetsa mehloli ea AOSP ho eketsa tšehetso bakeng sa molaoli oa PN7220 NFC. Setšoantšo sa 1 se bonts'a meralo ea pokello eohle ea Android NFC.
Setšoantšo sa 1. Android NFC stack
PN7220 e arotsoe ka maemo a moamoheli a le mong le a nang le batho ba babeli. Ka kakaretso, stack e tšoana bakeng sa moamoheli ea habeli, re eketsa SMCU.
- NXP I2C Driver ke kernel module e fanang ka phihlello ea lisebelisoa tsa hardware tsa PN7220.
- Mojule oa HAL ke ts'ebetsong ea karolo e ikhethileng ea HW ea taolo ea NXP NFC.
- LibNfc-nci ke laeborari ea lehae e fanang ka ts'ebetso ea NFC.
- NFC JNI ke khoutu ea sekhomaretsi lipakeng tsa lihlopha tsa Java le Native.
- Moralo oa NFC le EMVCo ke mojule oa moralo oa ts'ebeliso o fanang ka phihlello ea tšebetso ea NFC le EMVCo.
Mokhanni oa Kernel
The NFC Android stack e sebelisa nxpnfc kernel mokhanni ho buisana le PN7220. E fumaneha mona.
2.1 Lintlha tsa mokhanni
Mokhanni oa kernel oa nxpnfc o fana ka puisano le PN7220 holim'a sebopeho sa 'mele sa I2C.
Ha e kentsoe ka har'a kernel, mokhanni enoa o pepesa sebopeho ho PN7220 ka node ea sesebelisoa e bitsoang /dev/nxpnfc.
2.2 Ho fumana khoutu ea mohloli
Koala polokelo ea mokhanni oa PN7220 bukeng ea kernel, u nkela ts'ebetsong e teng:
$ rm -rf bakhanni / nfc
$git clone"https://github.com/NXPNFCLinux/nxpnfc.git“-b PN7220-Bakhanni ba bakhanni/
Sena se qetella ka foldara driver/nfc e nang le tse latelang files:
- README.md: lintlha tsa polokelo
- Etsa file: mokhanni heading make file
- Kcon fig: tlhophiso ea mokhanni file
- License: lipehelo tsa tumello ea ho khanna
- foldara e nyane ea nfc e nang le:
- commoc. c: ts'ebetsong ea mokhanni ea tloaelehileng
– e tlwaelehileng. h: generic driver interface definition
- i2c_drv.c: ts'ebetsong ea mokhanni oa i2c ka ho khetheha
– i2c_drv.h: i2c specific driver interface definition
- Etsafile: etsafile e kenyellelitsoeng ho makefile ea moqhobi
– Kbuild => haha file
- Kconfig => tlhophiso ea mokhanni file
2.3 Ho aha mokhanni
Ho kenyelletsa mokhanni ka har'a kernel le ho e etsa hore e be mojaro nakong ea bootla ea sesebelisoa e etsoa ka lebaka la sefate sa mochine.
Ka mor'a ho ntlafatsa tlhaloso ea sefate sa sesebelisoa, sefate sa sesebelisoa se amanang le sethala se tlameha ho tsosolosoa. NXP e fana ka maikutlo a ho sebelisa mofuta oa kernel 5.10, kaha phetolelong ena ho entsoe netefatso e felletseng.
- Khoasolla kernel
- Fumana khoutu ea mohloli oa mokhanni.
- Fetola tlhaloso ea sefate sa sesebelisoa (ka ho khetheha ho sesebelisoa seo re se sebelisang).
- Haha mokhanni.
a. Ka mokhoa oa menuconfig, kenyelletsa mokhanni ea shebiloeng mohahong.
Ka mor'a ho tsosolosa kernel e feletseng, mokhanni o tla kenngoa setšoantšong sa kernel. Re tlameha ho etsa bonnete ba hore litšoantšo tsohle tse ncha tsa kernel li kopitsoa moahong oa AOSP.
AOSP ho ikamahanya le maemo
NXP e fana ka li-patches ka holim'a khoutu ea AOSP. Seo se bolela hore mosebelisi a ka qala ho fumana khoutu ea AOSP mme a sebelisa li-patches ho tsoa ho NXP. Karolo ena e hlalosa mokhoa oa ho phethahatsa sena. AOSP ea hona joale tag eo re e sebelisang ke [1].
3.1 Mohaho oa AOSP
- Re tlameha ho fumana khoutu ea mohloli oa AOSP. Sena re ka se etsa ka:
$ repo init -u https://android.googlesource.com/platform/manifest-b android-13.0.0_r3
$ repo sync
Tlhokomeliso: Sesebelisoa sa repo se tlameha ho kenngoa tsamaisong. Latela litaelo [2]. - Ha re e-na le khoutu ea mohloli, re ka kenya directory ebe re e haha:
$cd Android_AROOT
$source build/envsetup.sh
$lunch select_target #target ke DH eo re batlang ho e sebelisa bakeng sa example: db845c-userdebug $make -j - Ha AOSP e hahuoa ka katleho, re tlameha ho fumana li-patches tsa NXP. Sena re ka se etsa ka:
$git clone"https://github.com/NXPNFCLinux/PN7220_Android13.git” morekisi/nxp/ - Mothating ona, bohle re hloka ho kenya li-patches bakeng sa tšehetso ea PN7220. Re ka sebelisa li-patches ka ho sebelisa mongolo oa install_NFC.sh.
$chmod +x /vendor/nxp/nfc/install_NFC.sh #ka linako tse ling re hloka ho kenyelletsa litokelo tse ka phethoang ho script
$./vendor/nxp/nfc/install_NFC.sh
Hlokomela: Sheba sephetho ka mor'a ho sebelisa install_NFC.sh. Haeba ho hlokahala, re tlameha ho etsa liphetoho tse itseng ka letsoho. - Hape re ka eketsa li-binary tsa 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 - E eketsa NFC ho aha
Ka sesebelisoa.mk etsafile (mohlalaample, device/brand/platform/device.mk), kenyeletsa maketse e itsengfiles:
$(call inherit-product, vendor/nxp/nfc/device-nfc.mk)
Ho BoardConfig.mk etsafile (mohlalaample, device/brand/platform/BoardConfig.mk), kenyeletsa e itseng makefile:
- kenyeletsa morekisi/nxp/nfc/BoardConfigNfc.mk - E eketsa ts'ebeliso ea 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 - Joale re ka haha AOSP hape ka liphetoho tsohle tseo re li entseng:
$ cd moralo / motheo
$mm
$cd ../..
$ cd morekisi/nxp/frameworks
$mm #ka mor'a sena, re lokela ho bona com.nxp.emvco.jar ka hare ho tsoa/target/product/xxxx/system/framwework/
$cd ../../..
$cd hardware/nxp/nfc
$mm
$cd ../../..
$etsa -j
Hona joale, re khona ho khantša moamoheli oa sesebelisoa sa rona ka setšoantšo sa Android se kenyelletsang likarolo tsa NFC.
3.2 Android NFC Apps le Lib ho liphofu
Karolwaneng ena, re hlalosa moo ho hlophisitsweng ho itseng files ba sututsoa. Haeba ho na le phetoho, re ka nkela eona feela sebaka file. Letlapa la 1 le bonts'a libaka tsohle.
Lethathamo la 1. E hlophisitsoe files e nang le sepheo sa sesebelisoa
Sebaka sa morero | Kopantsoe Files | Sebaka ka sesebediswa shebiloeng |
“$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 /morekisi/bin/hw/ /vendor/etc/init sistimi/lib64/ sistimi/lib64/ sistimi/lib64/ |
“$ANDROID_ROOT”/hardware/nxp/nfc | morekisi.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 /morekisi/bin/hw/ /vendor/etc/init sistimi/lib64/ sistimi/lib64/ |
3.3 Ho etsa 'mapa
Patch e 'ngoe le e' ngoe e tlameha ho sebelisoa sebakeng se itseng. Letlapa la 2 le bonts'a lebitso la patch le sebaka seo re lokelang ho se sebelisa le lebitso la block, le re bontšang moo ho nang le stack ea NFC (Setšoantšo sa 1).
Letlapa la 2. Sebaka sa patch ho NFC Stack
Thibela lebitso | Lebitso la patch | Sebaka seo u ka se sebelisang |
NFC HAL le EMVCo HAL | AROOT_hardware_interfaces.patch | hardware/interface/ |
NFC Stack | 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 | sistimi/nfc/ |
NFC JNI | AROOT_packages_apps_Nfc.patch | liphutheloana/apps/nfc/ |
Tšebeletso ea NFC | AROOT_packages_apps_Nfc.patch | liphutheloana/apps/nfc/ |
Moralo oa NFC | AROOT_frameworks_base.patch | meralo/motheo/ |
Moralo oa EMVCo | AROOT_vendor_nxp_frameworks.patch | morekisi/nxp/meralo/ |
3.4 Litšoantšo tse benyang
Litšoantšo li ka fumanoa ho /out/target/product/{selected_DH}. Ho benya litšoantšo tsa sistimi, re tlameha ho tsamaisa litaelo tse latelang (tse lekiloeng ho Dragonboard 845c).
$ adb qala bootloader hape
$ fastboot flash boot boot_uefi.img
$ fastboot flash vendor_boot vendor_boot.img
$ fastboot flash super super.img
$ fastboot flash userdata userdata.img
$ mofuta oa fastboot: ext4 metadata $fastboot reboot
Ka mor'a hore litšoantšo li benyetsoe, re tlameha ho hloekisa MW ka ho sebelisa litaelo tse latelang (tse lekiloeng ho Dragonboard 845c).
$ adb emela-bakeng sa sesebelisoa
$ adb motso
$ adb emela-bakeng sa sesebelisoa
$ 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/jj.
$ adb shell chmod 0777 /system/etc/EMVCoAidlHalComplianceTest
$ adb push Test_APK/EMVCoAidlHalDesfireTest/EMVCoAidlHalDesfireTest sistimi/jj.
$ adb shell chmod 0777 /system/etc/EMVCoAidlHalDesfireTest
$ adb push Test_APK/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk system/app/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk
$ adb shell sync
$ adb qala hape
$ adb emela-bakeng sa sesebelisoa
3.5 Hlophisa files
Ho PN7220, re na le tlhophiso e mene e fapaneng files.
- libemvco-nxp.conf
- libnfc-nci.conf
- libnfc-nxp.conf
- libnfc-nxp-eeprom.conf
Hlokomela: Ela hloko hore tlhophiso files fanoe ka mohlalaampe amana le boto ea demo ea taolo ea NFC. Tsena files e tlameha ho amoheloa ho latela kopanyo e reriloeng.
Kaofela bane files e tlameha ho sutumelletsoa sebakeng se itseng.
Lethathamo la 3. Libaka tsa tlhophiso files
Lebitso la tlhophiso file | Sebaka se sesebelisoa |
libemvco-nxp.conf | morekisi/jj |
libnfc-nci.conf | morekisi/jj |
libnfc-nxp.conf | system / jj |
libnfc-nxp-eeprom.conf | morekisi/jj |
libnfc-nxp-eeprom.conf
Lethathamo la 4. tlhaloso ea libnfc-nxp-eeprom.conf
Lebitso | Tlhaloso | Boleng ba kamehla |
NXP_SYS_CLK_ SRC_SEL |
Tlhophiso ea khetho ea mohloli oa oache ea sistimi | 0x01 |
NXP_SYS_CLK_ FREQ_SEL |
Tlhophiso ea khetho ea maqhubu a oache ea sistimi | 0x08 |
NXP_ENABLE_ DISABLE_STANBY |
Khetho ea ho bulela kapa ho tima Boemo ba Standby | 0x00 |
NXP_ENABLE_ DISABLE_LPCD |
Khetho ea ho nolofalletsa kapa ho tima LPCD. | 0x00 |
Tlhokomeliso: Haeba ho se na oache e hlophisitsoeng, ebang ke PLL kapa Xtal, stack ea MW e tla leka hape ka lupu ho fumana oache le ho qala ka katleho. libnfc-nci.conf
Lethathamo la 5. tlhaloso ea libnfc-nci.conf
Lebitso | Tlhaloso | Boleng ba kamehla |
APPL_TRACE_LEVEL | Maemo a log bakeng sa libnfc-nci | 0xFF |
PROTOCOL_TRACE_LEVEL | Maemo a log bakeng sa libnfc-nci | 0xFFFFFFFF |
NFC_DEBUG_ENABLED | Tlhophiso ea ho lokisa phoso ea NFC | 0x01 |
NFA_STORAGE | Beha bukana ea sepheo sa NFC file polokelo | /data/vendor/nfc |
HOST_LISTEN_TECH_MASK | Lokisa tšobotsi ea ho mamela moamoheli | 0x07 |
NCI_HAL_MODULE | NCI HAL Lebitso la Module | nfc_nci.pn54x |
POLLING_TECH_MASK | Tlhophiso ea mahlale a likhetho | 0x0F |
Lethathamo la 5. tlhaloso ea libnfc-nci.conf…e tsoela pele
Lebitso | Tlhaloso | Boleng ba kamehla |
P2P_LISTEN_TECH_MASK | P2P ha e tšehetsoe ho PN7220 | 0xC5 |
PRESERVE_STORAGE | Netefatsa litaba tsa mabenkele ohle a sa fetoheng. | 0x01 |
AID_MATCHING_MODE | E fana ka mekhoa e fapaneng ea ho tsamaisana le AID | 0x03 |
NFA_MAX_EE_SUPPORTED | Nomoro e kholo ea EE e tšehetsoeng | 0x01 |
OFFHOST_AID_ROUTE_PWR_STATE | Beha boemo bo tšehetsoeng ba OffHost AID | 0x3B |
Lethathamo la 6. tlhaloso ea libnfc-nxp.conf
Lebitso | Tlhaloso | Boleng ba kamehla |
NXPLOG_EXTNS_LOGLEVEL | Tlhophiso bakeng sa boemo ba ho rema lifate ka extns | 0x03 |
NXPLOG_NCIHAL_LOGLEVEL | Tlhophiso ea ho nolofalletsa ho rengoa ha HAL | 0x03 |
NXPLOG_NCIX_LOGLEVEL | Tlhophiso ea ho nolofalletsa ho rengoa ha lipakete tsa NCI TX | 0x03 |
NXPLOG_NCIR_LOGLEVEL | Tlhophiso ea ho nolofalletsa ho rengoa ha lipakete tsa NCI RX | 0x03 |
NXPLOG_FWDNLD_LOGLEVEL | Tlhophiso ea ho nolofalletsa ho rengoa ha ts'ebetso ea download ea FW | 0x03 |
NXPLOG_TML_LOGLEVEL | Tlhophiso ea ho nolofalletsa ho rengoa ha TM | 0x03 |
NXP_NFC_DEV_NODE | Lebitso la Node ea Sesebelisoa sa NFC | idev/rixpnfc” |
MIFARE_READER_ENABLE | Keketso ea 'mali oa NFC bakeng sa MIFARE e nolofalletse | EA-01-TS |
NXP_FW_TYPE | Firmware file mofuta | EA-01-TS |
NXP_I2C_FRAGMENTATION_ E THUSOE | Lokisa karohano ea 12C | 0x00 |
NFA_PROPRIETARY_CFG | Beha tlhophiso ea thepa ea Morekisi | {05, FF, FF, 06, 81, 80, 70, FF, FF} |
NXP_EXT_TVDD_CFG | Beha mokhoa oa tlhophiso oa TVDD | 0x02 |
NXP_EXT TVDD_CFG_1 | Lokisa litlhophiso tsa TVDD ho latela mokhoa oa TVDD o khethiloeng | Sheba config file |
NXP_EXT_TVDD_CFG_2 | Lokisa litlhophiso tsa TVDD ho latela mokhoa oa TVDD o khethiloeng | Sheba config file |
NXP_CORE_CONF | Beakanya likarolo tse emeng tsa molaoli oa NFC | { 20, 02, 07, 02, 21, 01, 01, 18, 01, 02 } |
NXP_CORE_CONF_EXTN | Beakanya likarolo tsa botho tsa molaoli oa NFC | {00, 00, 00, 00} |
NXP_SET_CONFIG_ALWAYS | Kamehla romela CORE_CONF le CORE_CONF_EXTN (ha e khothalletsoe hore e e lumelle.) | EA-00-TS |
NXP_RF_CONF_BLK_1 | Litlhophiso tsa RF | Sheba config file |
ISO_DEP_MAX_TRANSCEIVE | Hlalosa boholo ba bolelele ba ISO-DEP bo atolositsoeng ba APDU | OxFEFF |
PRESENCE_CHECK_ALGORITHM | Beha algorithm e sebelisoang bakeng sa ts'ebetso ea ho hlahloba boteng ba T4T | 2 |
NXP_FLASH_CONFIG | Litlhophiso tsa Likhetho tse khanyang | 0x02 |
Lethathamo la 7. tlhaloso ea libemvco-nxp.conf
Lebitso | Tlhaloso | Boleng ba kamehla |
LENGONO LA NXP LE EKATSA LOGLEVEL | Tlhophiso bakeng sa boemo ba ho rema lifate ka extns | 0x03 |
LENGOO LA NXP NCIHAL LOGLEVEL | Tlhophiso ea ho nolofalletsa ho rengoa ha HAL | 0x03 |
NXP LEBAKA NCIX LEBAKA | Tlhophiso ea ho nolofalletsa ho rengoa ha lipakete tsa NCI TX | 0x03 |
NXP LEBAKA NCIR LOGLEVEL | Tlhophiso ea ho nolofalletsa ho rengoa ha lipakete tsa NCI RX | 0x03 |
LEBETO LA NXP TML LENAKA | Tlhophiso ea ho nolofalletsa ho rengoa ha TML | 0x03 |
NXP_EMVCO_DEBUG_ENABLED | Numella ho lokisa liphoso | 0x03 |
NXP EMVCO DEV NODE | Lebitso la Node ea Sesebelisoa sa EMVCo | "/dev/nxpnfc" |
LIEKETSENG NXP PCD | Tlhophiso ea ho beha tieho ea likhetho lipakeng tsa mekhahlelo e 2 | (20, 02, 07, 01, A0, 64, 03, EC, 13, 06) |
NXP SET CONFIG | Khetho ea ho beha taelo ea config bakeng sa morero oa debugging | Sheba config file |
NXP FUMANA CONFIK | Khetho ea ho fumana taelo ea config bakeng sa morero oa debugging | Sheba config file |
3.6 KOPO YA DTA
Ho lumella tlhahlobo ea setifikeiti ea Foramo ea NFC, ho fanoe ka tlhahlobo ea lisebelisoa. E entsoe ka likarolo tse 'maloa likarolong tse fapaneng tsa Android, tse lokelang ho hahoa le ho kenngoa setšoantšong sa Android.
Ho sutumelletsa kopo ea DTA, re tlameha ho latela mehato e latelang:
- Kopitsa DTA tsohle files sebakeng se le seng
$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 "tsoa/target/product/hikey960/system/app/NxpDTA/NxpDTA.apk" /DTAPN7220 - Sutumelletsa li-binary ho sesebelisoa joalo ka tlase
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/
Kamora ho khantša sepheo, ts'ebeliso ea DTA e lokela ho ba teng lenaneng la lits'ebetso tse kentsoeng. Sheba UG bakeng sa tlhaloso e qaqileng ea mokhoa oa ho sebelisa kopo.
i.MX 8M Nano porting
Joalo ka mohlalaample, re bonts'a hore na ho tsamaisa sethala sa i.MX 8M ho shebahala joang. Ho fumana lintlha tse ling, sheba [3].
4.1 Hardware
Hajoale, NXP ha e fane ka boto ea adaptara. Sheba Lethathamo la 8 ho bona mokhoa oa ho hokahanya mapolanka le lithapo.
Letlapa la 8. PN7220 ho i.MX 8M Nano dikgokelo
PIN | PN7220 | i.MX 8M NANO |
VEN | J27-7 | J003-40 |
Li-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 |
4.2 Software
Mehato e hlalositsoeng karolong ena e hlalosa hore na re ka kenya PN7200 joang sethaleng sa i.MX 8M Nano. Mehato e ts'oanang e nang le phetoho e nyane, e ka sebelisoa ho isa ho DH efe kapa efe e sebelisang Android OS.
Tlhokomeliso: Mohlala ona oa portingample, re sebelisa 13.0.0_1.0.0_Android_Source.
Re ka sebelisa li-patches tse amanang le khoutu ea AOSP hape. Ntho e lokelang ho fetoloa ke:
- Sefate sa sesebelisoa (ho i.MX 8M Nano, sena ke AROOT_vendor_nxp-opensource_imx_kernel.patch)
- Sekhechana se ikhethileng sesebelisoa (ho i.MX 8M Nano, sena ke AROOT_device_nxp.patch)
Ho AROOT_vendor_nxp-opensource_imx_kernel.patch, re ka bona hore na mokhanni o kenyelelitsoe joang le hore na sefate sa lisebelisoa se hahiloe joang. Sena se tobile ho moamoheli e mong le e mong oa sesebelisoa kaha re tlameha ho hlokomela tlhophiso ea phini, 'me sena se fapane lipakeng tsa liboto. Hape re lokela ho hlokomela ho tlhophiso ea menu.
Ho AROOT_device_nxp.patch, re kenyelletsa nfc moahong. Ka kakaretso, re etsa bonnete ba hore litšebeletso tsohle li kenyelelitsoe ka mokhoa o nepahetseng, joalo-joalo Ha u fetisetsa mochine o itseng oa lisebelisoa, nka patch ena e le boitsebiso 'me u kenyelle lintho tsohle tse ka hare.
Ntho e 'ngoe e eketsehileng eo re e entseng ho porting e fumaneha sesebelisoa-nfc.mk file:
Re tlameha ho fana ka maikutlo a latelang:
# BOARD_SEPOLICY_DIRS += morekisi/$(NXP_VENDOR_DIR)/nfc/sepolicy \
# morekisi/$(NXP_VENDOR_DIR)/nfc/sepolicy/nfc
Lebaka la sena ke hore re kenyelletsa sepolicy ho BoardConfig.mk e ikhethileng ka sesebelisoa. file. Mehato ea ho etsa litšoantšo:
> Fumana khoutu ya AOSP bakeng sa i.MX8M Nano
> Haha AOSP
> Fumana lipache tsa NXP ([5])
> Kenya lipache tsohle ka install_nfc.sh
> cd framework/base
> mm
> cd ../..
> cd morekisi/nxp/frameworks
> mm #ka morao ho ena, re lokela ho bona com.nxp.emvco.jar inside out/target/product/ imx8mn/system/framwework/
> cd ../../..
> cd hardware/nxp/nfc
> mm
> cd ../../..
> etsa
> Khoasolla litšoantšo 'me u sebelise sesebelisoa sa uuu ho khantša i.MX8M Nano
Likgutsufatso
Lethathamo la 9. Likgutsufatso
Kgutsufatso | Tlhaloso |
APDU | yuniti ea data ea ts'ebeliso ea protocol |
AOSP | Morero oa mohloli o bulehileng oa Android |
DH | moamoheli oa sesebelisoa |
HALALA | hardware abstraction layer |
FW | firmware |
I2C | inter-integrated potoloho |
LPCD | ho fumana karete e nang le matla a tlase |
NCI | Sehokelo sa taolo ea NFC |
NFC | puisano e haufi-ufi |
MW | middleware |
PLL | sekgoqetsane se notletsoeng |
P2P | thaka ho thaka |
RF | maqhubu a seea-le-moea |
SDA | serial data |
SMCU | microcontroller e sireletsehileng |
SW | software |
Litšupiso
[1] AOSP r3 tag: https://android.googlesource.com/platform/manifest-b android-13.0.0_r3[2] Lisebelisoa tsa ho laola mohloli: 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] PN7220 mokhanni oa kernel: https://github.com/NXPNFCLinux/nxpnfc/tree/PN7220-Driver
[5] PN7220 MW: https://github.com/NXPNFCLinux/PN7220_Android13
Ela hloko mabapi le khoutu ea mohloli tokomaneng
Exampkhoutu e bontšitsoeng tokomaneng ena e na le litokelo tse latelang tsa litokelo tsa molao le laesense ea BSD-3-Clause:
Copyright 2023 NXP Kabo bocha le tšebeliso ea mohloli le mefuta ea binary, e nang le phetoho kapa ntle le eona, e lumelletsoe ha feela maemo a latelang a phethiloe:
- Kabo-bocha ea khoutu ea mohloli e tlameha ho boloka tsebiso e kaholimo ea litokelo, lenane lena la maemo le boitlamo bo latelang.
- Liphatlalatso ka mokhoa oa binary li tlameha ho hlahisa tsebiso e kaholimo ea litokelo, lenane lena la maemo le boits'oaro bo latelang bo hlahang litokomaneng le/kapa lisebelisoa tse ling li tlameha ho fanoa mabapi le kabo.
- Ha ho na lebitso la mong'a litokelo kapa mabitso a bafani ba eona le ka sebelisoang ho ts'ehetsa kapa ho khothaletsa lihlahisoa tse tsoang ho software ena ntle le tumello e tsoang pele.
SOFTWARE ENA E FUMANA KE BATHO BA TENG LE BAASEHI "JOALOKAHA HO LE" LE LITEISETSO TSE FELENG KAPA TSE BOLELANG, HO kenyeletsoa, EMPA EMPA HO FUMANA, LITIISETSO TSA MOTHO OA THEKISO LE HO LOKELA HO SEBELISA LEBAKA LE KHETHANG. HA HO LE TSATSAHALO HA HO MOTHO OR COPYRIGHT HOLDER KAPA BATHO BA TLA BA MOTHO OA MOLAO OA TSOHLE, TSOHLE, TSA TLOAELO, KHETHEHILENG, TSA MOHLALA, KAPA LITšenyo Tse Litlamorao (Ho kenyeletsoa, EMPA E SE KE UA LE FELA HO, THEKO EA TŠEBELETSO, TŠEBELETSO, TŠEBELETSO; Phaello; KAPA TŠITISO YA Kgwebo) Leha ho le joalo e bakileng LE ON leha e le efe Khopolo ea boikarabelo, Ebang IN konteraka, ka thata-thata melato, OR TORT (Ho kenyeletswa bohlasoa OR HOBANE) TSOA KA TSELA EFE KA HO TSOA HO SEBELISA SOFTWARE ENA EVENIB, TSIETSO.
Boitsebiso ba molao
8.1 Litlhaloso
Moralo - Maemo a moralo oa tokomane a bontša hore litaba li ntse li le tlas'a tlaleho ea ka hareview le ho latela tumello ea molao, e ka bakang liphetoho kapa ho eketsoa. Li-Semiconductors tsa NXP ha li fane ka litlatsetso kapa litiisetso mabapi le ho nepahala kapa botlalo ba tlhahisoleseling e kenyellelitsoeng tokomaneng ea tokomane mme e ke ke ea ba le boikarabello bakeng sa litlamorao tsa ts'ebeliso ea tlhaiso-leseling e joalo.
8.2 Boitlhotlhollo
Tiisetso e fokolang le boikarabello - Ho lumeloa hore litaba tse tokomaneng ena li nepahetse ebile lia tšepahala. Leha ho le joalo, li-Semiconductors tsa NXP ha li fane ka litlatsetso kapa litiisetso, tse hlahisitsoeng kapa tse boletsoeng, mabapi le ho nepahala kapa botlalo ba tlhahisoleseling e joalo mme e ke ke ea ba le boikarabello bakeng sa litlamorao tsa ts'ebeliso ea tlhahisoleseling e joalo. Li-Semiconductors tsa NXP ha li nke boikarabello bakeng sa litaba tse tokomaneng ena haeba li fanoe ke mohloli oa tlhahisoleseling kantle ho li-Semiconductors tsa NXP.
Ha ho ketsahalo e tla tlameha ho jara li-Semiconductors tsa NXP bakeng sa ts'enyehelo efe kapa efe e sa tobang, e sa lebelloang, ea kotlo, e khethehileng kapa ea litlamorao (ho kenyeletsoa - ntle le meeli, phaello e lahlehileng, chelete e lahlehileng, tšitiso ea khoebo, litšenyehelo tse amanang le ho tlosoa kapa ho nkeloa sebaka ha lihlahisoa leha e le life kapa litefello tsa ho sebetsa bocha) ha se lits'enyehelo tse joalo li ipapisitse le tort (ho kenyeletsoa bohlasoa), tiisetso, tlolo ea konteraka kapa khopolo efe kapa efe ea molao.
Ho sa tsotellehe litšenyehelo leha e le life tseo moreki a ka bang le tsona ka lebaka leha e le lefe, kakaretso ea NXP Semiconductors' le boikarabelo bo eketsehileng ho bareki bakeng sa lihlahisoa tse hlalositsoeng mona li tla fokotsoa ho latela Melao le lipehelo tsa thekiso ea khoebo ea NXP Semiconductors.
Tokelo ea ho etsa liphetoho - Li-Semiconductors tsa NXP li na le tokelo ea ho etsa liphetoho tlhahisoleseling e phatlalalitsoeng tokomaneng ena, ho kenyeletsoa ntle le meeli le litlhaloso tsa sehlahisoa, ka nako efe kapa efe ntle le tsebiso. Tokomane ena e nka sebaka sa tlhahisoleseling eohle e fanoeng pele ho phatlalatsoa.
E loketse ho sebelisoa - Lihlahisoa tsa li-Semiconductors tsa NXP ha lia etsoa, tsa lumelloa kapa ha lia lumelloa hore li tšoanelehe bakeng sa ts'ehetso ea bophelo, lits'ebetso tsa bohlokoa tsa bophelo kapa ts'ireletso kapa lisebelisoa, kapa lits'ebetsong moo ho hloleha kapa ho se sebetse hantle ha sehlahisoa sa NXP Semiconductors ho ka lebelloang ho fella ka kotsi ya motho, lefu kapa tshenyo e kgolo ya thepa kapa tikoloho. Li-Semiconductors tsa NXP le bafani ba eona ha ba amohele boikarabelo ba ho kenyelletsa le / kapa tšebeliso ea lihlahisoa tsa NXP Semiconductors thepa kapa likopo tse joalo, kahoo ho kenyelletsoa le / kapa tšebeliso e joalo e kotsing ea moreki ka boeena.
Lisebelisoa - Lisebelisoa tse hlalositsoeng mona bakeng sa efe kapa efe ea lihlahisoa tsena li etselitsoe merero ea litšoantšo feela. Li-Semiconductors tsa NXP ha li fane ka boemeli kapa tiisetso ea hore lits'ebetso tse joalo li tla tšoaneleha bakeng sa ts'ebeliso e boletsoeng ntle le liteko tse ling kapa phetoho. Bareki ba ikarabella bakeng sa moralo le ts'ebetso ea likopo tsa bona le lihlahisoa tse sebelisang lihlahisoa tsa NXP Semiconductors, 'me NXP Semiconductors ha e amohele boikarabelo bakeng sa thuso leha e le efe ka likopo kapa moralo oa sehlahisoa sa bareki. Ke boikarabelo ba moreki feela ho fumana hore na sehlahisoa sa NXP Semiconductors se loketse le hore se loketse lits'ebetso tsa moreki le lihlahisoa tse reriloeng, hammoho le ts'ebeliso e reriloeng le ts'ebeliso ea bareki ba motho oa boraro. Bareki ba tlameha ho fana ka litšireletso tse nepahetseng tsa moralo le ts'ebetso ho fokotsa likotsi tse amanang le lits'ebetso le lihlahisoa tsa bona.
Li-Semiconductors tsa NXP ha li amohele sekoloto leha e le sefe se amanang le ho se be teng, tšenyo, litšenyehelo kapa bothata bo ipapisitseng le bofokoli bofe kapa bofe kapa bofokoli ba lits'ebetso kapa lihlahisoa tsa moreki, kapa kopo kapa ts'ebeliso ea bareki ba motho oa boraro. Moreki o na le boikarabello ba ho etsa liteko tsohle tse hlokahalang bakeng sa lits'ebetso le lihlahisoa tsa moreki a sebelisa lihlahisoa tsa NXP Semiconductors ho qoba ho se be teng ha lits'ebetso le lihlahisoa kapa ts'ebeliso kapa ts'ebeliso ea bareki ba motho oa boraro. NXP ha e amohele melato leha e le efe tabeng ena.
Melao le lipehelo tsa thekiso ea khoebo - Lihlahisoa tsa NXP Semiconductors li rekisoa ho latela maemo le maemo a kakaretso a thekiso ea khoebo, joalo ka ha e phatlalalitsoe ho http://www.nxp.com/profile/terms, ntle le haeba ho lumellanoe ka tsela e ’ngoe tumellanong e nepahetseng e ngotsoeng ea motho ka mong. Haeba tumellano ea motho ka mong e phetheloa ho tla sebetsa feela lipehelo le maemo a tumellano e amehang. Ka hona, li-Semiconductors tsa NXP li hanyetsa ka ho hlaka ho sebelisa lipehelo le lipehelo tse akaretsang tsa moreki mabapi le ho rekoa ha lihlahisoa tsa NXP Semiconductors ke moreki.
Taolo ea kantle ho naha - Tokomane ena hammoho le (li) lintho tse hlalositsoeng mona li ka ipapisa le melaoana ea taolo ea kantle ho naha. Ho romela kantle ho naha ho ka hloka tumello ea pele ho tsoa ho balaoli ba nang le bokhoni.
E loketse ho sebelisoa lihlahisoa tse tšoanelehang tseo e seng tsa likoloi - Ntle le haeba tokomane ena e bolela ka ho hlaka hore sehlahisoa sena se khethehileng sa NXP Semiconductors ke likoloi tse tšoanelehang, sehlahisoa ha sea tšoaneleha bakeng sa tšebeliso ea likoloi. Ha e tšoanelehe kapa hona ho lekoa ho latela tlhahlobo ea likoloi kapa litlhoko tsa kopo. Li-Semiconductors tsa NXP ha li amohele boikarabelo ba ho kenyelletsa le/kapa tšebeliso ea lihlahisoa tse tšoanelehang tseo e seng tsa likoloi ho thepa ea likoloi kapa likopo.
Haeba moreki a sebelisa sehlahisoa ho rala le ho sebelisoa lits'ebetsong tsa likoloi ho latela maemo le maemo a likoloi, moreki (a) o tla sebelisa sehlahisoa ntle le tiisetso ea sehlahisoa sa NXP Semiconductors bakeng sa lits'ebetso tse joalo tsa likoloi, ts'ebeliso le litlhaloso, le ( b) Neng kapa neng ha moreki a sebelisa sehlahisoa bakeng sa lits'ebetso tsa koloi ho feta lintlha tsa NXP Semiconductors' ts'ebeliso e joalo e tla ba kotsing ea moreki, 'me (c) moreki o lefa li-NXP Semiconductors ka botlalo bakeng sa melato efe kapa efe, tšenyo kapa liqoso tsa sehlahisoa tse hlōlehileng ka lebaka la moralo le ts'ebeliso ea bareki. sehlahisoa sa lisebelisoa tsa likoloi ho feta tiisetso e tloaelehileng ea NXP Semiconductors le litlhaloso tsa sehlahisoa sa NXP Semiconductors.
Lihlahisoa tsa tlhahlobo - Sehlahisoa sena se fanoe ka "joalo ka" le "ka liphoso tsohle" molemong oa tlhahlobo feela. Li-Semiconductors tsa NXP, balekane ba eona le bafani ba eona ba fanang ka thepa ka mokhoa o hlakileng ba hana litiisetso tsohle, ebang ke tse hlakileng, tse boletsoeng kapa tse molaong, ho kenyeletsoa empa ho sa felle feela ho litiisetso tse boletsoeng tsa ho se tlole molao, ho rekisoa le ho phela hantle molemong o itseng. Kotsi eohle mabapi le boleng, kapa e hlahang ka lebaka la ts'ebeliso kapa ts'ebetso ea sehlahisoa sena e sala ho moreki.
Ha ho ketsahalo e ke keng ea e-ba li-Semiconductors tsa NXP, balekane ba eona kapa barekisi ba eona ba tla ikarabella ho moreki bakeng sa ts'enyehelo efe kapa efe e khethehileng, e sa tobang, ea litlamorao, ea kotlo kapa ea tšohanyetso (ho kenyeletsoa ntle le meeli ea tahlehelo ea tahlehelo ea khoebo, tšitiso ea khoebo, tahlehelo ea ts'ebeliso, tahlehelo ea data kapa tlhahisoleseling. , and the like) tse hlahang ts'ebeliso ea kapa ho se khone ho sebelisa sehlahisoa, hore na kapa che
ho ipapisitsoe le tort (ho kenyeletsoa ho se tsotelle), melato e tiileng, ho tlola konteraka, ho tlola tiisetso kapa mohopolo ofe kapa ofe, leha o eletsoa ka monyetla oa tšenyo e joalo. Leha ho na le ts'enyehelo efe kapa efe eo moreki a ka e bakang ka lebaka lefe kapa lefe (ho kenyeletsoa ntle le moeli, lits'enyehelo tsohle tse boletsoeng ka holimo le lits'enyehelo tsohle tse tobileng kapa tse akaretsang), boikarabello bohle ba NXP Semiconductors, balekane ba eona le barekisi ba bona le pheko e ikhethileng ea moreki bakeng sa tsohle tse boletsoeng ka holimo e tla. e lekanyetsoe ho tšenyehelo ea 'nete e bakiloeng ke moreki e ipapisitseng le ts'epo e utloahalang ho fihlela ho chelete e ngata e hlileng e lefuoang ke moreki bakeng sa sehlahisoa kapa lidolara tse hlano (US$5.00). Meeli e boletsoeng ka holimo, mekhelo le boits'oaro bo tla sebetsa ho isa tekanyong e lumelletsoeng ke molao o sebetsang, leha tharollo efe kapa efe e hloleha ho fihlela sepheo sa eona sa bohlokoa.
Liphetolelo — Phetolelo e seng ea Senyesemane (e fetoletsoeng) ea tokomane, ho kenyeletsoa le litaba tsa molao tse tokomaneng eo, ke tsa tšupiso feela. Phetolelo ea Senyesemane e tla sebetsa haeba ho ka ba le phapang lipakeng tsa liphetolelo tse fetoletsoeng le tsa Senyesemane.
Tshireletso - Moreki oa utloisisa hore lihlahisoa tsohle tsa NXP li ka ba tlas'a bofokoli bo sa tsejoeng kapa li ka ts'ehetsa maemo a ts'ireletso kapa litlhaloso tse nang le mefokolo e tsejoang. Moreki o ikarabella bakeng sa moralo le ts'ebetso ea lits'ebetso le lihlahisoa tsa hae bophelong bohle ba bona ho fokotsa litlamorao tsa bofokoli bona lits'ebetsong le lihlahisoa tsa moreki. Boikarabello ba moreki bo boetse bo fetela ho litheknoloji tse ling tse bulehileng le/kapa tsa botho tse tšehetsoeng ke lihlahisoa tsa NXP bakeng sa tšebeliso ea lits'ebetso tsa bareki. NXP ha e amohele boikarabelo ba ho ba kotsing. Moreki o lokela ho lekola lintlafatso tsa ts'ireletso khafetsa ho tsoa ho NXP le ho li latela ka nepo. Moreki o tla khetha lihlahisoa tse nang le likarolo tsa ts'ireletso tse kopanang hantle le melao, melaoana le maemo a ts'ebeliso e reriloeng mme a etse liqeto tsa mantlha tsa moralo mabapi le lihlahisoa tsa hae mme o na le boikarabello ba ho latela litlhoko tsohle tsa molao, tsa tsamaiso le ts'ireletso mabapi le lihlahisoa tsa hae, ho sa tsotelehe. ea tlhahisoleseling efe kapa efe kapa tšehetso e ka fanoang ke NXP.
NXP e na le Sehlopha sa Karabelo ea Ketsahalo ea Ts'ireletso ea Lihlahisoa (PSIRT) (e fumaneha ho PSIRT@nxp.com) e laolang lipatlisiso, tlaleho, le tokollo ea tharollo ho bofokoli ba ts'ireletso ea lihlahisoa tsa NXP.
NXP BV - NXP BV ha se khamphani e sebetsang mme ha e aba kapa ho rekisa lihlahisoa.
8.3 Lilaesense
Theko ea NXP ICs ka theknoloji ea NFC - Ho Reka NXP Semiconductors IC e lumellanang le e 'ngoe ea litekanyetso tsa Near Field Communication (NFC) ISO/IEC 18092 le ISO/IEC 21481 ha e fane ka laesense e boletsoeng tlas'a tokelo efe kapa efe ea patent e hatakeloang ke ts'ebetsong ea leha e le efe ea litekanyetso tseo. Theko ea NXP Semiconductors IC ha e kenyeletse laesense ho patent efe kapa efe ea NXP (kapa tokelo e 'ngoe ea IP) e koahelang metsoako ea lihlahisoa tseo le lihlahisoa tse ling, ebang ke hardware kapa software.
8.4 Matšoao a khoebo
Tlhokomeliso: Mefuta eohle e boletsoeng, mabitso a lihlahisoa, mabitso a litšebeletso, le matšoao a khoebo ke thepa ea beng ba tsona ka ho latellana.
NXP — letshwao la mantswe le logo ke matshwao a kgwebo a NXP BV
EdgeVerse - ke lets'oao la khoebo la NXP BV
i.MX — ke letshwao la kgwebo la NXP BV
I2C-bus — logo ke lets'oao la khoebo la NXP BV
Oracle le Java — ke matshwao a kgwebo a ngodisitsweng a Oracle le/kapa makala a yona.
Ka kopo hlokomela hore litsebiso tsa bohlokoa mabapi le tokomane ena le lihlahisoa tse hlalositsoeng mona, li kenyelelitsoe karolong ea 'Legal information'.
© 2023 NXP BV
Ho fumana lintlha tse ling, ka kopo etela: http://www.nxp.com
Litokelo tsohle li sirelelitsoe.
Letsatsi la ho lokolloa: 18 Loetse 2023
ID ea litokomane: AN13971
AN13971
Tlhaloso ea kopo
Lintlha tsohle tse fanoeng tokomaneng ena li tlas'a melato ea molao.
Tšen. 1.0 - 18 September 2023
© 2023 NXP BV Litokelo tsohle li sirelelitsoe.
Litokomane / Lisebelisoa
![]() |
Taolo ea NFC e lumellanang le NXP PN7220 [pdf] Bukana ea Mosebelisi PN7220 e Laolang NFC Controller, PN7220, Molaoli oa NFC ea lumellanang, Mookameli oa NFC, Mookameli |