AN13971
PN7220 - មគ្គុទ្ទេសក៍ច្រកប្រព័ន្ធប្រតិបត្តិការ Android
ថ្ងៃទី 1.0 ដល់ថ្ងៃទី 18 ខែកញ្ញា ឆ្នាំ 2023
កំណត់ចំណាំកម្មវិធី
ឧបករណ៍បញ្ជា NFC អនុលោមតាម PN7220
ព័ត៌មានឯកសារ
ព័ត៌មាន | មាតិកា |
ពាក្យគន្លឹះ | PN7220, NCI, EMVCo, វេទិកា NFC, ប្រព័ន្ធប្រតិបត្តិការ Android, NFC |
អរូបី | ឯកសារនេះពិពណ៌នាអំពីរបៀបច្រកការចេញផ្សាយឧបករណ៍កណ្តាល PN7220 ទៅ Android ។ |
NXP Semiconductors
ប្រវត្តិនៃការពិនិត្យឡើងវិញ
ប្រវត្តិនៃការពិនិត្យឡើងវិញ
Rev | កាលបរិច្ឆេទ | ការពិពណ៌នា |
v.1.0 | 20230818 | កំណែដំបូង |
សេចក្តីផ្តើម
ឯកសារនេះផ្តល់នូវគោលការណ៍ណែនាំសម្រាប់ការរួមបញ្ចូលឧបករណ៍បញ្ជា NFC ដែលមានមូលដ្ឋានលើ PN7220 NXP NCI ទៅក្នុងប្រព័ន្ធប្រតិបត្តិការ Android តាមទស្សនៈរបស់កម្មវិធី។
ដំបូងវាពន្យល់ពីរបៀបដំឡើងកម្មវិធីបញ្ជាខឺណែលដែលត្រូវការ ហើយបន្ទាប់មកពិពណ៌នាជំហានម្តងមួយៗអំពីរបៀបប្ដូរប្រភព AOSP ដើម្បីបន្ថែមការគាំទ្រសម្រាប់ឧបករណ៍បញ្ជា PN7220 NFC ។ រូបភាពទី 1 បង្ហាញពីស្ថាបត្យកម្មនៃជង់ Android NFC ទាំងមូល។
រូបភាព 1. ជង់ NFC ប្រព័ន្ធប្រតិបត្តិការ Android
PN7220 ត្រូវបានបំបែកទៅជាសេណារីយ៉ូម៉ាស៊ីនតែមួយ និងម៉ាស៊ីនពីរ។ ជាទូទៅជង់គឺដូចគ្នាសម្រាប់ម៉ាស៊ីនពីរយើងបន្ថែម SMCU ។
- កម្មវិធីបញ្ជា NXP I2C គឺជាម៉ូឌុលខឺណែលដែលផ្តល់នូវការចូលទៅកាន់ធនធានផ្នែករឹងរបស់ PN7220។
- ម៉ូឌុល HAL គឺជាការអនុវត្តនៃស្រទាប់អរូបី HW ជាក់លាក់នៃឧបករណ៍បញ្ជា NXP NFC ។
- LibNfc-nci គឺជាបណ្ណាល័យដើមដែលផ្តល់មុខងារ NFC ។
- NFC JNI គឺជាកូដស្អិតរវាង Java និងថ្នាក់ដើម។
- NFC និង EMVCo Framework គឺជាម៉ូឌុលក្របខ័ណ្ឌកម្មវិធីដែលផ្តល់នូវការចូលប្រើមុខងារ NFC និង EMVCo ។
កម្មវិធីបញ្ជាខឺណែល។
ជង់ NFC Android ប្រើកម្មវិធីបញ្ជាខឺណែល nxpnfc ដើម្បីទាក់ទងជាមួយ PN7220។ វាអាចរកបាននៅទីនេះ។
2.1 ព័ត៌មានលម្អិតអំពីអ្នកបើកបរ
កម្មវិធីបញ្ជាខឺណែល nxpnfc ផ្តល់នូវទំនាក់ទំនងជាមួយ PN7220 លើចំណុចប្រទាក់រូបវន្ត I2C ។
នៅពេលផ្ទុកទៅក្នុងខឺណែល កម្មវិធីបញ្ជានេះបង្ហាញចំណុចប្រទាក់ទៅ PN7220 តាមរយៈថ្នាំងឧបករណ៍ដែលមានឈ្មោះថា /dev/ nxpnfc ។
2.2 ការទទួលបានកូដប្រភព
ក្លូនឃ្លាំងកម្មវិធីបញ្ជា PN7220 ទៅក្នុងថតខឺណែល ដោយជំនួសការអនុវត្តដែលមានស្រាប់៖
$rm -rf drivers/nfc
$git ក្លូន "https://github.com/NXPNFCLinux/nxpnfc.git“-b PN7220-កម្មវិធីបញ្ជាអ្នកបើកបរ/
វាបញ្ចប់ដោយ folder drivers/nfc ដែលមានដូចខាងក្រោម files:
- README.md៖ ព័ត៌មានឃ្លាំង
- ធ្វើ file៖ ក្បាលអ្នកបើកបរធ្វើឱ្យ file
- Kcon fig: ការកំណត់រចនាសម្ព័ន្ធកម្មវិធីបញ្ជា file
- អាជ្ញាប័ណ្ណ៖ លក្ខខណ្ឌអាជ្ញាប័ណ្ណអ្នកបើកបរ
- ថតរង nfc ដែលមាន៖
- កុម្មុយនិស្ត។ គ៖ ការអនុវត្តកម្មវិធីបញ្ជាទូទៅ
- ទូទៅ។ h: និយមន័យចំណុចប្រទាក់កម្មវិធីបញ្ជាទូទៅ
- i2c_drv.c: ការអនុវត្តកម្មវិធីបញ្ជាជាក់លាក់ i2c
– i2c_drv.h: i2c និយមន័យចំណុចប្រទាក់កម្មវិធីបញ្ជាជាក់លាក់
- ធ្វើfile៖ ធ្វើfile ដែលត្រូវបានរួមបញ្ចូលនៅក្នុងការបង្កើតfile របស់អ្នកបើកបរ
- Kbuild => ស្ថាបនា file
- Kconfig => ការកំណត់រចនាសម្ព័ន្ធកម្មវិធីបញ្ជា file
2.3 ការកសាងអ្នកបើកបរ
ការរួមបញ្ចូលកម្មវិធីបញ្ជាទៅក្នុងខឺណែល និងការធ្វើឱ្យវាផ្ទុកក្នុងអំឡុងពេលចាប់ផ្ដើមឧបករណ៍ត្រូវបានធ្វើរួចដោយអរគុណដល់ devicetree ។
បន្ទាប់ពីធ្វើបច្ចុប្បន្នភាពនិយមន័យមែកធាងឧបករណ៍ មែកធាងឧបករណ៍ដែលទាក់ទងនឹងវេទិកាត្រូវតែត្រូវបានសាងសង់ឡើងវិញ។ NXP ស្នើឱ្យប្រើខឺណែលកំណែ 5.10 ចាប់តាំងពីនៅក្នុងកំណែនេះ សុពលភាពពេញលេញត្រូវបានបញ្ចប់។
- ទាញយកខឺណែល។
- ទទួលបានកូដប្រភពកម្មវិធីបញ្ជា។
- ផ្លាស់ប្តូរនិយមន័យមែកធាងឧបករណ៍ (ជាក់លាក់ចំពោះឧបករណ៍ដែលយើងកំពុងប្រើ)។
- បង្កើតអ្នកបើកបរ។
ក. តាមរយៈនីតិវិធី menuconfig រួមបញ្ចូលកម្មវិធីបញ្ជាគោលដៅក្នុងការសាងសង់។
បន្ទាប់ពីបង្កើតខឺណែលពេញលេញឡើងវិញ កម្មវិធីបញ្ជានឹងត្រូវបានបញ្ចូលក្នុងរូបភាពខឺណែល។ យើងត្រូវតែប្រាកដថារូបភាពខឺណែលថ្មីទាំងអស់ត្រូវបានចម្លងទៅក្នុង AOSP build។
ការសម្របសម្រួល AOSP
NXP ផ្តល់នូវបំណះនៅលើកំពូលនៃកូដ AOSP ។ នោះមានន័យថា អ្នកប្រើប្រាស់អាចទទួលបានលេខកូដ AOSP ដំបូង ហើយអនុវត្តបំណះពី NXP ។ ផ្នែកនេះពិពណ៌នាអំពីរបៀបដើម្បីសម្រេចបាន។ AOSP បច្ចុប្បន្ន tag ដែលយើងកំពុងប្រើគឺ [1]។
3.1 ការបង្កើត AOSP
- យើងត្រូវតែទទួលបានកូដប្រភព AOSP ។ នេះយើងអាចធ្វើជាមួយ៖
$ repo init -u https://android.googlesource.com/platform/manifest-b ប្រព័ន្ធប្រតិបត្តិការ Android-13.0.0_r3
$ repo សមកាលកម្ម
ចំណាំ៖ ឧបករណ៍ repo ត្រូវតែត្រូវបានដំឡើងនៅលើប្រព័ន្ធ។ ធ្វើតាមការណែនាំ [2] ។ - ពេលដែលយើងមានកូដប្រភព យើងអាចបញ្ចូលថត ហើយបង្កើតវា៖
$cd Android_AROOT
$source build/envsetup.sh
$lunch select_target #target គឺ DH ដែលយើងចង់ប្រើសម្រាប់អតីតample: db845c-userderbug $make -j - នៅពេលដែល AOSP ត្រូវបានសាងសង់ដោយជោគជ័យ យើងត្រូវទទួលបានបំណះ NXP ។ នេះយើងអាចធ្វើជាមួយ៖
$git ក្លូន "https://github.com/NXPNFCLinux/PN7220_Android13.git"អ្នកលក់/nxp/ - នៅចំណុចនេះ យើងមានតម្រូវការទាំងអស់ដើម្បីអនុវត្តបំណះសម្រាប់ការគាំទ្រ PN7220 ។ យើងអាចអនុវត្តបំណះដោយដំណើរការស្គ្រីប install_NFC.sh ។
$chmod +x /vendor/nxp/nfc/install_NFC.sh #ពេលខ្លះយើងត្រូវបន្ថែមសិទ្ធិដែលអាចប្រតិបត្តិបានទៅស្គ្រីប
$./vendor/nxp/nfc/install_NFC.sh
ចំណាំ៖ ពិនិត្យលទ្ធផលបន្ទាប់ពីដំណើរការ install_NFC.sh ។ ប្រសិនបើចាំបាច់ យើងត្រូវធ្វើការកែប្រែខ្លះដោយដៃ។ - យើងក៏អាចបន្ថែមប្រព័ន្ធគោលពីរ FW ផងដែរ៖
$git ក្លូន xxxxxx
$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 - ការបន្ថែម NFC ដើម្បីបង្កើត
នៅក្នុង device.mk ធ្វើfile (សម្រាប់ឧample, device/brand/platform/device.mk), រួមបញ្ចូលការបង្កើតជាក់លាក់files:
$(ហៅមរតក-ផលិតផល, អ្នកលក់/nxp/nfc/device-nfc.mk)
នៅក្នុង BoardConfig.mk បង្កើតfile (សម្រាប់ឧample, device/brand/platform/BoardConfig.mk), រួមបញ្ចូលការបង្កើតជាក់លាក់មួយ។file:
-រួមបញ្ចូលអ្នកលក់/nxp/nfc/BoardConfigNfc.mk - ការបន្ថែមកម្មវិធី DTA
ក្លូន $git https://github.com/NXPNFCProject/NXPAndroidDTA.git $git checkout NFC_DTA_v13.02_OpnSrc $patch -p1 AROOT_system_nfc-dta.patch
$ cp -r nfc-dta /system/nfc-dta
$ /system/nfc-dta/$ mm -j - ឥឡូវនេះយើងអាចបង្កើត AOSP ម្តងទៀតជាមួយនឹងការផ្លាស់ប្តូរទាំងអស់ដែលយើងបានធ្វើ៖
$cd framework/base
$mm
$cd ../..
$cd vendor/nxp/frameworks
$mm #បន្ទាប់ពីមួយនេះ យើងគួរតែឃើញ com.nxp.emvco.jar នៅខាងក្នុង out/target/product/xxxx/system/framwework/
$cd ../../..
$cd hardware/nxp/nfc
$mm
$cd ../../..
$ បង្កើត -j
ឥឡូវនេះ យើងអាចបញ្ចេញម៉ាស៊ីនឧបករណ៍របស់យើងជាមួយនឹងរូបភាព Android ដែលរួមបញ្ចូលមុខងារ NFC ។
3.2 កម្មវិធី Android NFC និង Lib នៅលើគោលដៅ
នៅក្នុងផ្នែករងនេះ យើងពិពណ៌នាអំពីកន្លែងដែលជាក់លាក់ត្រូវបានចងក្រង files ត្រូវបានរុញ។ បើមានការផ្លាស់ប្តូរណាមួយយើងអាចជំនួសបានតែមួយនោះ file. តារាងទី 1 បង្ហាញទីតាំងទាំងអស់។
តារាងទី 1. ចងក្រង files ជាមួយនឹងគោលដៅឧបករណ៍
ទីតាំងគម្រោង | ចងក្រង Files | ទីតាំងនៅក្នុងឧបករណ៍គោលដៅ |
“$ANDROID_ROOT”/packages/apps/Nfc | lib/NfcNci.apk oat/libnfc_nci_jni.so |
/system/app/NfcNci/ /system/lib64/ |
“$ANDROID_ROOT”/system/nfc | libnfc_nci.so | /system/lib64/ |
“$ANDROID_ROOT”/hardware/nxp/nfc | nfc_nci_nxp_pn72xx.so android.hardware.nfc_72xx@1.2-service android.hardware.nfc_72xx@1.2-service.rc android.hardware.nfc@1.0.so android.hardware.nfc@1.1.so android.hardware.nfc@1.2.so |
/vendor/lib64 /vendor/bin/hw/ /vendor/etc/init ប្រព័ន្ធ/lib64/ ប្រព័ន្ធ/lib64/ ប្រព័ន្ធ/lib64/ |
“$ANDROID_ROOT”/hardware/nxp/nfc | អ្នកលក់.nxp.nxpnfc@2.0.so | /system/lib64 |
“$ANDROID_ROOT”/vendor/nxp/frameworks | com.nxp.emvco.jar | / ប្រព័ន្ធ / ក្របខ័ណ្ឌ /អ្នកលក់/ក្របខ័ណ្ឌ |
“$ANDROID_ROOT”/hardware/nxp/emvco | emvco_poller.so android.hardware.emvco-សេវា android.hardware.emvco-service.rc android.hardware.emvco-V1-ndk.so android.hardware.emvco-V2-ndk.so |
/vendor/lib64 /vendor/bin/hw/ /vendor/etc/init ប្រព័ន្ធ/lib64/ ប្រព័ន្ធ/lib64/ |
3.3 ការគូសផែនទីបំណះ
រាល់បំណះត្រូវតែអនុវត្តទៅទីតាំងជាក់លាក់។ តារាងទី 2 បង្ហាញឈ្មោះបំណះ និងទីតាំងដែលយើងត្រូវអនុវត្តវា និងឈ្មោះប្លុក ដែលបង្ហាញយើងពីកន្លែងដែលនៅក្នុងជង់ NFC (រូបភាពទី 1) ស្ថិតនៅ។
តារាង 2. ទីតាំងបំណះនៅក្នុង NFC Stack
ឈ្មោះប្លុក | ឈ្មោះបំណះ | ទីតាំងដែលត្រូវដាក់ពាក្យ |
NFC HAL និង EMVCo HAL | AROOT_hardware_interfaces.patch | ផ្នែករឹង/ចំណុចប្រទាក់/ |
ជង់ NFC | AROOT_hardware_nxp_nfc.patch | ផ្នែករឹង/nxp/nfc/ |
ស្រទាប់ផ្លាស់ប្តូរទិន្នន័យ EMVCo L1 = ជង់ EMVCo | AROOT_hardware_nxp_emvco.patch | ផ្នែករឹង/nxp/emvco/ |
LibNfc-Nci | AROOT_system_nfc.patch | ប្រព័ន្ធ/nfc/ |
NFC JNI | AROOT_packages_apps_Nfc.patch | កញ្ចប់/កម្មវិធី/nfc/ |
សេវា NFC | AROOT_packages_apps_Nfc.patch | កញ្ចប់/កម្មវិធី/nfc/ |
ក្របខ័ណ្ឌ NFC | AROOT_frameworks_base.patch | ក្របខ័ណ្ឌ/មូលដ្ឋាន/ |
ក្របខ័ណ្ឌ EMVCo | AROOT_vendor_nxp_frameworks.patch | អ្នកលក់/nxp/frameworks/ |
3.4 រូបភាពភ្លឺ
រូបភាពអាចត្រូវបានរកឃើញនៅក្នុង /out/target/product/{selected_DH} ។ ដើម្បីបញ្ចេញរូបភាពប្រព័ន្ធ យើងត្រូវដំណើរការពាក្យបញ្ជាខាងក្រោម (សាកល្បងនៅលើ Dragonboard 845c)។
$ adb reboot bootloader
$ fastboot flash boot boot_uefi.img
$ fastboot flash vendor_boot vendor_boot.img
$fastboot flash super super.img
$ fastboot flash userdata userdata.img
$fastboot format: ext4 metadata $fastboot reboot
បន្ទាប់ពីរូបភាពត្រូវបានបញ្ចេញពន្លឺ យើងត្រូវតែធ្វើការសម្អាត MW មួយចំនួនដោយរត់ពាក្យបញ្ជាដូចខាងក្រោម (សាកល្បងនៅលើ Dragonboard 845c)។
$ adb wait-for-device
$ adb root
$ adb wait-for-device
$ 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/etc
$ adb shell chmod 0777 /system/etc/EMVCoAidlHalComplianceTest
$ adb push Test_APK/EMVCoAidlHalDesfireTest/EMVCoAidlHalDesfireTest system/etc
$ adb shell chmod 0777 /system/etc/EMVCoAidlHalDesfireTest
$ adb push Test_APK/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk system/app/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk
$ adb សែលធ្វើសមកាលកម្ម
$ adb ចាប់ផ្ដើមឡើងវិញ
$ adb wait-for-device
3.5 ការកំណត់រចនាសម្ព័ន្ធ files
នៅក្នុង PN7220 យើងមានការកំណត់រចនាសម្ព័ន្ធបួនផ្សេងគ្នា files.
- libemvco-nxp.conf
- libnfc-nci.conf
- libnfc-nxp.conf
- libnfc-nxp-eeprom.conf
ចំណាំ៖ យកចិត្តទុកដាក់លើការកំណត់ files បានផ្តល់នៅក្នុង exampវាទាក់ទងនឹងបន្ទះបង្ហាញឧបករណ៍បញ្ជា NFC ។ ទាំងនេះ files ត្រូវតែត្រូវបានអនុម័តដោយយោងទៅតាមការរួមបញ្ចូលគោលដៅ។
ទាំងបួន files ត្រូវតែត្រូវបានរុញទៅទីតាំងជាក់លាក់។
តារាងទី 3. ទីតាំងនៃការកំណត់រចនាសម្ព័ន្ធ files
ឈ្មោះនៃការកំណត់រចនាសម្ព័ន្ធ file | ទីតាំងនៅក្នុងឧបករណ៍ |
libemvco-nxp.conf | អ្នកលក់/ល។ |
libnfc-nci.conf | អ្នកលក់/ល។ |
libnfc-nxp.conf | ប្រព័ន្ធ / ល |
libnfc-nxp-eeprom.conf | អ្នកលក់/ល។ |
libnfc-nxp-eeprom.conf
តារាង 4. ការពន្យល់ libnfc-nxp-eeprom.conf
ឈ្មោះ | ការពន្យល់ | តម្លៃលំនាំដើម |
NXP_SYS_CLK_ SRC_SEL |
ការកំណត់រចនាសម្ព័ន្ធការជ្រើសរើសប្រភពនាឡិកាប្រព័ន្ធ | 0x01 |
NXP_SYS_CLK_ FREQ_SEL |
ការកំណត់រចនាសម្ព័ន្ធការជ្រើសរើសប្រេកង់នាឡិកាប្រព័ន្ធ | 0x08 |
NXP_ENABLE_ DISABLE_STANBY |
ជម្រើសដើម្បីបើក ឬបិទរបៀបរង់ចាំ | 0x00 |
NXP_ENABLE_ DISABLE_LPCD |
ជម្រើសដើម្បីបើក ឬបិទ LPCD ។ | 0x00 |
ចំណាំ៖ ប្រសិនបើមិនមាននាឡិកាដែលបានកំណត់ទេ ទាំង PLL ឬ Xtal នោះជង់ MW ព្យាយាមម្តងទៀតនៅក្នុងរង្វិលជុំមួយដើម្បីទទួលបាននាឡិកា និងចាប់ផ្តើមដោយជោគជ័យ។ libnfc-nci.conf
តារាង 5. ការពន្យល់ libnfc-nci.conf
ឈ្មោះ | ការពន្យល់ | តម្លៃលំនាំដើម |
APPL_TRACE_LEVEL | កំណត់ហេតុកម្រិតសម្រាប់ libnfc-nci | 0xFF |
PROTOCOL_TRACE_LEVEL | កំណត់ហេតុកម្រិតសម្រាប់ libnfc-nci | 0xFFFFFFFF |
NFC_DEBUG_ENABLED | ការកំណត់បើកដំណើរការបំបាត់បញ្ហា NFC | 0x01 |
NFA_STORAGE | កំណត់ថតគោលដៅសម្រាប់ NFC file ការផ្ទុក | /data/អ្នកលក់/nfc |
HOST_LISTEN_TECH_MASK | កំណត់រចនាសម្ព័ន្ធមុខងារស្តាប់ម៉ាស៊ីន | 0x07 |
NCI_HAL_MODULE | ឈ្មោះម៉ូឌុល NCI HAL | nfc_nci.pn54x |
POLLING_TECH_MASK | ការកំណត់រចនាសម្ព័ន្ធនៃបច្ចេកវិទ្យាបោះឆ្នោត | 0x0F |
តារាងទី 5. ការពន្យល់ libnfc-nci.conf… បន្ត
ឈ្មោះ | ការពន្យល់ | តម្លៃលំនាំដើម |
P2P_LISTEN_TECH_MASK | P2P មិនត្រូវបានគាំទ្រនៅក្នុង PN7220 ទេ។ | 0xC5 |
PRESERVE_STORAGE | ផ្ទៀងផ្ទាត់ខ្លឹមសារនៃហាងដែលមិនងាយប្រែប្រួលទាំងអស់។ | 0x01 |
AID_MATCHING_MODE | ផ្តល់វិធីផ្សេងគ្នាដើម្បីផ្គូផ្គង AID | 0x03 |
NFA_MAX_EE_SUPPORTED | លេខដែលគាំទ្រ EE អតិបរមា | 0x01 |
OFFHOST_AID_ROUTE_PWR_STATE | កំណត់ស្ថានភាពដែលគាំទ្រ OffHost AID | ០x១ ប៊ី |
តារាង 6. ការពន្យល់ libnfc-nxp.conf
ឈ្មោះ | ការពន្យល់ | តម្លៃលំនាំដើម |
NXPLOG_EXTNS_LOGLEVEL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់កម្រិតការកត់ត្រា extns | 0x03 |
NXPLOG_NCIHAL_LOGLEVEL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកការកត់ត្រា HAL | 0x03 |
NXPLOG_NCIX_LOGLEVEL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកការកត់ត្រាកញ្ចប់ព័ត៌មាន NCI TX | 0x03 |
NXPLOG_NCIR_LOGLEVEL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកការកត់ត្រាកញ្ចប់ព័ត៌មាន NCI RX | 0x03 |
NXPLOG_FWDNLD_LOGLEVEL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកដំណើរការការកត់ត្រាមុខងារទាញយក FW | 0x03 |
NXPLOG_TML_LOGLEVEL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកការកត់ត្រា TM | 0x03 |
NXP_NFC_DEV_NODE | ឈ្មោះថ្នាំងឧបករណ៍ NFC | idev/rixpnfc” |
MIFARE_READER_ENABLE | ផ្នែកបន្ថែមសម្រាប់អ្នកអាន NFC សម្រាប់ MIFARE បើក | អុក ១៦៥ |
NXP_FW_TYPE | កម្មវិធីបង្កប់ file ប្រភេទ | អុក ១៦៥ |
NXP_I2C_FRAGMENTATION_ បានបើក | កំណត់រចនាសម្ព័ន្ធការបែងចែក 12C | 0x00 |
NFA_PROPRIETARY_CFG | កំណត់ការកំណត់រចនាសម្ព័ន្ធកម្មសិទ្ធិរបស់អ្នកលក់ | {05, FF, FF, 06, 81, 80, 70, FF, FF} |
NXP_EXT_TVDD_CFG | កំណត់របៀបកំណត់រចនាសម្ព័ន្ធ TVDD | 0x02 |
NXP_EXT TVDD_CFG_1 | កំណត់រចនាសម្ព័ន្ធការកំណត់ TVDD យោងទៅតាមរបៀប TVDD ដែលបានជ្រើសរើស | ពិនិត្យមើលការកំណត់ file |
NXP_EXT_TVDD_CFG_2 | កំណត់រចនាសម្ព័ន្ធការកំណត់ TVDD យោងទៅតាមរបៀប TVDD ដែលបានជ្រើសរើស | ពិនិត្យមើលការកំណត់ file |
NXP_CORE_CONF | កំណត់រចនាសម្ព័ន្ធផ្នែកស្តង់ដារនៃឧបករណ៍បញ្ជា NFC | { 20, 02, 07, 02, 21, 01, 01, 18, 01, 02 } |
NXP_CORE_CONF_EXTN | កំណត់រចនាសម្ព័ន្ធផ្នែកដែលមានកម្មសិទ្ធិរបស់ឧបករណ៍បញ្ជា NFC | {00, 00, 00, 00} |
NXP_SET_CONFIG_ALWAYS | ផ្ញើ CORE_CONF និង CORE_CONF_EXTN ជានិច្ច (មិនណែនាំឱ្យបើកវាទេ។) | អុក ១៦៥ |
NXP_RF_CONF_BLK_1 | ការកំណត់ RF | ពិនិត្យមើលការកំណត់ file |
ISO_DEP_MAX_TRANSCEIVE | កំណត់ប្រវែង APDU ដែលបានពង្រីក ISO-DEP អតិបរមា | OxFEFF |
PRESENCE_CHECK_ALGORITHM | កំណត់ក្បួនដោះស្រាយដែលប្រើសម្រាប់នីតិវិធីត្រួតពិនិត្យវត្តមាន T4T | 2 |
NXP_FLASH_CONFIG | ការកំណត់រចនាសម្ព័ន្ធជម្រើសពន្លឺ | 0x02 |
តារាង 7. ការពន្យល់ libemvco-nxp.conf
ឈ្មោះ | ការពន្យល់ | តម្លៃលំនាំដើម |
NXP LOG EXTNS LOGLEVEL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់កម្រិតការកត់ត្រា extns | 0x03 |
NXP LOGLEVEL NCIHAL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកការកត់ត្រា HAL | 0x03 |
NXP LOGLEVEL NCIX | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកការកត់ត្រាកញ្ចប់ព័ត៌មាន NCI TX | 0x03 |
NXP LOGLEVEL NCIR | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកការកត់ត្រាកញ្ចប់ព័ត៌មាន NCI RX | 0x03 |
NXP LOG TML LOGLEVEL | ការកំណត់រចនាសម្ព័ន្ធសម្រាប់បើកការកត់ត្រា TML | 0x03 |
NXP_EMVCO_DEBUG_ENABLED | បើកការកែកំហុស | 0x03 |
NXP EMVCO DEV NoDE | ឈ្មោះថ្នាំងឧបករណ៍ EMVCo | “/dev/nxpnfc” |
ការកំណត់ NXP PCD | ការកំណត់រចនាសម្ព័ន្ធដើម្បីកំណត់ការពន្យារពេលបោះឆ្នោតរវាង 2 ដំណាក់កាល | (20, 02, 07, 01, A0, 64, 03, EC, 13, 06) |
NXP កំណត់ការកំណត់ | ជម្រើសដើម្បីកំណត់ពាក្យបញ្ជា config សម្រាប់គោលបំណងបំបាត់កំហុស | ពិនិត្យមើលការកំណត់ file |
NXP ទទួលបានការកំណត់ | ជម្រើសដើម្បីទទួលបានពាក្យបញ្ជា config សម្រាប់គោលបំណងបំបាត់កំហុស | ពិនិត្យមើលការកំណត់ file |
3.6 កម្មវិធី DTA
ដើម្បីអនុញ្ញាតឱ្យធ្វើតេស្តវិញ្ញាបនប័ត្រវេទិកា NFC កម្មវិធីសាកល្បងឧបករណ៍ត្រូវបានផ្តល់ជូន។ វាត្រូវបានផ្សំឡើងដោយសមាសធាតុជាច្រើននៅក្នុងស្រទាប់ Android ផ្សេងៗគ្នា ដែលត្រូវតែបង្កើត និងរួមបញ្ចូលនៅក្នុងរូបភាព Android ។
ដើម្បីជំរុញកម្មវិធី DTA យើងត្រូវអនុវត្តតាមជំហានបន្ទាប់៖
- ចម្លង DTA ទាំងអស់។ files ទៅទីតាំងមួយ។
$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 - រុញប្រព័ន្ធគោលពីរទៅឧបករណ៍ដូចខាងក្រោម
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 ជំរុញ NxpDTA.apk /system/app/NxpDTA/
បន្ទាប់ពីបង្ហាញគោលដៅ កម្មវិធី DTA គួរតែមានវត្តមាននៅក្នុងបញ្ជីកម្មវិធីដែលបានដំឡើង។ ពិនិត្យ UG សម្រាប់ការពិពណ៌នាលម្អិតអំពីរបៀបប្រើកម្មវិធី។
i.MX 8M Nano porting
ក្នុងនាមជាអតីតampដូច្នេះ យើងបង្ហាញពីអ្វីដែលច្រកទៅកាន់វេទិកា i.MX 8M មើលទៅដូច។ ដើម្បីទទួលបានព័ត៌មានបន្ថែម សូមពិនិត្យមើល [3] ។
4.1 ផ្នែករឹង
នៅពេលនេះ NXP មិនផ្តល់បន្ទះអាដាប់ទ័រទេ។ ពិនិត្យមើលតារាងទី 8 ដើម្បីមើលពីរបៀបភ្ជាប់ក្តារជាមួយខ្សែ។
តារាងទី 8. ការតភ្ជាប់ PN7220 ទៅ i.MX 8M Nano
លេខសម្ងាត់ | PN7220 | i.MX 8M NANO |
VEN | J27–7 | J003–40 |
IRQ ។ | J27–6 | J003–37 |
អេសឌីអេ | J27–3 | J003–3 |
SCL | J27–2 | J003–5 |
MODE_SWITCH | J43–32 | J003–38 |
GND | J27–1 | J003–39 |
៨.៣ សូហ្វវែរ
ជំហានដែលបានពិពណ៌នានៅក្នុងផ្នែកនេះពន្យល់ពីរបៀបដែលយើងអាចច្រក PN7200 ទៅកាន់វេទិកា i.MX 8M Nano ។ ជំហានដូចគ្នាជាមួយនឹងការកែប្រែបន្តិចបន្តួច វាអាចត្រូវបានប្រើដើម្បីច្រកទៅកាន់ DH ផ្សេងទៀតដែលកំពុងដំណើរការប្រព័ន្ធប្រតិបត្តិការ Android ។
ចំណាំ៖ នៅក្នុង porting exampដូច្នេះ យើងកំពុងប្រើ 13.0.0_1.0.0_Android_Source។
យើងអាចប្រើបំណះដែលទាក់ទងនឹងកូដ AOSP ឡើងវិញ។ អ្វីដែលត្រូវផ្លាស់ប្តូរគឺ៖
- មែកធាងឧបករណ៍ (ក្នុង i.MX 8M Nano នេះគឺជា AROOT_vendor_nxp-opensource_imx_kernel.patch)
- បំណះជាក់លាក់ឧបករណ៍ (ក្នុង i.MX 8M Nano នេះគឺជា AROOT_device_nxp.patch)
នៅក្នុង AROOT_vendor_nxp-opensource_imx_kernel.patch យើងអាចមើលឃើញពីរបៀបដែលកម្មវិធីបញ្ជាត្រូវបានរួមបញ្ចូល និងរបៀបដែលមែកធាងឧបករណ៍ត្រូវបានបង្កើតឡើង។ នេះគឺជាក់លាក់សម្រាប់រាល់ឧបករណ៍ម៉ាស៊ីន ដោយសារយើងត្រូវយកចិត្តទុកដាក់លើការកំណត់រចនាសម្ព័ន្ធម្ជុល ហើយនេះគឺខុសគ្នារវាងក្តារ។ យើងក៏ត្រូវយកចិត្តទុកដាក់លើការកំណត់រចនាសម្ព័ន្ធម៉ឺនុយផងដែរ។
នៅក្នុង AROOT_device_nxp.patch យើងរួមបញ្ចូល nfc ទៅក្នុង build ។ ជាទូទៅ យើងកំពុងធ្វើឱ្យប្រាកដថា សេវាកម្មទាំងអស់ត្រូវបានរួមបញ្ចូលយ៉ាងត្រឹមត្រូវ ។
អ្វីមួយបន្ថែមទៀតដែលយើងបានធ្វើក្នុងការច្រកគឺមានទីតាំងនៅក្នុង device-nfc.mk file:
យើងត្រូវបញ្ចេញមតិលើបន្ទាត់ខាងក្រោម៖
# BOARD_SEPOLICY_DIRS += អ្នកលក់/$(NXP_VENDOR_DIR)/nfc/sepolicy \\
# អ្នកលក់/$(NXP_VENDOR_DIR)/nfc/sepolicy/nfc
ហេតុផលសម្រាប់ការនេះគឺថាយើងរួមបញ្ចូល sepolicy នៅក្នុង BoardConfig.mk ជាក់លាក់ឧបករណ៍ file. ជំហានដើម្បីបង្កើតរូបភាព៖
> ទទួលបានលេខកូដ AOSP សម្រាប់ i.MX8M Nano
> បង្កើត AOSP
> ទទួលបានបំណះ NXP ([5])
> អនុវត្តបំណះទាំងអស់ជាមួយ install_nfc.sh
> cd framework/base
> ម
> ស៊ីឌី ../..
> ស៊ីឌីអ្នកលក់/nxp/frameworks
> mm #បន្ទាប់ពីមួយនេះ យើងគួរតែឃើញ com.nxp.emvco.jar នៅខាងក្នុង out/target/product/ imx8mn/system/framwework/
> ស៊ីឌី ../../..
> cd hardware/nxp/nfc
> ម
> ស៊ីឌី ../../..
> ធ្វើ
> ទាញយករូបភាព ហើយប្រើឧបករណ៍ uuu ដើម្បីបញ្ចេញពន្លឺ i.MX8M Nano
អក្សរកាត់
តារាង 9. អក្សរកាត់
អក្សរកាត់ | ការពិពណ៌នា |
APDU | ឯកតាទិន្នន័យពិធីការកម្មវិធី |
AOSP | គម្រោងប្រភពបើកចំហរបស់ Android |
DH | ម៉ាស៊ីនឧបករណ៍ |
ហាល | ស្រទាប់អរូបីផ្នែករឹង |
FW | កម្មវិធីបង្កប់ |
I2C | សៀគ្វីរួមបញ្ចូលគ្នា |
LPCD | ការរកឃើញកាតដែលមានថាមពលទាប |
NCI | ចំណុចប្រទាក់ឧបករណ៍បញ្ជា NFC |
ប្រព័ន្ធ NFC | នៅជិតវាលគមនាគមន៍ |
MW | ឧបករណ៍កណ្តាល |
PLL | រង្វិលជុំចាក់សោដំណាក់កាល |
P2P | peer to peer |
RF | ប្រេកង់វិទ្យុ |
អេសឌីអេ | ទិន្នន័យសៀរៀល |
SMCU | microcontroller សុវត្ថិភាព |
SW | កម្មវិធី |
ឯកសារយោង
[1] AOSP r3 tag: https://android.googlesource.com/platform/manifest-b ប្រព័ន្ធប្រតិបត្តិការ Android-13.0.0_r3[2] ឧបករណ៍គ្រប់គ្រងប្រភព៖ 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៖ https://github.com/NXPNFCLinux/nxpnfc/tree/PN7220-Driver
[5] PN7220 MW៖ https://github.com/NXPNFCLinux/PN7220_Android13
ចំណាំអំពីកូដប្រភពនៅក្នុងឯកសារ
Example កូដដែលបង្ហាញក្នុងឯកសារនេះមានសិទ្ធិរក្សាសិទ្ធិ និង BSD-3-Clause ដូចខាងក្រោម៖
រក្សាសិទ្ធិ 2023 NXP ការចែកចាយឡើងវិញ និងការប្រើប្រាស់ក្នុងទម្រង់ប្រភព និងប្រព័ន្ធគោលពីរ ដោយមានឬគ្មានការកែប្រែ ត្រូវបានអនុញ្ញាត ផ្តល់លក្ខខណ្ឌដូចខាងក្រោមត្រូវបានបំពេញ៖
- ការចែកចាយឡើងវិញនៃកូដប្រភពត្រូវតែរក្សាការជូនដំណឹងអំពីការរក្សាសិទ្ធិខាងលើ បញ្ជីលក្ខខណ្ឌ និងការបដិសេធខាងក្រោម។
- ការចែកចាយឡើងវិញក្នុងទម្រង់គោលពីរត្រូវតែបង្កើតឡើងវិញនូវការជូនដំណឹងអំពីការរក្សាសិទ្ធិខាងលើ បញ្ជីនៃលក្ខខណ្ឌ និងការមិនទទួលខុសត្រូវខាងក្រោមនៅក្នុងឯកសារ និង/ឬសម្ភារៈផ្សេងទៀតត្រូវតែផ្តល់ជូនជាមួយនឹងការចែកចាយ។
- ទាំងឈ្មោះអ្នករក្សាសិទ្ធិនិងឈ្មោះអ្នកចូលរួមរបស់វាមិនអាចត្រូវបានប្រើដើម្បីគាំទ្រឬផ្សព្វផ្សាយផលិតផលដែលបានមកពីកម្មវិធីនេះដោយគ្មានការអនុញ្ញាតជាលាយលក្ខណ៍អក្សរជាមុន។
កម្មវិធីនេះត្រូវបានផ្តល់ដោយអ្នកកាន់កាប់សិទ្ធិអ្នកនិពន្ធ និងអ្នករួមវិភាគទាន "ដូចដែលមាន" និងការធានាណាមួយដែលបញ្ជាក់ ឬដោយប្រយោល រួមទាំង ប៉ុន្តែមិនកំណត់ចំពោះ ការធានាដោយអត្ថន័យនៃទំនិញគ្រប់គ្រាន់ ត្រូវបានបដិសេធ។ ក្នុងករណីណាក៏ដោយ អ្នកកាន់កាប់សិទ្ធិថតចម្លង ឬអ្នករួមចំណែកត្រូវទទួលខុសត្រូវចំពោះការខូចខាតដោយផ្ទាល់ ប្រយោល ចៃដន្យ ពិសេស គំរូ ឬការខូចខាតជាលទ្ធផល (រួមទាំង ប៉ុន្តែមិនកំណត់ចំពោះផ្នែករដ្ឋបាល សេវាកម្ម ការបាត់បង់ការប្រើប្រាស់ ទិន្នន័យ ឬប្រាក់ចំណេញ ឬការរំខានអាជីវកម្ម) ទោះជាបណ្តាលមកពី និងលើទ្រឹស្ដីទំនួលខុសត្រូវណាមួយ ទោះជាក្នុងកិច្ចសន្យា ទំនួលខុសត្រូវយ៉ាងតឹងរ៉ឹង ឬការបង្ខិតបង្ខំ (រួមទាំងការបិទសិទ្ធិប្រើប្រាស់)។ ការប្រើប្រាស់កម្មវិធីនេះ ទោះបីជាមានការណែនាំអំពីលទ្ធភាពនៃការខូចខាតបែបនេះក៏ដោយ។
ព័ត៌មានផ្លូវច្បាប់
8.1 និយមន័យ
សេចក្តីព្រាង - ស្ថានភាពព្រាងនៅលើឯកសារបង្ហាញថាខ្លឹមសារនៅតែស្ថិតក្រោមការកែប្រែផ្ទៃក្នុងview និងស្ថិតនៅក្រោមការយល់ព្រមជាផ្លូវការ ដែលអាចបណ្តាលឱ្យមានការកែប្រែ ឬបន្ថែម។ NXP Semiconductors មិនផ្តល់ការតំណាង ឬការធានាណាមួយអំពីភាពត្រឹមត្រូវ ឬពេញលេញនៃព័ត៌មានដែលរួមបញ្ចូលនៅក្នុងកំណែព្រាងនៃឯកសារ ហើយនឹងមិនទទួលខុសត្រូវចំពោះផលវិបាកនៃការប្រើប្រាស់ព័ត៌មាននោះទេ។
៩.២ ការបដិសេធ
ការធានា និងការទទួលខុសត្រូវមានកំណត់ — ព័ត៌មាននៅក្នុងឯកសារនេះត្រូវបានគេជឿថាមានភាពត្រឹមត្រូវ និងអាចទុកចិត្តបាន។ ទោះជាយ៉ាងណាក៏ដោយ NXP Semiconductors មិនផ្តល់ការតំណាង ឬការធានាណាមួយដែលបានបង្ហាញ ឬបង្កប់ន័យចំពោះភាពត្រឹមត្រូវ ឬពេញលេញនៃព័ត៌មាននោះទេ ហើយនឹងមិនទទួលខុសត្រូវចំពោះផលវិបាកនៃការប្រើប្រាស់ព័ត៌មាននោះទេ។ NXP Semiconductors មិនទទួលខុសត្រូវចំពោះខ្លឹមសារនៅក្នុងឯកសារនេះទេ ប្រសិនបើផ្តល់ដោយប្រភពព័ត៌មាននៅខាងក្រៅ NXP Semiconductors។
គ្មានព្រឹត្តិការណ៍ណាមួយដែល NXP Semiconductors ទទួលខុសត្រូវចំពោះការខូចខាតដោយប្រយោល ចៃដន្យ ការដាក់ទណ្ឌកម្ម ពិសេស ឬជាលទ្ធផល (រួមទាំង - ដោយគ្មានដែនកំណត់ ការបាត់បង់ប្រាក់ចំណេញ ការសន្សំដែលបាត់បង់ ការរំខានអាជីវកម្ម ការចំណាយទាក់ទងនឹងការដកចេញ ឬការជំនួសផលិតផល ឬថ្លៃការងារឡើងវិញ) ថាតើ ឬ ការខូចខាតបែបនេះមិនមែនផ្អែកលើការធ្វើទារុណកម្ម (រួមទាំងការធ្វេសប្រហែស) ការធានា ការបំពានកិច្ចសន្យា ឬទ្រឹស្តីច្បាប់ផ្សេងទៀតណាមួយឡើយ។
ទោះបីជាការខូចខាតណាមួយដែលអតិថិជនអាចកើតឡើងដោយហេតុផលណាមួយក៏ដោយ ទំនួលខុសត្រូវសរុបរបស់ NXP Semiconductors ចំពោះអតិថិជនចំពោះផលិតផលដែលបានពិពណ៌នានៅទីនេះ នឹងត្រូវកំណត់ដោយអនុលោមតាមលក្ខខណ្ឌនៃការលក់ពាណិជ្ជកម្មរបស់ NXP Semiconductors ។
សិទ្ធិធ្វើការផ្លាស់ប្តូរ - NXP Semiconductors រក្សាសិទ្ធិដើម្បីធ្វើការផ្លាស់ប្តូរព័ត៌មានដែលបានបោះពុម្ពផ្សាយនៅក្នុងឯកសារនេះ រួមទាំងការពិពណ៌នាអំពីផលិតផលដោយគ្មានដែនកំណត់ គ្រប់ពេលវេលា និងដោយគ្មានការជូនដំណឹងជាមុន។ ឯកសារនេះជំនួស និងជំនួសព័ត៌មានទាំងអស់ដែលបានផ្តល់មុនការបោះពុម្ពផ្សាយនៅទីនេះ។
ភាពស័ក្តិសមសម្រាប់ការប្រើប្រាស់ - ផលិតផល NXP Semiconductors មិនត្រូវបានរចនា អនុញ្ញាត ឬធានាឱ្យមានលក្ខណៈសមរម្យសម្រាប់ប្រើប្រាស់ក្នុងការគាំទ្រជីវិត ប្រព័ន្ធ ឬឧបករណ៍ដែលមានសារៈសំខាន់សម្រាប់ជីវិត ឬសុវត្ថិភាព ឬនៅក្នុងកម្មវិធីដែលការបរាជ័យ ឬដំណើរការខុសប្រក្រតីនៃផលិតផល NXP Semiconductors អាចរំពឹងទុកដោយហេតុផលថានឹងមានលទ្ធផលនៅក្នុង ការរងរបួសផ្ទាល់ខ្លួន ការស្លាប់ ឬទ្រព្យសម្បត្តិធ្ងន់ធ្ងរ ឬការខូចខាតបរិស្ថាន។ NXP Semiconductors និងអ្នកផ្គត់ផ្គង់របស់ខ្លួនមិនទទួលខុសត្រូវចំពោះការដាក់បញ្ចូល និង/ឬការប្រើប្រាស់ផលិតផល NXP Semiconductors នៅក្នុងឧបករណ៍ ឬកម្មវិធីនោះទេ ដូច្នេះការដាក់បញ្ចូល និង/ឬការប្រើប្រាស់បែបនេះគឺស្ថិតក្នុងហានិភ័យផ្ទាល់ខ្លួនរបស់អតិថិជន។
កម្មវិធី - កម្មវិធីដែលត្រូវបានពិពណ៌នានៅទីនេះសម្រាប់ផលិតផលណាមួយគឺសម្រាប់គោលបំណងបង្ហាញតែប៉ុណ្ណោះ។ NXP Semiconductors មិនធ្វើតំណាង ឬការធានាថាកម្មវិធីបែបនេះនឹងសាកសមសម្រាប់ការប្រើប្រាស់ដែលបានបញ្ជាក់ដោយមិនចាំបាច់ធ្វើតេស្ត ឬកែប្រែបន្ថែម។ អតិថិជនត្រូវទទួលខុសត្រូវចំពោះការរចនា និងប្រតិបត្តិការនៃកម្មវិធី និងផលិតផលរបស់ពួកគេដោយប្រើប្រាស់ផលិតផល NXP Semiconductors ហើយ NXP Semiconductors មិនទទួលខុសត្រូវចំពោះជំនួយណាមួយជាមួយកម្មវិធី ឬការរចនាផលិតផលរបស់អតិថិជនឡើយ។ វាជាទំនួលខុសត្រូវតែមួយគត់របស់អតិថិជនក្នុងការកំណត់ថាតើផលិតផល NXP Semiconductors មានលក្ខណៈសមរម្យ និងសមនឹងកម្មវិធី និងផលិតផលរបស់អតិថិជនដែលបានគ្រោងទុក ក៏ដូចជាសម្រាប់កម្មវិធីដែលបានគ្រោងទុក និងការប្រើប្រាស់អតិថិជនភាគីទីបីរបស់អតិថិជនផងដែរ។ អតិថិជនគួរតែផ្តល់នូវការរចនា និងការការពារប្រតិបត្តិការសមស្រប ដើម្បីកាត់បន្ថយហានិភ័យដែលទាក់ទងនឹងកម្មវិធី និងផលិតផលរបស់ពួកគេ។
NXP Semiconductors មិនទទួលយកទំនួលខុសត្រូវណាមួយដែលទាក់ទងនឹងលំនាំដើម ការខូចខាត ការចំណាយ ឬបញ្ហាដែលផ្អែកលើភាពទន់ខ្សោយ ឬលំនាំដើមណាមួយនៅក្នុងកម្មវិធី ឬផលិតផលរបស់អតិថិជន ឬកម្មវិធី ឬការប្រើប្រាស់ដោយអតិថិជនភាគីទីបីរបស់អតិថិជននោះទេ។ អតិថិជនមានទំនួលខុសត្រូវក្នុងការធ្វើតេស្តចាំបាច់ទាំងអស់សម្រាប់កម្មវិធី និងផលិតផលរបស់អតិថិជនដោយប្រើផលិតផល NXP Semiconductors ដើម្បីជៀសវាងការបរាជ័យនៃកម្មវិធី និងផលិតផល ឬនៃកម្មវិធី ឬប្រើប្រាស់ដោយអតិថិជនភាគីទីបីរបស់អតិថិជន។ NXP មិនទទួលយកការទទួលខុសត្រូវណាមួយក្នុងន័យនេះទេ។
ល័ក្ខខ័ណ្ឌនៃការលក់ពាណិជ្ជកម្ម - ផលិតផល NXP Semiconductors ត្រូវបានលក់តាមលក្ខខណ្ឌទូទៅនៃការលក់ពាណិជ្ជកម្ម ដូចដែលបានចុះផ្សាយនៅ http://www.nxp.com/profile/termsលុះត្រាតែមានការព្រមព្រៀងផ្សេងពីនេះក្នុងកិច្ចព្រមព្រៀងបុគ្គលដែលមានសុពលភាពជាលាយលក្ខណ៍អក្សរ។ ក្នុងករណីកិច្ចព្រមព្រៀងបុគ្គលត្រូវបានបញ្ចប់ មានតែលក្ខខណ្ឌនៃកិច្ចព្រមព្រៀងរៀងៗខ្លួនប៉ុណ្ណោះដែលត្រូវអនុវត្ត។ NXP Semiconductors សម្តែងការជំទាស់ចំពោះការអនុវត្តលក្ខខណ្ឌទូទៅរបស់អតិថិជនទាក់ទងនឹងការទិញផលិតផល NXP Semiconductors ដោយអតិថិជន។
ការត្រួតពិនិត្យការនាំចេញ - ឯកសារនេះក៏ដូចជាធាតុដែលបានពិពណ៌នានៅទីនេះអាចជាកម្មវត្ថុនៃបទប្បញ្ញត្តិត្រួតពិនិត្យការនាំចេញ។ ការនាំចេញអាចទាមទារការអនុញ្ញាតជាមុនពីអាជ្ញាធរមានសមត្ថកិច្ច។
ភាពស័ក្តិសមសម្រាប់ប្រើប្រាស់ក្នុងផលិតផលដែលមិនមានគុណភាពសម្រាប់រថយន្ត — លុះត្រាតែឯកសារនេះបញ្ជាក់យ៉ាងច្បាស់ថាផលិតផល NXP Semiconductors ជាក់លាក់នេះគឺមានលក្ខណៈសម្បត្តិគ្រប់គ្រាន់សម្រាប់យានយន្តនោះ ផលិតផលមិនស័ក្តិសមសម្រាប់ការប្រើប្រាស់រថយន្តទេ។ វាមិនមានលក្ខណៈសម្បត្តិគ្រប់គ្រាន់ ឬត្រូវបានសាកល្បងដោយអនុលោមតាមការធ្វើតេស្តរថយន្ត ឬតម្រូវការកម្មវិធី NXP Semiconductors មិនទទួលខុសត្រូវចំពោះការរួមបញ្ចូល និង/ឬការប្រើប្រាស់ផលិតផលដែលមិនមានគុណភាពសម្រាប់រថយន្តនៅក្នុងឧបករណ៍ ឬកម្មវិធីរថយន្ត។
ក្នុងករណីដែលអតិថិជនប្រើប្រាស់ផលិតផលសម្រាប់ការរចនា និងប្រើប្រាស់ក្នុងកម្មវិធីរថយន្តទៅនឹងលក្ខណៈបច្ចេកទេស និងស្តង់ដាររថយន្ត អតិថិជន (ក) ត្រូវប្រើប្រាស់ផលិតផលដោយគ្មានការធានារបស់ NXP Semiconductors នៃផលិតផលសម្រាប់កម្មវិធីរថយន្ត ការប្រើប្រាស់ និងលក្ខណៈបច្ចេកទេស និង ( ខ) រាល់ពេលដែលអតិថិជនប្រើប្រាស់ផលិតផលសម្រាប់កម្មវិធីរថយន្តលើសពីលក្ខណៈបច្ចេកទេសរបស់ NXP Semiconductors ការប្រើប្រាស់បែបនេះត្រូវប្រឈមមុខនឹងហានិភ័យផ្ទាល់របស់អតិថិជន ហើយ (គ) អតិថិជននឹងសងសំណងទាំងស្រុងនូវ NXP Semiconductors សម្រាប់ការទទួលខុសត្រូវ ការខូចខាត ឬការទាមទារផលិតផលដែលបរាជ័យដែលបណ្តាលមកពីការរចនា និងការប្រើប្រាស់របស់អតិថិជន។ ផលិតផលសម្រាប់កម្មវិធីរថយន្តលើសពីការធានាស្តង់ដាររបស់ NXP Semiconductors និងផលិតផលជាក់លាក់របស់ NXP Semiconductors ។
ផលិតផលវាយតម្លៃ - ផលិតផលនេះត្រូវបានផ្តល់ជូននៅលើមូលដ្ឋាន "ដូចដែលមាន" និង "ជាមួយនឹងកំហុសទាំងអស់" សម្រាប់គោលបំណងវាយតម្លៃតែប៉ុណ្ណោះ។ NXP Semiconductors សាខារបស់ខ្លួន និងអ្នកផ្គត់ផ្គង់របស់ពួកគេបដិសេធយ៉ាងច្បាស់លាស់នូវការធានាទាំងអស់ ទោះជាការបង្ហាញ បង្កប់ន័យ ឬច្បាប់ រួមទាំងប៉ុន្តែមិនកំណត់ចំពោះការធានាដោយបង្កប់ន័យនៃការមិនរំលោភបំពាន ភាពអាចធ្វើជំនួញ និងសម្បទាសម្រាប់គោលបំណងជាក់លាក់ណាមួយ។ ហានិភ័យទាំងស្រុងចំពោះគុណភាព ឬដែលកើតចេញពីការប្រើប្រាស់ ឬដំណើរការនៃផលិតផលនេះនៅតែមានជាមួយអតិថិជន។
នៅក្នុងព្រឹត្តិការណ៍ណាមួយដែល NXP Semiconductors សាខារបស់ខ្លួន ឬអ្នកផ្គត់ផ្គង់របស់ពួកគេត្រូវទទួលខុសត្រូវចំពោះអតិថិជនចំពោះការខូចខាតពិសេស ប្រយោល ផលវិបាក ការដាក់ទណ្ឌកម្ម ឬដោយចៃដន្យ (រួមទាំងការខូចខាតដោយគ្មានដែនកំណត់សម្រាប់ការបាត់បង់អាជីវកម្ម ការរំខានអាជីវកម្ម ការបាត់បង់ការប្រើប្រាស់ ការបាត់បង់ទិន្នន័យ ឬព័ត៌មាន។ និងផ្សេងទៀត) ដែលកើតឡើងពីការប្រើប្រាស់ ឬអសមត្ថភាពក្នុងការប្រើប្រាស់ផលិតផល ទោះឬអត់
ផ្អែកលើការធ្វើទារុណកម្ម (រួមទាំងការធ្វេសប្រហែស) ទំនួលខុសត្រូវយ៉ាងតឹងរឹង ការបំពានកិច្ចសន្យា ការរំលោភលើការធានា ឬទ្រឹស្តីផ្សេងទៀត ទោះបីជាត្រូវបានណែនាំអំពីលទ្ធភាពនៃការខូចខាតបែបនេះក៏ដោយ។ ទោះបីជាការខូចខាតណាមួយដែលអតិថិជនអាចកើតឡើងដោយហេតុផលណាមួយក៏ដោយ (រួមទាំងដោយគ្មានដែនកំណត់ ការខូចខាតទាំងអស់ដែលបានយោងខាងលើ និងការខូចខាតដោយផ្ទាល់ ឬទូទៅទាំងអស់) ទំនួលខុសត្រូវទាំងស្រុងរបស់ NXP Semiconductors សាខារបស់ខ្លួន និងអ្នកផ្គត់ផ្គង់របស់ពួកគេ និងដំណោះស្រាយផ្តាច់មុខរបស់អតិថិជនសម្រាប់ការទាំងអស់ខាងលើនឹង ត្រូវបានកំណត់ចំពោះការខូចខាតជាក់ស្តែងដែលកើតឡើងដោយអតិថិជន ដោយផ្អែកលើការពឹងផ្អែកដ៏សមហេតុផលរហូតដល់ចំនួនទឹកប្រាក់ដែលអតិថិជនបានបង់ពិតប្រាកដសម្រាប់ផលិតផល ឬប្រាំដុល្លារ (5.00 ដុល្លារអាមេរិក)។ ដែនកំណត់ខាងលើ ការបដិសេធ និងការបដិសេធត្រូវអនុវត្តចំពោះវិសាលភាពអតិបរមាដែលអនុញ្ញាតដោយច្បាប់ជាធរមាន ទោះបីជាដំណោះស្រាយណាមួយបរាជ័យក្នុងគោលបំណងសំខាន់របស់វាក៏ដោយ។
ការបកប្រែ - កំណែដែលមិនមែនជាភាសាអង់គ្លេស (បកប្រែ) នៃឯកសារ រួមទាំងព័ត៌មានផ្លូវច្បាប់នៅក្នុងឯកសារនោះ គឺសម្រាប់ជាឯកសារយោងតែប៉ុណ្ណោះ។ កំណែជាភាសាអង់គ្លេសនឹងមានសុពលភាពក្នុងករណីមានភាពខុសគ្នារវាងកំណែដែលបានបកប្រែ និងភាសាអង់គ្លេស។
សន្តិសុខ - អតិថិជនយល់ថាផលិតផល NXP ទាំងអស់អាចទទួលរងនូវភាពងាយរងគ្រោះដែលមិនស្គាល់អត្តសញ្ញាណ ឬអាចគាំទ្រស្តង់ដារសុវត្ថិភាពដែលបានបង្កើតឡើង ឬលក្ខណៈជាក់លាក់ជាមួយនឹងដែនកំណត់ដែលគេស្គាល់។ អតិថិជនទទួលខុសត្រូវចំពោះការរចនា និងប្រតិបត្តិការនៃកម្មវិធី និងផលិតផលរបស់ខ្លួនពេញមួយវដ្តជីវិតរបស់ពួកគេ ដើម្បីកាត់បន្ថយឥទ្ធិពលនៃភាពងាយរងគ្រោះទាំងនេះលើកម្មវិធី និងផលិតផលរបស់អតិថិជន។ ទំនួលខុសត្រូវរបស់អតិថិជនក៏ពង្រីកដល់បច្ចេកវិទ្យាបើកចំហ និង/ឬកម្មសិទ្ធិផ្សេងទៀតដែលគាំទ្រដោយផលិតផល NXP សម្រាប់ប្រើប្រាស់ក្នុងកម្មវិធីរបស់អតិថិជន។ NXP មិនទទួលខុសត្រូវចំពោះភាពងាយរងគ្រោះណាមួយឡើយ។ អតិថិជនគួរតែពិនិត្យមើលការអាប់ដេតសុវត្ថិភាពពី NXP ជាទៀងទាត់ ហើយតាមដានដោយសមរម្យ។ អតិថិជនត្រូវជ្រើសរើសផលិតផលដែលមានលក្ខណៈពិសេសសុវត្ថិភាពដែលសមស្របបំផុតនឹងច្បាប់ បទប្បញ្ញត្តិ និងស្តង់ដារនៃកម្មវិធីដែលមានបំណង ហើយធ្វើការសម្រេចចិត្តរចនាចុងក្រោយទាក់ទងនឹងផលិតផលរបស់ខ្លួន ហើយទទួលខុសត្រូវទាំងស្រុងចំពោះការអនុលោមតាមតម្រូវការច្បាប់ និយតកម្ម និងសុវត្ថិភាពទាំងអស់ទាក់ទងនឹងផលិតផលរបស់ខ្លួន ដោយមិនគិតពី នៃព័ត៌មាន ឬជំនួយដែលអាចត្រូវបានផ្តល់ដោយ NXP ។
NXP មានក្រុមឆ្លើយតបឧប្បត្តិហេតុសុវត្ថិភាពផលិតផល (PSIRT) (អាចទាក់ទងបាននៅ PSIRT@nxp.com) ដែលគ្រប់គ្រងការស៊ើបអង្កេត ការរាយការណ៍ និងការចេញផ្សាយដំណោះស្រាយចំពោះភាពងាយរងគ្រោះផ្នែកសុវត្ថិភាពនៃផលិតផល NXP ។
NXP BV - NXP BV មិនមែនជាក្រុមហ៊ុនប្រតិបត្តិការទេ ហើយវាមិនចែកចាយ ឬលក់ផលិតផលទេ។
8.3 អាជ្ញាប័ណ្ណ
ការទិញ NXP ICs ជាមួយបច្ចេកវិទ្យា NFC — ការទិញ IC NXP Semiconductors IC ដែលអនុលោមតាមស្តង់ដារ Near Field Communication (NFC) មួយក្នុងចំណោមស្តង់ដារ ISO/IEC 18092 និង ISO/IEC 21481 មិនបង្ហាញពីអាជ្ញាប័ណ្ណដែលបង្កប់ក្រោមសិទ្ធិប៉ាតង់ណាមួយដែលត្រូវបានរំលោភបំពានដោយការអនុវត្ត ណាមួយនៃស្តង់ដារទាំងនោះ។ ការទិញ NXP Semiconductors IC មិនរួមបញ្ចូលអាជ្ញាប័ណ្ណចំពោះប៉ាតង់ NXP ណាមួយ (ឬសិទ្ធិ IP ផ្សេងទៀត) ដែលគ្របដណ្តប់ការបញ្ចូលគ្នានៃផលិតផលទាំងនោះជាមួយផលិតផលផ្សេងទៀត មិនថាផ្នែករឹង ឬផ្នែកទន់នោះទេ។
ពាណិជ្ជសញ្ញា ៧
សេចក្តីជូនដំណឹង៖ ម៉ាកដែលបានយោងទាំងអស់ ឈ្មោះផលិតផល ឈ្មោះសេវាកម្ម និងពាណិជ្ជសញ្ញា គឺជាកម្មសិទ្ធិរបស់ម្ចាស់រៀងៗខ្លួន។
NXP - ពាក្យ និងនិមិត្តសញ្ញាគឺជាពាណិជ្ជសញ្ញារបស់ NXP BV
EdgeVerse - គឺជាពាណិជ្ជសញ្ញារបស់ NXP BV
i.MX - គឺជាពាណិជ្ជសញ្ញារបស់ NXP BV
I2C-bus — និមិត្តសញ្ញាគឺជាពាណិជ្ជសញ្ញារបស់ NXP BV
Oracle និង Java — គឺជាពាណិជ្ជសញ្ញាដែលបានចុះបញ្ជីរបស់ Oracle និង/ឬសាខារបស់វា។
សូមជ្រាបថា ការជូនដំណឹងសំខាន់ៗទាក់ទងនឹងឯកសារនេះ និងផលិតផលដែលបានពិពណ៌នានៅទីនេះ ត្រូវបានដាក់បញ្ចូលក្នុងផ្នែក 'ព័ត៌មានផ្លូវច្បាប់'។
© 2023 NXP BV
សម្រាប់ព័ត៌មានបន្ថែម សូមចូលទៅកាន់៖ http://www.nxp.com
រក្សាសិទ្ធិគ្រប់យ៉ាង។
កាលបរិច្ឆេទចេញផ្សាយ៖ ២០ កញ្ញា ២០២២
អត្តសញ្ញាណឯកសារ៖ AN13971
AN13971
កំណត់ចំណាំកម្មវិធី
ព័ត៌មានទាំងអស់ដែលបានផ្តល់នៅក្នុងឯកសារនេះគឺជាកម្មវត្ថុនៃការបដិសេធផ្លូវច្បាប់។
ថ្ងៃទី 1.0 ដល់ថ្ងៃទី 18 ខែកញ្ញា ឆ្នាំ 2023
© 2023 NXP BV រក្សាសិទ្ធិគ្រប់យ៉ាង។
ឯកសារ/ធនធាន
![]() |
ឧបករណ៍បញ្ជា NFC អនុលោមតាម NXP PN7220 [pdf] ការណែនាំអ្នកប្រើប្រាស់ ឧបករណ៍បញ្ជា NFC អនុលោមតាម PN7220, PN7220, ឧបករណ៍បញ្ជា NFC អនុលោមតាម, ឧបករណ៍បញ្ជា NFC, ឧបករណ៍បញ្ជា |