NXP - និមិត្តសញ្ញា

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 ទាំងមូល។

ឧបករណ៍បញ្ជា NFC អនុលោមតាម NXP PN7220 - សេចក្តីផ្តើម 1

រូបភាព 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 ចាប់តាំងពីនៅក្នុងកំណែនេះ សុពលភាពពេញលេញត្រូវបានបញ្ចប់។

  1. ទាញយកខឺណែល។
  2. ទទួលបានកូដប្រភពកម្មវិធីបញ្ជា។
  3. ផ្លាស់ប្តូរនិយមន័យមែកធាងឧបករណ៍ (ជាក់លាក់ចំពោះឧបករណ៍ដែលយើងកំពុងប្រើ)។
  4. បង្កើតអ្នកបើកបរ។
    ក. តាមរយៈនីតិវិធី menuconfig រួមបញ្ចូលកម្មវិធីបញ្ជាគោលដៅក្នុងការសាងសង់។

បន្ទាប់ពីបង្កើតខឺណែលពេញលេញឡើងវិញ កម្មវិធីបញ្ជានឹងត្រូវបានបញ្ចូលក្នុងរូបភាពខឺណែល។ យើងត្រូវតែប្រាកដថារូបភាពខឺណែលថ្មីទាំងអស់ត្រូវបានចម្លងទៅក្នុង AOSP build។

ការសម្របសម្រួល AOSP

NXP ផ្តល់នូវបំណះនៅលើកំពូលនៃកូដ AOSP ។ នោះមានន័យថា អ្នកប្រើប្រាស់អាចទទួលបានលេខកូដ AOSP ដំបូង ហើយអនុវត្តបំណះពី NXP ។ ផ្នែកនេះពិពណ៌នាអំពីរបៀបដើម្បីសម្រេចបាន។ AOSP បច្ចុប្បន្ន tag ដែលយើងកំពុងប្រើគឺ [1]។

3.1 ការបង្កើត AOSP

  1. យើងត្រូវតែទទួលបានកូដប្រភព AOSP ។ នេះយើងអាចធ្វើជាមួយ៖
    $ repo init -u https://android.googlesource.com/platform/manifest-b ប្រព័ន្ធប្រតិបត្តិការ Android-13.0.0_r3
    $ repo សមកាលកម្ម
    ចំណាំ៖ ឧបករណ៍ repo ត្រូវតែត្រូវបានដំឡើងនៅលើប្រព័ន្ធ។ ធ្វើតាមការណែនាំ [2] ។
  2. ពេល​ដែល​យើង​មាន​កូដ​ប្រភព យើង​អាច​បញ្ចូល​ថត ហើយ​បង្កើត​វា៖
    $cd Android_AROOT
    $source build/envsetup.sh
    $lunch select_target #target គឺ DH ដែលយើងចង់ប្រើសម្រាប់អតីតample: db845c-userderbug $make -j
  3. នៅពេលដែល AOSP ត្រូវបានសាងសង់ដោយជោគជ័យ យើងត្រូវទទួលបានបំណះ NXP ។ នេះយើងអាចធ្វើជាមួយ៖
    $git ក្លូន "https://github.com/NXPNFCLinux/PN7220_Android13.git"អ្នកលក់/nxp/
  4. នៅចំណុចនេះ យើងមានតម្រូវការទាំងអស់ដើម្បីអនុវត្តបំណះសម្រាប់ការគាំទ្រ PN7220 ។ យើងអាចអនុវត្តបំណះដោយដំណើរការស្គ្រីប install_NFC.sh ។
    $chmod +x /vendor/nxp/nfc/install_NFC.sh #ពេលខ្លះយើងត្រូវបន្ថែមសិទ្ធិដែលអាចប្រតិបត្តិបានទៅស្គ្រីប
    $./vendor/nxp/nfc/install_NFC.sh
    ចំណាំ៖ ពិនិត្យលទ្ធផលបន្ទាប់ពីដំណើរការ install_NFC.sh ។ ប្រសិនបើចាំបាច់ យើងត្រូវធ្វើការកែប្រែខ្លះដោយដៃ។
  5. យើងក៏អាចបន្ថែមប្រព័ន្ធគោលពីរ 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
  6. ការបន្ថែម 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
  7. ការបន្ថែមកម្មវិធី 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
  8. ឥឡូវនេះយើងអាចបង្កើត 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.

  1. libemvco-nxp.conf
  2. libnfc-nci.conf
  3. libnfc-nxp.conf
  4. 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១ ប៊ី

libnfc-nxp.conf

តារាង 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

libemvco-nxp.conf

តារាង 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 យើងត្រូវអនុវត្តតាមជំហានបន្ទាប់៖

  1. ចម្លង 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
  2. រុញប្រព័ន្ធគោលពីរទៅឧបករណ៍ដូចខាងក្រោម
    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 ឡើងវិញ។ អ្វីដែលត្រូវផ្លាស់ប្តូរគឺ៖

  1. មែកធាងឧបករណ៍ (ក្នុង i.MX 8M Nano នេះគឺជា AROOT_vendor_nxp-opensource_imx_kernel.patch)
  2. បំណះជាក់លាក់ឧបករណ៍ (ក្នុង 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 ការចែកចាយឡើងវិញ និងការប្រើប្រាស់ក្នុងទម្រង់ប្រភព និងប្រព័ន្ធគោលពីរ ដោយមានឬគ្មានការកែប្រែ ត្រូវបានអនុញ្ញាត ផ្តល់លក្ខខណ្ឌដូចខាងក្រោមត្រូវបានបំពេញ៖

  1. ការចែកចាយឡើងវិញនៃកូដប្រភពត្រូវតែរក្សាការជូនដំណឹងអំពីការរក្សាសិទ្ធិខាងលើ បញ្ជីលក្ខខណ្ឌ និងការបដិសេធខាងក្រោម។
  2. ការចែកចាយឡើងវិញក្នុងទម្រង់គោលពីរត្រូវតែបង្កើតឡើងវិញនូវការជូនដំណឹងអំពីការរក្សាសិទ្ធិខាងលើ បញ្ជីនៃលក្ខខណ្ឌ និងការមិនទទួលខុសត្រូវខាងក្រោមនៅក្នុងឯកសារ និង/ឬសម្ភារៈផ្សេងទៀតត្រូវតែផ្តល់ជូនជាមួយនឹងការចែកចាយ។
  3. ទាំងឈ្មោះអ្នករក្សាសិទ្ធិនិងឈ្មោះអ្នកចូលរួមរបស់វាមិនអាចត្រូវបានប្រើដើម្បីគាំទ្រឬផ្សព្វផ្សាយផលិតផលដែលបានមកពីកម្មវិធីនេះដោយគ្មានការអនុញ្ញាតជាលាយលក្ខណ៍អក្សរជាមុន។

កម្មវិធីនេះត្រូវបានផ្តល់ដោយអ្នកកាន់កាប់សិទ្ធិអ្នកនិពន្ធ និងអ្នករួមវិភាគទាន "ដូចដែលមាន" និងការធានាណាមួយដែលបញ្ជាក់ ឬដោយប្រយោល រួមទាំង ប៉ុន្តែមិនកំណត់ចំពោះ ការធានាដោយអត្ថន័យនៃទំនិញគ្រប់គ្រាន់ ត្រូវបានបដិសេធ។ ក្នុងករណីណាក៏ដោយ អ្នកកាន់កាប់សិទ្ធិថតចម្លង ឬអ្នករួមចំណែកត្រូវទទួលខុសត្រូវចំពោះការខូចខាតដោយផ្ទាល់ ប្រយោល ចៃដន្យ ពិសេស គំរូ ឬការខូចខាតជាលទ្ធផល (រួមទាំង ប៉ុន្តែមិនកំណត់ចំពោះផ្នែករដ្ឋបាល សេវាកម្ម ការបាត់បង់ការប្រើប្រាស់ ទិន្នន័យ ឬប្រាក់ចំណេញ ឬការរំខានអាជីវកម្ម) ទោះជាបណ្តាលមកពី និងលើទ្រឹស្ដីទំនួលខុសត្រូវណាមួយ ទោះជាក្នុងកិច្ចសន្យា ទំនួលខុសត្រូវយ៉ាងតឹងរ៉ឹង ឬការបង្ខិតបង្ខំ (រួមទាំងការបិទសិទ្ធិប្រើប្រាស់)។ ការ​ប្រើ​ប្រាស់​កម្មវិធី​នេះ ទោះ​បី​ជា​មាន​ការ​ណែនាំ​អំពី​លទ្ធភាព​នៃ​ការ​ខូច​ខាត​បែប​នេះ​ក៏​ដោយ។

ព័ត៌មានផ្លូវច្បាប់

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 និង/ឬសាខារបស់វា។

សូមជ្រាបថា ការជូនដំណឹងសំខាន់ៗទាក់ទងនឹងឯកសារនេះ និងផលិតផលដែលបានពិពណ៌នានៅទីនេះ ត្រូវបានដាក់បញ្ចូលក្នុងផ្នែក 'ព័ត៌មានផ្លូវច្បាប់'។

NXP - និមិត្តសញ្ញា© 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, ឧបករណ៍បញ្ជា

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *