NXP PN7160 NCI جي بنياد تي NFC ڪنٽرولرز هدايتون

دستاويز جي ڄاڻ 

ڄاڻ مواد
لفظ PN7160, PN7220, NCI, EMVCo, NFC فورم, Android, NFC
خلاصو هي دستاويز بيان ڪري ٿو ته ڪيئن پورٽ ڪجي PN7160/PN7220 عام مڊل ويئر رليز Android 14 ڏانهن.

هي گائيڊ تفصيلي هدايتون ڏئي ٿو ته ڪيئن ضم ڪجي NXP NCI-based NFC ڪنٽرولرز، PN7160 ۽ PN7220، کي Android ماحول ۾. پروسيس ۾ ضروري ڪنيل ڊرائيور کي نصب ڪرڻ ۽ ميگاواٽ جي ترتيب شامل آهي (ڏسو [1]). وڌيڪ معلومات لاءِ، پي اين7160 [2] ۽ PN7220 [3] لاءِ پراڊڪٽ جو صفحو ڏسو. Android اوپن سورس پروجيڪٽ (AOSP) کي اپڊيٽ ڪيو ويو آهي ٻنهي PN7160 ۽ PN7220 NFC ڪنٽرولرز لاءِ سپورٽ شامل ڪرڻ لاءِ.

PN7220 ٻن ترتيبن ۾ اچي ٿو: اڪيلو ميزبان ۽ ٻٽي ميزبان. اسٽيڪ عام طور تي ٻنهي لاءِ ساڳيو آهي. ڊبل ميزبان موڊ ۾، SMCU شامل ڪيو ويو آهي مطلب ته EMVCo سان لاڳاپيل سڀئي ڪم SMCU تي عمل ڪيا ويا آهن. سنگل هوسٽ ۾ EMVCo هڪ وقف ٿيل EMVCo ميگاواٽ اسٽيڪ ۾ عمل ڪيو ويو آهي

Android MW اسٽيڪ

شڪل 1 PN7220 Android NFC اسٽيڪ جي فن تعمير کي بيان ڪري ٿو.

  • NXP I2C ڊرائيور ھڪڙو ڪنيل ماڊل آھي جيڪو PN7220 جي هارڊويئر وسيلن تائين رسائي جي اجازت ڏئي ٿو.
  • HAL ماڊل NXP NFC ڪنٽرولر-مخصوص هارڊويئر خلاصي پرت جو هڪ نفاذ آهي.
  • LibNfc-Nci هڪ مقامي لائبريري آهي جيڪا NFC ڪارڪردگي مهيا ڪري ٿي.
  • NFC JNI جاوا ۽ اصلي طبقن جي وچ ۾ پل جي طور تي ڪم ڪري ٿو.
  • NFC ۽ EMVCo فريم ورڪ ايپليڪيشن فريم ورڪ جو ھڪڙو ماڊل آھي جيڪو NFC ۽ EMVCo ڪارڪردگي تائين رسائي جي اجازت ڏئي ٿو.

شڪل 2 PN7160 Android NFC اسٽيڪ جو فن تعمير ڏيکاري ٿو. 


شڪل 2. PN7160 Android MW اسٽيڪ 

  • NXP I2C ڊرائيور ھڪڙو ڪنيل ماڊل آھي جيڪو PN7160 جي هارڊويئر وسيلن تائين رسائي جي اجازت ڏئي ٿو.
  • HAL ماڊل NXP NFC ڪنٽرولر-مخصوص هارڊويئر خلاصي پرت جو هڪ نفاذ آهي.
  • LibNfc-nci هڪ مقامي لائبريري آهي جيڪا NFC ڪارڪردگي مهيا ڪري ٿي.
  • NFC JNI جاوا ۽ اصلي طبقن جي وچ ۾ پل جي طور تي ڪم ڪري ٿو.
  • NFC ايپليڪيشن فريم ورڪ جو ھڪڙو ماڊل آھي جيڪو NFC ڪارڪردگي تائين رسائي جي اجازت ڏئي ٿو.
  • MW سورس ڪوڊ PN7160 ۽ PN7220 لاءِ ساڳيو آهي، پر ڪجھ حدون آهن.

ٽيبل 1 هر اين ايف سي ڪنٽرولر جي غير معاون خصوصيتن کي ڏيکاري ٿو. 

ٽيبل 1. اڻ سڌريل خاصيتون 

اين ايف سي ڪنٽرولر غير معاون خصوصيتون
پي اين 7160
  • EMVCo ميگاواٽ اسٽيڪ
  • SMCU
  • سي ٽي خصوصيت
پي اين 7220
  • NFCEE_NDEF

نوٽ: Android 14 کان پوءِ P2P پڻ PN7160 تي سپورٽ نٿو ڪري.

ڪرنل ڊرائيور

PN7220 يا PN7160 سان ڪنيڪشن قائم ڪرڻ لاءِ، Android اسٽيڪ استعمال ڪري ٿو nxpnfc ڪنيل ڊرائيور. ان ۾ ملي سگهي ٿو [4].

ڊرائيور جي تفصيل

PN7220 I2C فزيڪل انٽرفيس کي سپورٽ ڪري ٿو، جڏهن ته PN7160 I2C يا SPI فزيڪل انٽرفيس کي سپورٽ ڪري ٿو. جڏهن ڪنييل ۾ نصب ڪيو وڃي، ڊرائيور /dev/nxpnfc ۾ ڊوائيس نوڊ ذريعي ظاهر ٿئي ٿو.

نوٽ: PN7160 ۽ PN7220 ٻه مختلف ڊرائيور استعمال ڪن ٿا، صحيح ڊرائيور جي چونڊ چپ جي قسم جي بنياد تي گهربل آهي.

PN7160 ڊرائيور سورس ڪوڊ حاصل ڪرڻ

نقل ڪريو nfcandroid_platform_drivers/drivers/pn7160/nfc ڊرائيور مخزن کي ڪرنل ڊاريڪٽري ۾، موجوده عمل کي تبديل ڪندي. ڪرنيل لاءِ [4] ڏانهن رجوع ڪريو files.

$rm -rf ڊرائيورز/nfc
$git کلون "https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git" -b
br_ar_14_comm_infra_dev

اهو فولڊر ڊرائيورز/nfc سان ختم ٿئي ٿو جنهن ۾ هيٺيان شامل آهن files:

  • README.md: مخزن جي معلومات
  • ٺاهڻfile: ڊرائيور جي سربراهي ڪرڻfile
  • Kconfig: ڊرائيور جي ترتيب file
  • لائسنس: ڊرائيور جي لائسنس جا شرط
  • nfc ذيلي فولڊر تي مشتمل آهي:
    • commoc.c: عام ڊرائيور تي عمل درآمد
    • عام.h: عام ڊرائيور انٽرفيس جي تعريف
    • i2c_drv.c: i2c مخصوص ڊرائيور تي عمل درآمد
    • - i2c_drv.h: i2c مخصوص ڊرائيور انٽرفيس جي تعريف
    • spi_drv.c: spi مخصوص ڊرائيور تي عملدرآمد
    • spi_drv.h: spi مخصوص ڊرائيور انٽرفيس جي تعريف
    • ٺاهڻfile: ٺاهڻfile جيڪو ٺاھڻ ۾ شامل آھيfile ڊرائيور جي
    • Kbuild => ٺاھڻ file
    • Kconfig => ڊرائيور جي ترتيب file
PN7220 ڊرائيور سورس ڪوڊ حاصل ڪرڻ

نقل ڪريو nfcandroid_platform_drivers/drivers/pn7220cs/nfc (سنگل ميزبان استعمال ڪيس) يا nfcandroid_platform_drivers/drivers/pn7220cms/nfc (ڊبل ميزبان استعمال ڪيس) کي ڪرنل ڊاريڪٽري ڊرائيورز/nfc ۾ نقل ڪريو، موجوده ڊرائيور کي مٽائي. ڪرنيل لاءِ [4] ڏانهن رجوع ڪريو files.

$rm -rf ڊرائيورز/nfc$git کلون "https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git" -bbr_ar_14_comm_infra_dev

ھن حڪم تي عمل ڪندي، فولڊر ڊرائيورز / اين ايف سي ھيٺ ڏنل آھن files:

  • README.md: مخزن جي معلومات
  • ٺاهڻfile: ڊرائيور جي سربراهي ڪرڻfile
  • Kconfig: ڊرائيور جي ترتيب file
  • لائسنس: ڊرائيور جي لائسنس جا شرط
  • nfc ذيلي فولڊر تي مشتمل آهي:
    • commoc.c: عام ڊرائيور تي عمل درآمد
    • عام.h: عام ڊرائيور انٽرفيس جي تعريف
    • i2c_drv.c: i2c مخصوص ڊرائيور تي عمل درآمد
    • i2c_drv.h: i2 c مخصوص ڊرائيور انٽرفيس جي تعريف
    • ٺاهڻfile: ٺاهڻfile جيڪو ٺاھڻ ۾ شامل آھيfile ڊرائيور جي
    • Kbuild => ٺاھڻ file
    • Kconfig => ڊرائيور جي ترتيب file
ڊرائيور جي تعمير

ڊيوائس ٽري ڊرائيور کي ڪنيل ۾ شامل ڪرڻ ۽ ڊوائيس بوٽ تي لوڊ ڪرڻ جو ذميوار آهي.

ڊيوائس ٽري جي وضاحت کي اپڊيٽ ڪرڻ کان پوءِ، پليٽ فارم سان لاڳاپيل ڊيوائس ٽري کي ٻيهر تعمير ڪيو وڃي. NXP kernel ورجن 5.10 استعمال ڪرڻ جي سفارش ڪري ٿو جيئن اها جامع تصديق فراهم ڪري ٿي.

ڊرائيور ٺاهڻ لاء، هيٺين قدمن کي انجام ڏيڻ گهرجي:

  1. ڪرنل ڊرائيور حاصل ڪريو
  2. ڊرائيور لاء ذريعو ڪوڊ حاصل ڪريو
  3. ڊوائيس وڻ جي تعريف کي تبديل ڪريو، جيڪو استعمال ۾ ڊوائيس لاء منفرد آهي.
  4. ڊرائيور ٺاھيو:

هڪ مينيو ترتيب جي طريقيڪار ذريعي، ٽارگيٽ ڊرائيور کي تعمير ۾ شامل ڪريو.

مڪمل ٿيل ڪني کي ٻيهر تعمير ڪرڻ کان پوء، ڊرائيور کي ڪنيل تصوير ۾ شامل ڪيو ويندو. AOSP تعمير ۾ سڀني نئين ڪنييل تصويرن کي نقل ڪيو وڃي.

AOSP موافقت

NXP AOSP ڪوڊ ۾ تبديليون شامل ڪري ٿو. هن جو مطلب آهي ته AOSP ڪوڊ هڪ بنياد طور استعمال ڪيو ويو آهي، پر NXP-مخصوص خاصيتن لاء وڌايو ويو آهي. [5] موجوده AOSP آهي tag NXP پاران استعمال ڪيو ويو. AOSP تعمير حاصل ڪرڻ کان پوء، موجوده AOSP ڪوڊ کي تبديل ڪيو وڃي، ۽ پيچ جو تعداد لاڳو ڪيو وڃي.

نوٽ: AOSP ڪوڊ جو هڪ مختلف نسخو استعمال ڪري سگهجي ٿو، پر اضافي ترميمن کي انجام ڏنو وڃي.

AOSP تعمير

حاصل ڪريو AOSP سورس ڪوڊ.

$ repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r2 $ repo sync

نوٽ: ريپو اوزار سسٽم تي نصب ٿيڻ گهرجي. هدايتون لاءِ [6] ڏانهن رجوع ڪريو.

ماخذ ڪوڊ ٺاهيو.

$cd Android_AROOT
$source build/envsetup.sh
$lunch select_target #target DH آھي جيڪو اسان استعمال ڪرڻ چاھيون ٿا اڳوڻي لاءِample: evk_8mn-userdebug
$make -j

نقل ڪريو سڀني NXP مخزن کي ٽارگيٽ مقام ۾.

ٽيبل 2. مخصوص Android ورزن لاءِ برانچ

Android نسخو شاخ
Android 14 br_ar_14_comm_infra_dev

نوٽ: جڏهن ڪلوننگ، اهو ضروري آهي ته صحيح شاخ کي چونڊيو وڃي.

جدول 3. ڪلون مخزن

AOSP Repos NXP GitHub Repos
"$ANDROID_ROOT"/پيڪيجز/ apps/Nfc https://github.com/nxp-nfc-infra/nxp_nci_hal_nfc/tree/br_ar_14_comm_infra_dev
"$ANDROID_ROOT"/system/nfc https://github.com/nxp-nfc-infra/nxp_nci_hal_libnfc-nci/tree/br_ar_14_comm_infra_dev
"$ANDROID_ROOT"/هارڊويئر/ nxp/nfc https://github.com/nxp-nfc-infra/nfcandroid_nfc_hidlimpl/tree/br_ar_14_comm_infra_dev
"$ANDROID_ROOT"/وينر/nxp/ فريم ورڪ https://github.com/nxp-nfc-infra/nfcandroid_frameworks/tree/br_ar_14_comm_infra_dev
"$ANDROID_ROOT"/هارڊويئر/ nxp/emvco https://github.com/nxp-nfc-infra/nfcandroid_emvco_aidlimpl/tree/ br_ar_14_comm_infra_dev
"$ANDROID_ROOT" https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/tree/ br_ar_14_comm_infra_dev

ٽيبل 4. ٽيسٽ ايپليڪيشنن لاءِ ڪلون ريپوزٽريز ۽ TDA سپورٽ 

GitHub ۾ فولڊر AOSP Repos NXP GitHub IC سپورٽ
test_apps/SMCU_Switch "$ANDROID_ROOT"/

پيڪيجز/ايپس/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

پي اين 7220
test_apps/EMVCoMode SwitchApp "$ANDROID_ROOT"/

پيڪيجز/ايپس/Nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

پي اين 7220
test_apps/Cockpit "$ANDROID_ROOT"/

هارڊويئر/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

پي اين 7220
test_apps/SelfTest "$ANDROID_ROOT"/

هارڊويئر/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

پي اين 7220
test_apps/SelfTest_pn7160 "$ANDROID_ROOT"/

هارڊويئر/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

پي اين 7160
test_apps/load_unload "$ANDROID_ROOT"/

هارڊويئر/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

پي اين 7220
test_apps/SelfTestAidl "$ANDROID_ROOT"/

هارڊويئر/nxp/nfc/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_test_apps

پي اين 7220
nfc_tda "$ANDROID_ROOT"/سسٽم/ https://github.com/ nxp-nfc-infra/

nfcandroid_infra_comm_libs

پي اين 7220
emvco_tda "$ANDROID_ROOT"/

هارڊويئر/nxp/emvco/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_comm_libs

پي اين 7220
emvco_tda_test "$ANDROID_ROOT"/

هارڊويئر/nxp/emvco/

https://github.com/ nxp-nfc-infra/

nfcandroid_infra_comm_libs

پي اين 7220
NfcTdaTestApp "$ANDROID_ROOT"/

پيڪيجز/ايپس/Nfc/

https://github.com/ nxp-nfc-infra/nfcandroid_infra_comm_libs پي اين 7220

پيچ لاڳو ڪريو

ٽيبل 5. پيچ لاڳو ڪريو

لاڳو ڪرڻ جو مقام لاڳو ڪرڻ لاء پيچ پيچ جي جڳھ
“$ANDROID_ROOT”/build/ بيزل/ AROOT_build_bazel. پيچ https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ وڻ/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
“$ANDROID_ROOT”/build/ ٺاهيو/ AROOT_build_make. پيچ https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ وڻ/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
“$ANDROID_ROOT”/build/ جلد/ AROOT_build_soong. پيچ https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ وڻ/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
"$ANDROID_ROOT"/

فريم ورڪ/بنياد/

AROOT_frameworks_ بنياد. پيچ https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ وڻ/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
"$ANDROID_ROOT"/

فريم ورڪ/ ڏيهي/

AROOT_frameworks_ اصلي. پيچ https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ وڻ/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
"$ANDROID_ROOT"/

سسٽم/لاگنگ/

AROOT_system_logging. پيچ https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ وڻ/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
"$ANDROID_ROOT"/

پيڪيجز/ماڊيولز/ بلوٿ/

AROOT_packages_modules_Bluethooth. پيچ https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ وڻ/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/
"$ANDROID_ROOT"/

فريم ورڪ/proto_logging/

AROOT_framework_ proto_logging.patch https://github.com/nxp-nfc-infra/nfcandroid_platform_reference/ وڻ/br_ar_14_comm_infra_dev/build_cfg/build_pf_patches/

نوٽ: پيچ کي لاڳو ڪرڻ کان پوء آئوٽ چيڪ ڪريو، جيڪڏهن پيچنگ دوران ڪو مسئلو ڏٺو ويو.

FW لائبريريون شامل ڪريو. FW لاءِ [8] ڏانهن رجوع ڪريو.

نوٽ: لازمي ناهي. FW هميشه اپڊيٽ ٿي سگهي ٿو.

PN7160 لاءِ: 

$git کلون https://github.com/NXP/nfc-NXPNFCC_FW.git
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/64-bit/libpn7160_fw.so AROOT/vendor/
nxp/7160/firmware/lib64/libpn7160_fw.so
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/32-bit/libpn7160_fw.so AROOT/vendor/
nxp/7160/firmware/lib/libpn7160_fw.so

PN7220 لاءِ: 

$git کلون https://github.com/NXP/nfc-NXPNFCC_FW.git
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/64-bit/libpn7220_64bit.so AROOT/vendor/nxp/
pn7220/firmware/lib64/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 clone https://github.com/NXPNFCProject/NXPAndroidDTA.git $patch -p1 nfc-dta.patch #located in https://github.com/nxp-nfc-infra/ nfcandroid_platform_reference/tree/br_ar_infcproject/NXPAndroidDTA.git build_mw_patches/db14c $ cp -r nfc-dta /system/nfc-dta $/system/nfc-dta/$mm -j

تبديلين سان AOSP ٺاھيو:

$cd فريم ورڪ/بيس
$mm
$cd ../..
$cd وينڊر/nxp/ فريم ورڪ
$mm #هن کان پوءِ، com.nxp.emvco.jar ۽ com.nxp.nfc.jar اندر اندر ٿيڻ گهرجي/
ھدف/پراڊڪٽ/xxxx/system/framwework/
$cd ../../..
$cd هارڊويئر/nxp/nfc
$mm
$cd ../../..
$make -j

ھاڻي، ڊوائيس کي نئين Android تصويرن سان چمڪيو.

Android NFC ايپس ۽ Lib مقصدن تي

تعمير ڪرڻ کان پوء، ٺهيل لائبريريون ٽارگيٽ ڊوائيس تي نصب ٿيڻ گهرجن. سيڪشن 4.2 منصوبي جي جڳھ کي بيان ڪري ٿو، لاڳاپيل لائبريري، ۽ ٽارگيٽ ڊيوائس جڳھ جتي نصب ٿيڻو آھي.

نوٽ: EMVCo بائنريز صرف PN7220 سان لاڳو ٿين ٿيون.

ٽيبل 6. مرتب ڪيل files ڊوائيس ٽارگيٽ سان 

منصوبي جي جڳھ مرتب ڪيل Files تبصرا ھدف جي ڊوائس ۾ هنڌ
"$ANDROID_ROOT"/

پيڪيجز/ايپس/Nfc

NfcNci.odex NfcNci.vdex lib/NfcNci.apk oat/libnfc_nci_jni.so   /system/app/NfcNci/ oat/arm64/

/system/app/NfcNci/ oat/arm64/

/system/app/NfcNci/

/system/lib64/

"$ANDROID_ROOT"/

سسٽم/nfc

libnfc_nci.so   /system/lib64/
"$ANDROID_ROOT"/

سسٽم/nfc_tda”

nfc_tda.so قابل اطلاق صرف CT خاصيت لاءِ. /system/lib64/
"$ANDROID_ROOT"/

هارڊويئر/nxp/nfc

nfc_nci_nxp_pn72xx.so android.hardware.nfc_72xx@1.2-سروس 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 وڪرو ڪندڙ.nxp.nxpnfc@2.0.so وڪرو ڪندڙ.nxp.nxpnfc@1.0.so   /vendor/lib64

/وينڊر/bin/hw/

/vendor/etc/init

/system/lib64/

/system/lib64/

/system/lib64/

/vendor/lib64/

/vendor/lib64/

$ANDROID_ROOT/

هارڊويئر/انٽرفيس/nfc”

android.hardware.nfc-V1-ndk.so android.hardware.nfc@1.0.so android.hardware.nfc@1.1.so android.hardware.nfc@1.2.so android.hardware.nfc@1.0.so android.hardware.nfc@1.1.so android.hardware.nfc@1.2.so   /سسٽم/ib64/

/system/lib64/

/system/lib64/

/system/lib64/

/vendor/lib64/

/vendor/lib64/

/vendor/lib64/

"$ANDROID_ROOT"/

vendor/nxp/frameworks

com.nxp.emvco.jar (PN7220) com.nxp.nfc.jar   /سسٽم / فريم ورڪ

/سسٽم / فريم ورڪ

"$ANDROID_ROOT"/

هارڊويئر/nxp/emvco

emvco_poller.so (PN7220) vendor.nxp.emvco-V1-ndk.so vendor.nxp.emvco-V2-ndk.so vendor.nxp.emvco-V2-ndk.so vendor.nxp.emvco-service vendor.nxp. emvco-service.rc   /vendor/lib64/

/system/lib64/

/system/lib64/

/vendor/lib64/

/وينڊر/bin/hw/

/vendor/etc/init/

$ANDROID_ROOT/

هارڊويئر/nxp/emvco_tda”

emvco_tda.so قابل اطلاق صرف CT خاصيت لاءِ. /vendor/lib64/
بلاڪ ميپنگ

سيڪشن 1 کان بلاڪ جو نالو نقشو ڪرڻ AOSP ڪوڊ ۾ ھدف واري جڳھ ڏانھن.

ٽيبل 7. اين ايف سي اسٽيڪ ۾ پيچ جي جڳھ 

بلاڪ جو نالو AOSP ڪوڊ ۾ جڳھ
NFC HAL ۽ EMVCo HAL هارڊويئر/انٽرفيس/
اين ايف سي اسٽيڪ هارڊويئر/nxp/nfc/
EMVCo L1 ڊيٽا ايڪسچينج پرت = EMVCo اسٽيڪ هارڊويئر/nxp/emvco/
LibNfc-Nci سسٽم/nfc/
NFC JNI پيڪيجز/ايپس/nfc/
اين ايف سي سروس پيڪيجز/ايپس/nfc/
NFC فريم ورڪ فريم ورڪ/بنياد/
EMVCo فريم ورڪ وينڊر/nxp/frameworks/
EMVCo AP

PN7220 MW اسٽيڪ EMVCo MW اسٽيڪ سان AOSP ڪوڊ کي وڌايو. هي حصو بيان ڪري ٿو EMVCo APIs.

نوٽ: APIs کي سڏي سگهجي ٿو صرف جڏهن PN7220 IC استعمال ڪندي. جيڪڏهن ان کي PN7160 IC سان سڏين ٿا، API ڪم نٿو ڪري. EMVCo Profile دريافت. اهي APIs استعمال ڪري سگھجن ٿيون رابطي ۽ رابطي واري پرو سانfiles.

رجسٽر EMVCoEventListener()

  • ndk::ScopedAStatus registerEMVCoEventListener ( const std::shared_ptr< INxpEmvcoClientCallback > & in_clientCallback، bool * in_aidl_return)
  • وضاحت: رجسٽرڊ EMVCo ڪال بڪ فنڪشن کي ٻڌندڙ ڊوائيس تان واقعا حاصل ڪرڻ لاءِ
  • نوٽ: هي فنڪشن لازمي آهي بال ڪرڻ کان پهريان ڪنهن ٻئي api کي سڏڻ.
  • پيرا ميٽرس:
    • [in] *in_clientCallback: وٽ EMVCo ڪلائنٽ HAL ڪال بيڪ آهي
    • [in] *in_aidl_return: اشارو ڪري ٿو رجسٽر اسٽيٽس ڪالر جي موٽ ۾
  • واپسي
    • boolean واپسي صحيح، جيڪڏھن ڪامياب ۽ واپسي غلط، جيڪڏھن رجسٽر ٿيڻ ۾ ناڪام ٿيو

حاصل ڪريو موجوده دريافت موڊ () 

  • ndk::ScopedAStatus getCurrentDiscoveryMode(::aidl::vendor::nxp::emvco::NxpDiscoveryMode * _aidl_return)
  • وضاحت: موجوده فعال پرو کي واپس ڏئي ٿوfile قسم.
  • واپسي
    • NxpDiscoveryMode - NFC/EMVCo/اڻڄاتل

onNfcStateChange() 

  • ndk::ScopedAStatus onNfcStateChange(NxpNfcState in_nfcState)
  • وضاحت: اين ايف سي اسٽيٽ کي EMVCo HAL کي اپڊيٽ ڪيو ويو.
  • پيرا ميٽرس:
    • [in] in_nfcState: بيان ڪري ٿو NFC رياست
  • واپسي:
    • باطل

رجسٽر NFCStateChangeCallback()

  • ndk::ScopedAStatus registerNFCStateChangeCallback ( const std::shared_ptr< ::aidl::vendor::nxp::emvco::INxpNfcStateChangeRequestCallback > & in_nfcStateChangeRequestCallback, bool_turaidl *
  • وضاحت: رجسٽرڊ ڪريو اين ايف سي ڪال بڪ فنڪشن کي ٻڌندڙ ڊوائيس تان واقعا حاصل ڪرڻ لاءِ.
  • نوٽ: هي فنڪشن لازمي آهي ڪال ڪرڻ کان پهريان ڪنهن ٻئي api کي سڏڻ.
  • پيرا ميٽرس:
    • [in] in_nfcStateChangeCallback: INxpNfcStateChangeRequestCallback واقعي جي ڪال بڪ فنڪشن کي ڪال ڪندڙ طرفان پاس ڪيو وڃي. ان کي لاڳو ڪرڻ گهرجي اين ايف سي کي آن / بند ڪرڻ لاءِ موصول ٿيل درخواست جي بنياد تي.
  • واپسي: بولين سچي موٽائي، جيڪڏھن ڪامياب ۽ غلط موٽائي، جيڪڏھن رجسٽر ٿيڻ ۾ ناڪام ٿيو.

setByteConfig()

ndk::ScopedAStatus setByteConfig ( ::aidl::vendor::nxp::emvco::NxpConfigType
in_type,
int32_t in_length،
int8_t in_value،
::aidl::Vendor::nxp::emvco::NxpEmvcoStatus * _aidl_return

سيٽ ڪريو EMVCoMode()

ndk::ScopedAStatus setEMVCoMode (int8_t in_disc_mask،
bool in_isStartEMVCo )

  • وضاحت: ڊيوائس ڪنٽرولر سان EMVCo موڊ شروع ٿئي ٿو. هڪ دفعو ايپليڪيشن ڊيٽا چينل قائم ٿيڻ کان پوء، ايپليڪيشن موڪلي سگھي ٿي EMVCo موڊ کي ڊوائيس-ڪنٽرولر سان شروع ڪريو.
  • پيرا ميٽرس:
    • [in] in_disc_mask EMVCo: پولنگ ٽيڪنالاجيون هن پيرا ميٽر ذريعي ترتيب ڏنل آهن
    • [in]in_isStartEMVCo: EMVCo موڊ کي شروع ڪرڻ يا بند ڪرڻ جي وضاحت ڪري ٿو
  • واپسي:
    • باطل

مقرر ٿيل ()

ndk::ScopedAStatus setLed ( ::aidl::Vendor::nxp::emvco::NxpLedControl
in_ledControl,
::aidl::Vendor::nxp::emvco::NxpEmvcoStatus * emvco_status)

رابطي لاءِ EMVCo، هيٺ ڏنل APIs استعمال ڪري سگھجن ٿا پوئين وارن جي مٿان.

بند ڪريوTDA()

ndk::ScopedAStatus closeTDA (int8_t in_tdaID، bool in_standBy)

  • وضاحت: TDA تي ڳنڍيل سمارٽ ڪارڊ بند ڪري ٿو
  • پيرا ميٽرس:
    • [in] tdaID: بند ٿيڻ لاءِ tda سلاٽ جي id
  • استثنا:
    • EMVCO_STATUS_INVALID_PARAMETER، جيڪڏهن مهيا ڪيل tdaID صحيح آهي
    • EMVCO_STATUS_FEATURE_NOT_SUPPORTED جڏهن رابطي ڪارڊ جي خصوصيت کي سپورٽ نه آهي.
  • واپسي:
    • باطل

دريافت ڪريو ٽي ڊي اي ()

ndk::ScopedAStatus discoverTDA
(std::vector<::aidl::vendor::nxp::emvco::NxpEmvcoTDAInfo > * emvcoTDAInfo )

وضاحت: DiscoverTDA TDA تي ڳنڍيل سمارٽ ڪارڊ جا سڀ تفصيل فراهم ڪري ٿي

  • پيرا ميٽرس:
    • [in]*in_clientCallback: مهيا ڪري ٿو EMVCo رياست ۽ TDA اسٽيٽ کي ڪال بڪ طور
  • استثنا:
    •  EMVCO_STATUS_FEATURE_NOT_SUPPORTED جڏهن رابطي ڪارڊ جي خصوصيت کي سپورٽ نه آهي.
  • واپسي:
    • NxpEmvcoTDAInfo[] TDA تي ڳنڍيل سمورو سمارٽ ڪارڊ واپس ڪري ٿو. صحيح emvcoTDAInfo صرف تڏهن ملي ٿي جڏهن اسٽيٽس EMVCO_STATUS_OK هجي

OpenTDA()

ndk::ScopedAStatus openTDA (int8_t in_tdaID، bool in_standBy، int8_t * out_connID )

وضاحت: TDA تي ڳنڍيل سمارٽ ڪارڊ کوليو

  • پيرا ميٽرس:
    • [in]tdaID: دريافت ڪيل ٽي ڊي اي ذريعي حاصل ڪيل سمارٽ ڪارڊ جي tda id
  • استثنا:
    • EMVCO_STATUS_INVALID_PARAMETER، جيڪڏهن مهيا ڪيل tdaID صحيح آهي
    • EMVCO_STATUS_FEATURE_NOT_SUPPORTED جڏهن رابطي ڪارڊ جي خصوصيت کي سپورٽ نه آهي.
  • واپسي:
    • بائيٽ سمارٽ ڪارڊ جي ڪنيڪشن id کي واپس ڏئي ٿو. صحيح ڪنيڪشن جي سڃاڻپ صرف تڏهن ملي ٿي جڏهن اسٽيٽس EMVCO_STATUS_OK هجي

رجسٽر EMVCoCTListener() 

ndk::ScopedAStatus registerEMVCoCTListener ( const std::shared_ptr<::aidl::vendor::nxp::emvco::INxpEmvcoTDACallback > & in_in_clientCallback, bool * _aidl_return)

  • وضاحت: EMVCo اسٽيڪ تي EMVCoCT ڪال بڪ کي رجسٽر ڪري ٿو
  • پيرا ميٽرس:
    • [in]*in_in_clientCallback: مهيا ڪري ٿو EMVCo رياست ۽ TDA رياست ڪال بڪ طور
  • واپسي:
    • باطل 

منتقل ڪرڻ () 

ndk::ScopedAStatus transceive (const std::vector< uint8_t > & in_cmd_data, std:: vector< uint8_t > * out_rsp_data )

  • وضاحت: ڊيوائس-ڪنٽرولر سان ايپليڪيشن ڊيٽا موڪلي ٿو ۽ ڪنٽرولر کان جوابي ڊيٽا وصول ڪري ٿو
  • نوٽ: TDA جي ڪنيڪشن id کي NCI هيڊر جي حصي طور شامل ڪيو وڃي.
  • پيرا ميٽرس:
    • [in]in_cmd_data: ايپليڪيشن ڪمانڊ ڊيٽا بفر
  • استثنا:
    • EMVCO_STATUS_INVALID_PARAMETER، جيڪڏهن مهيا ڪيل ڪنيڪشن id غير صحيح آهي
    • EMVCO_STATUS_FEATURE_NOT_SUPPORTED جڏهن رابطي ڪارڊ جي خصوصيت کي سپورٽ نه آهي.
  • واپسي:
    • جواب APDU ڪنٽرولر کان وصول ڪيو. صحيح جواب APDU صرف تڏهن ملي ٿو جڏهن اسٽيٽس EMVCO_STATUS_OK آهي

EMVCo contactless لاءِ، هيٺين APIs کي سڏي سگھجي ٿو:

رجسٽر EMVCoEventListener()

ndk::ScopedAStatus registerEMVCoEventListener ( const std::shared_ptr< INxpEmvcoClientCallback > & in_clientCallback، bool * _aidl_return )

  • وضاحت: رجسٽرڊ ڪريو EMVCo ڪال بڪ فنڪشن کي ٻڌندڙ ڊوائيس تان واقعا حاصل ڪرڻ لاءِ.
  • نوٽ: هي فنڪشن لازمي آهي ڪال ڪرڻ کان پهريان ڪنهن ٻئي api کي سڏڻ.
  • پيرا ميٽرس:
    • [in]*in_clientCallback: وٽ EMVCo ڪلائنٽ HAL ڪال بيڪ آهي
    • [in]*in_aidl_return: اشارو ڪري ٿو رجسٽر اسٽيٽس ڪالر جي موٽ ۾
  • واپسي:
    • boolean واپسي صحيح، جيڪڏھن ڪامياب ۽ واپسي غلط، جيڪڏھن رجسٽر ٿيڻ ۾ ناڪام ٿيو

سيٽ ڪريو EMVCoMode()

ndk::ScopedAStatus setEMVCoMode (int8_t in_config، bool in_isStartEMVCo)

  • وضاحت: ڊيوائس ڪنٽرولر سان EMVCo موڊ شروع ٿئي ٿو. هڪ دفعو ايپليڪيشن ڊيٽا چينل قائم ٿيڻ کان پوء، ايپليڪيشن موڪلي سگھي ٿي EMVCo موڊ کي ڊوائيس-ڪنٽرولر سان شروع ڪريو.
  • پيرا ميٽرس:
    • [in]in_config: EMVCo پولنگ ٽيڪنالاجيون هن پيرا ميٽر ذريعي ترتيب ڏنل آهن
    • [in]in_isStartEMVCo: EMVCo موڊ کي شروع ڪرڻ يا بند ڪرڻ جي وضاحت ڪري ٿو
  • واپسي:
    • باطل

StopRFDisovery()

ndk::ScopedAStatus stopRFDisovery
( ::aidl::vendor::nxp::emvco::NxpDeactivationType in_deactivationType، ::aidl::vendor::nxp::emvco::NxpEmvcoStatus * emvco_status )

  • وضاحت: آر ايف فيلڊ کي روڪي ٿو ۽ مخصوص غير فعال ٿيڻ واري حالت ۾ هلندو آهي.
  • پيرا ميٽرس:
    • [in]in_deactivationType: بيان ڪري ٿو رياست کي آر ايف جي غير فعال ٿيڻ کان پوءِ
  • واپسي:
    • NxpEmvcoStatus واپسي EMVCO_STATUS_OK جيڪڏھن ڪمانڊ ڪاميابيءَ سان عمل ۾ اچي ٿو ۽ EMVCO_STATUS_FAILED موٽائي ٿو، جيڪڏھن ڪمانڊ تي صحيح حالت جي ڪري عمل نه ڪيو ويو آھي. هن API کي ڪال ڪرڻ لاءِ EMVCo موڊ آن ٿيڻ گهرجي

منتقل ڪرڻ ()

ndk::ScopedAStatus transceive (const std::vector< uint8_t > & in_data, int32_t * _aidl_return)

  • وضاحت: ڊيوائس-ڪنٽرولر سان ايپليڪيشن ڊيٽا موڪليو.
  • نوٽ: ان صورت ۾ جيڪڏهن ڊيٽا موڪلڻ ۾ ناڪام ٿئي ٿي، ايپليڪيشن کي ٻيهر سڏڻ گهرجي open() هن API کي سڏڻ کان پهريان.
  • پيرا ميٽرس:
    • (in]in_data: ايپليڪيشن ڊيٽا بفر
  • واپسي:
    • NxpEmvcoStatus تي عملدرآمد جي صورتحال جو اشارو
ٺاھ جوڙ files PN7160

PN7160 لاءِ، اتي ٻه مختلف تشڪيل آھن files.

  1. libnfc-nci.conf
  2. libnfc-nxp.conf

نوٽ: ٺاھ جوڙ fileNXP پاران مهيا ڪيل آهن exampاين ايف سي ڪنٽرولر ڊيمو بورڊ سان لاڳاپيل. هنن files کي ھدف ٿيل انضمام جي مطابق اختيار ڪيو وڃي.

ٺاھ جوڙ files کي ھدف واري جڳھ ۾ رکڻ گھرجي (ڏسو ٽيبل 8).

جدول 8. ٺاھ جوڙ جا جڳھ files 

تشڪيل جو نالو file ڊوائيس ۾ جڳھ
libnfc-nci.conf سسٽم / وغيره
libnfc-nxp.conf وڪرو ڪندڙ/وغيره

تشڪيل تي وڌيڪ معلومات حاصل ڪرڻ لاء files، ڏسو [9].

ٺاھ جوڙ files PN7220

PN7220 لاءِ، اتي پنج مختلف تشڪيل آھن files.

  1. libemvco-nxp.conf
  2. libnfc-nci.conf
  3. libnfc-nxp.conf
  4. libnfc-nxp-eeprom.conf
  5. libnfc-nxp-rfExt.conf

نوٽ: ٺاھ جوڙ fileNXP پاران مهيا ڪيل آهن exampاين ايف سي ڪنٽرولر ڊيمو بورڊ سان لاڳاپيل. هنن files کي ھدف ٿيل انضمام جي مطابق اختيار ڪيو وڃي

ٺاھ جوڙ files کي ھدف واري جڳھ تي رکڻ جي ضرورت آھي (ڏسو ٽيبل 9).

جدول 9. ٺاھ جوڙ جا جڳھ files 

تشڪيل جو نالو file ڊوائيس ۾ جڳھ
libemvco-nxp.conf وڪرو ڪندڙ/وغيره
libnfc-nci.conf سسٽم / وغيره
libnfc-nxp.conf وڪرو ڪندڙ/وغيره
libnfc-nxp-eeprom.conf وڪرو ڪندڙ/وغيره
libnfc-nxprfExt.conf وڪرو ڪندڙ/وغيره

تشڪيل تي وڌيڪ معلومات حاصل ڪرڻ لاء files، ڏسو [9]. 

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 push NxpDTA.apk/system/app/NxpDTA/

ھدف کي چمڪائڻ کان پوء، DTA ايپليڪيشن انسٽال ٿيل ايپليڪيشنن جي لسٽ ۾ موجود ھجڻ گھرجي. ڏسو [7] تفصيلي وضاحت لاءِ ته ايپليڪيشن کي ڪيئن استعمال ڪجي.

مخففات

جدول 10. مخففات 

مخفف وصف
APDU ايپليڪيشن پروٽوڪول ڊيٽا يونٽ
AOSP Android اوپن سورس پروجيڪٽ
DH ڊوائيس ميزبان
HAL هارڊويئر خلاصو پرت
FW فرمائيندڙ
I2C انٽيگريڊ سرڪٽ
ايل پي سي ڊي گھٽ طاقت وارو ڪارڊ ڳولڻ
NCI اين ايف سي ڪنٽرولر انٽرفيس
اين ايف سي ويجهو ميدان مواصلات
MW مڊل ويئر
پي ايل ايل مرحلو بند ٿيل لوپ
پي 2 پي پير کان پير
RF ريڊيو فریکوئنسي
ايس ڊي اي سيريل ڊيٽا
SMCU محفوظ مائڪرو ڪنٽرولر
SW سافٽ ويئر

حوالو

  1. GitHub مخزن - PN7160 ۽ PN7220 عام ميگاواٽ: (ڳنڍ)
  2. Web صفحو - PN7160 - اين ايف سي پلگ ۽ پلي ڪنٽرولر انٽيگريٽيڊ فرم ويئر ۽ اين سي آءِ انٽرفيس سان (ڳنڍ)
  3. Web صفحو – PN7220 – EMV L1 مطابق NFC ڪنٽرولر NCI انٽرفيس سان EMV ۽ NFC فورم ايپليڪيشنن کي سپورٽ ڪري ٿو (ڳنڍ)
  4. GitHub مخزن - PN7160 ۽ PN7220 ڪرنل ڊرائيور: (ڳنڍ)
  5. وسيلا - AOSP r2 tag (ڳنڍ)
  6. وسيلا - ماخذ ڪنٽرول اوزار (ڳنڍ)
  7. استعمال ڪندڙ ھدايت - UG10068 - PN7220 - تڪڙو شروع ھدايت (ڳنڍ)
  8. GitHub مخزن - PN7160 ۽ PN7220 FW جڳھ: (ڳنڍ)
  9. ايپليڪيشن نوٽ - AN14431 - PN7160 / PN7220 ترتيب fileايس (ڳنڍ)

دستاويز ۾ سورس ڪوڊ بابت نوٽ ڪريو

Exampهن دستاويز ۾ ڏيکاريل ڪوڊ هيٺ ڏنل ڪاپي رائيٽ ۽ BSD-3-Clause لائسنس آهي:

ڪاپي رائيٽ 2024 NXP وري ورهائڻ ۽ ماخذ ۽ بائنري فارمن ۾ استعمال ڪرڻ جي، ترميم سان يا بغير، اجازت ڏني وئي آھي ته ھيٺيون شرطون پوريون ڪيون وڃن

  1. ماخذ ڪوڊ جي ٻيهر ورهاست کي لازمي طور تي مٿي ڏنل ڪاپي رائيٽ نوٽس، شرطن جي هن فهرست ۽ هيٺ ڏنل رد ڪرڻ لازمي آهي.
  2. بائنري فارم ۾ ٻيهر ورهائڻ لاءِ مٿي ڏنل ڪاپي رائيٽ نوٽس کي ٻيهر پيش ڪرڻ گهرجي، شرطن جي هن فهرست ۽ دستاويزن ۽/يا ٻيون مواد ۾ هيٺ ڏنل ترديد کي تقسيم سان مهيا ڪيو وڃي.
  3. نه ته ڪاپي رائيٽ هولڊر جو نالو ۽ نه ئي ان جي مدد ڪندڙن جا نالا هن سافٽ ويئر مان نڪتل پروڊڪٽس جي تصديق يا فروغ ڏيڻ لاءِ استعمال ڪري سگهجن ٿا بغير ڪنهن خاص تحريري اجازت کان

هي سافٽ ويئر ڪاپي رائيٽ هولڊرز ۽ تعاون ڪندڙن پاران مهيا ڪيل آهي "جيئن آهي" ۽ ڪنهن به ظاهري يا ضمير وارن وارنٽيز، بشمول، پر ان تائين محدود نه آهي، مضمني وارنٽيز ۽ مالڪن جي مضمر وارنٽي مقصد رد ڪيا ويا آهن. ڪنهن به صورت ۾ ڪاپي رائيٽ هولڊر يا شرڪت ڪندڙ ڪنهن به سڌي، اڻ سڌي، اتفاقي، خاص، مثالي، يا نتيجي ۾ ٿيندڙ نقصانن لاءِ ذميوار نه هوندا (بشمول، پر محدود، غير محفوظ ٿيل يا خدمتون؛ استعمال جو نقصان، ڊيٽا، يا ڪاروبار ۾ رڪاوٽ) بهرحال سبب ۽ ذميواري جي ڪنهن به نظريي تي، چاهي معاهدي ۾ هجي، سخت ذميواري، يا غير قانوني طور تي هن سافٽ ويئر جي استعمال کان ٻاهر ڪنهن به طرح، جيتوڻيڪ جيڪڏهن اهڙي نقصان جي امڪان جي صلاح ڏني.

نظرثاني جي تاريخ

جدول 11. نظرثاني جي تاريخ 

دستاويز جي سڃاڻپ ڇڏڻ جي تاريخ وصف
AN14430 v.1.0 03 سيپٽمبر 2024ع •   ابتدائي نسخو

قانوني ڄاڻ

وصفون

مسودو - هڪ دستاويز تي هڪ مسودو جي حيثيت ظاهر ڪري ٿو ته مواد اڃا تائين اندروني ٻيهر هيٺ آهيview ۽ باضابطه منظوري جي تابع، جنهن جي نتيجي ۾ تبديليون يا اضافو ٿي سگهي ٿو. NXP Semiconductors ڪنهن دستاويز جي مسودي ۾ شامل معلومات جي درستگي يا مڪمليت جي حوالي سان ڪا به نمائندگي يا ضمانت نه ڏيندا آهن ۽ اهڙي معلومات جي استعمال جي نتيجن لاءِ ڪو به ذميوار نه هوندو.

رد ڪرڻ وارا

محدود وارنٽي ۽ ذميواري - هن دستاويز ۾ معلومات کي صحيح ۽ قابل اعتماد سمجهيو ويندو آهي. جڏهن ته، NXP سيميڪنڊڪٽرز اهڙي معلومات جي درستگي يا مڪمليت جي حوالي سان ڪا به نمائندگي يا ضمانت نه ٿا ڏين، ظاهر ڪيل يا تقاضا، ۽ اهڙي معلومات جي استعمال جي نتيجن جي ذميواري نه هوندي. NXP Semiconductors هن دستاويز ۾ مواد جي ڪا به ذميواري نه کڻندا آهن جيڪڏهن NXP Semiconductors کان ٻاهر هڪ معلوماتي ماخذ طرفان مهيا ڪيل هجي.

ڪنهن به صورت ۾ NXP سيمي ڪنڊڪٽرز ڪنهن به اڻ سڌي، حادثاتي، سزا واري، خاص يا نتيجي ۾ ٿيندڙ نقصانن جا ذميوار نه هوندا (بشمول - بغير ڪنهن حد جي - گم ٿيل منافعو، گم ٿيل بچت، ڪاروباري رڪاوٽ، ڪنهن به پروڊڪٽ کي هٽائڻ يا بدلائڻ يا ٻيهر ڪم ڪرڻ جي چارجز) ته ڇا يا نه ته اهڙا نقصان تشدد (بشمول غفلت)، وارنٽي، معاهدي جي ڀڃڪڙي يا ڪنهن ٻئي قانوني نظريي تي ٻڌل آهن.

ڪنهن به نقصان جي باوجود جيڪو صارف ڪنهن به سبب جي ڪري برداشت ڪري سگهي ٿو، NXP سيميڪنڊڪٽرز جي مجموعي ۽ مجموعي ذميواري ڪسٽمر جي لاءِ هتي بيان ڪيل مصنوعات جي شرطن ۽ شرطن جي مطابق محدود هوندي NXP سيمي ڪنڊڪٽرز جي تجارتي وڪرو جي شرطن جي مطابق.

تبديليون ڪرڻ جو حق — NXP Semiconductors هن دستاويز ۾ شايع ٿيل معلومات ۾ تبديليون ڪرڻ جو حق محفوظ رکي ٿو، بشمول ڪنهن به وقت ۽ بغير ڪنهن اطلاع جي. هي دستاويز هتي جي اشاعت کان اڳ فراهم ڪيل سڀني معلومات کي ختم ڪري ٿو ۽ تبديل ڪري ٿو.

استعمال لاءِ موزونيت - NXP سيميڪنڊڪٽر پروڊڪٽس ڊزائين ڪيل، مجاز يا وارنٽي نه ڏنيون ويون آھن جيڪي لائف سپورٽ، لائف-نازڪ يا سيفٽي-نازڪ سسٽم يا سامان ۾ استعمال لاءِ موزون ھجن، ۽ نه ئي انھن ايپليڪيشنن ۾ جتي NXP سيمڪنڊڪٽر پراڊڪٽ جي ناڪامي يا خرابيءَ جي معقول توقع رکي سگھجي ٿي. نتيجي ۾ ذاتي زخم، موت يا سخت ملڪيت يا ماحولياتي نقصان. NXP Semiconductors ۽ ان جا سپلائرز شامل ڪرڻ ۽/يا NXP Semiconductors پروڊڪٽس جي اهڙين سامان يا ايپليڪيشنن ۾ استعمال جي ذميواري قبول نٿا ڪن ۽ ان ڪري اهڙي شموليت ۽/يا استعمال صارف جي پنهنجي خطري تي آهي.

ايپليڪيشنون - ايپليڪيشنون جيڪي هتي بيان ڪيون ويون آهن انهن مان ڪنهن به پراڊڪٽ لاء صرف مثالي مقصدن لاء. NXP Semiconductors ڪا به نمائندگي يا وارنٽي نه ٿو ڏئي ته اهڙيون ايپليڪيشنون مخصوص استعمال لاءِ موزون هونديون بغير ڪنهن وڌيڪ جاچ يا ترميم جي.

گراهڪ NXP Semiconductors پروڊڪٽس استعمال ڪندي انهن جي ايپليڪيشنن ۽ پروڊڪٽس جي ڊيزائن ۽ آپريشن جا ذميوار آهن، ۽ NXP Semiconductors ايپليڪيشنن يا ڪسٽمر پراڊڪٽ ڊيزائن سان ڪنهن به مدد لاءِ ڪا به ذميواري قبول نه ڪندا آهن. اها ڪسٽمر جي واحد ذميواري آهي ته اهو طئي ڪري ته ڇا NXP Semiconductors پراڊڪٽ ڪسٽمر جي ايپليڪيشنن ۽ منصوبابندي ڪيل پروڊڪٽس لاءِ مناسب ۽ موزون آهي، انهي سان گڏ گراهڪ جي ٽئين پارٽي گراهڪ جي منصوبابندي ۽ استعمال لاءِ. صارفين کي انهن جي ايپليڪيشنن ۽ شين سان لاڳاپيل خطرن کي گھٽائڻ لاء مناسب ڊيزائن ۽ آپريٽنگ حفاظت فراهم ڪرڻ گهرجي.

NXP Semiconductors ڪنهن به ڊفالٽ، نقصان، قيمت يا مسئلي سان لاڳاپيل ڪنهن به ذميواري کي قبول نه ڪندا آهن جيڪي ڪسٽمر جي ايپليڪيشنن يا پروڊڪٽس ۾ ڪنهن به ڪمزوري يا ڊفالٽ تي ٻڌل آهن، يا صارف جي ٽئين پارٽي گراهڪ طرفان استعمال يا استعمال. ڪسٽمر ذميوار آهي NXP Semiconductors پروڊڪٽس استعمال ڪندي ڪسٽمر جي ايپليڪيشنن ۽ پروڊڪٽس لاءِ سڀ ضروري ٽيسٽ ڪرڻ لاءِ ته جيئن ايپليڪيشنن ۽ پروڊڪٽس يا ايپليڪيشن جي ڊفالٽ کان بچڻ لاءِ يا صارف جي ٽئين پارٽي گراهڪ طرفان استعمال ڪيو وڃي. NXP ان سلسلي ۾ ڪا به ذميواري قبول نٿو ڪري.

تجارتي وڪري جا شرط ۽ ضابطا - NXP Semiconductors پراڊڪٽس وڪرو ڪيا وڃن ٿا تجارتي وڪرو جي عام شرطن ۽ شرطن جي تابع، جيئن شايع ٿيل https://www.nxp.com/profile/شرط، جيستائين ٻي صورت ۾ صحيح لکيل انفرادي معاهدي ۾ اتفاق نه ڪيو وڃي. ان صورت ۾ جڏهن هڪ فرد معاهدو ڪيو ويو آهي صرف لاڳاپيل معاهدي جا شرط ۽ شرط لاڳو ٿيندا. NXP Semiconductors ھتي واضح طور تي ڪسٽمر پاران NXP Semiconductors پروڊڪٽس جي خريداري جي حوالي سان ڪسٽمر جي عام شرطن ۽ شرطن کي لاڳو ڪرڻ تي اعتراض ڪن ٿا.

برآمد ڪنٽرول - ھي دستاويز ۽ ھتي بيان ڪيل شيون (ص) برآمد ڪنٽرول ضابطن جي تابع ٿي سگھي ٿي. ايڪسپورٽ کي قابل اختيار اختيارين کان اڳواٽ اجازت جي ضرورت هجي.

غير آٽوموٽو قابليت واري پروڊڪٽس ۾ استعمال لاءِ موزونيت - جيستائين هي دستاويز واضح طور تي بيان نٿو ڪري ته هي مخصوص NXP Semiconductors پراڊڪٽ آٽوموٽو قابل آهي، پراڊڪٽ گاڏين جي استعمال لاءِ مناسب ناهي. اهو نه ته قابل آهي ۽ نه ئي آزمائشي آٽوميٽڪ ٽيسٽنگ يا ايپليڪيشن گهرجن جي مطابق. NXP Semiconductors شامل ڪرڻ ۽/يا غير آٽوميٽڪ قابل پراڊڪٽس جي استعمال جي ذميواري قبول نه ڪندا آهن آٽوميٽڪ سامان يا ايپليڪيشنن ۾.

ان صورت ۾ ته گراهڪ پراڊڪٽ کي ڊيزائين لاءِ استعمال ڪري ٿو ۽ آٽوميٽڪ ايپليڪيشنن ۾ آٽو موٽر جي وضاحتن ۽ معيارن لاءِ استعمال ڪري ٿو، گراهڪ (a) پراڊڪٽ کي NXP سيمي ڪنڊڪٽرز وارن وارنٽي کان سواءِ استعمال ڪندو پراڊڪٽ جي اهڙين آٽوميٽڪ ايپليڪيشنن، استعمال ۽ وضاحتن لاءِ، ۽ ( b) جڏهن به گراهڪ پراڊڪٽ استعمال ڪري ٿو خودڪار ايپليڪيشنن لاءِ NXP Semiconductors جي وضاحتن کان ٻاهر، اهڙي استعمال کي صرف صارف جي پنهنجي خطري تي هوندو، ۽ (c) گراهڪ مڪمل طور تي NXP سيمڪنڊڪٽرز کي ڪنهن به ذميواري، نقصان يا ناڪام پراڊڪٽ جي دعوائن لاءِ معاوضو ڏئي ٿو جيڪو صارف جي ڊيزائن ۽ استعمال جي نتيجي ۾ NXP Semiconductors جي معياري وارنٽي ۽ NXP Semiconductors جي پراڊڪٽ جي وضاحتن کان ٻاهر آٽوميٽڪ ايپليڪيشنن لاءِ پراڊڪٽ

HTML اشاعتون - هڪ HTML نسخو، جيڪڏهن دستياب هجي، هن دستاويز جو هڪ صحبت طور مهيا ڪيو ويو آهي. قابل اطلاق معلومات PDF فارميٽ ۾ لاڳو ٿيل دستاويز ۾ موجود آهي. جيڪڏهن HTML دستاويزن ۽ PDF دستاويزن جي وچ ۾ فرق آهي، PDF دستاويز کي ترجيح ڏني وئي آهي.

ترجما - هڪ دستاويز جو هڪ غير انگريزي (ترجمو ڪيل) نسخو، جنهن ۾ ان دستاويز ۾ قانوني معلومات شامل آهي، صرف حوالي لاءِ آهي. ترجمو ٿيل ۽ انگريزي ورزن جي وچ ۾ ڪنهن به فرق جي صورت ۾ انگريزي ورزن غالب هوندو.

سيڪيورٽي - ڪسٽمر سمجھي ٿو ته سڀئي NXP پروڊڪٽس اڻڄاتل خطرن جي تابع ٿي سگھن ٿيون يا سڃاتل حدن سان قائم ٿيل حفاظتي معيار يا وضاحتن جي مدد ڪري سگھن ٿيون. گراهڪ پنهنجي زندگيءَ جي دوران ان جي ايپليڪيشنن ۽ پروڊڪٽس جي ڊيزائن ۽ آپريشن جو ذميوار هوندو آهي ته جيئن صارف جي ايپليڪيشنن ۽ پروڊڪٽس تي انهن ڪمزورين جي اثر کي گھٽائي سگهجي. ڪسٽمر جي ذميواري ٻين کليل ۽/يا پراپرائيٽري ٽيڪنالاجيز تائين به وڌي ٿي جيڪا NXP پروڊڪٽس جي مدد سان ڪسٽمر جي ايپليڪيشنن ۾ استعمال لاءِ. NXP ڪنهن به خطري جي ذميواري قبول نه ڪندو آهي. ڪسٽمر کي باقاعدي NXP کان سيڪيورٽي اپڊيٽ چيڪ ڪرڻ گهرجي ۽ مناسب طريقي سان پيروي ڪرڻ گهرجي. ڪسٽمر حفاظتي خصوصيتن سان پروڊڪٽس کي چونڊيندو جيڪي قاعدن، ضابطن ۽ ارادي واري ايپليڪيشن جي معيارن کي بهترين طريقي سان ملن ٿا ۽ ان جي پروڊڪٽس جي حوالي سان حتمي ڊيزائن جا فيصلا ڪن ٿا ۽ ان جي پروڊڪٽس بابت سڀني قانوني، ريگيوليٽري، ۽ سيڪيورٽي سان لاڳاپيل گهرجن جي تعميل لاءِ مڪمل طور تي ذميوار آهي، قطع نظر ڪنهن به معلومات يا مدد جي جيڪا شايد NXP پاران مهيا ڪئي وئي هجي.

NXP وٽ پراڊڪٽ سيڪيورٽي حادثن جي جوابي ٽيم (PSIRT) (PSIRT@nxp.com تي دستياب آهي) جيڪا NXP پروڊڪٽس جي سيڪيورٽي خطرن جي تحقيقات، رپورٽنگ، ۽ حل جاري ڪرڻ جو انتظام ڪري ٿي.

NXP B.V. - NXP B.V. هڪ آپريٽنگ ڪمپني ناهي ۽ اها پراڊڪٽس کي ورهائي يا وڪرو نه ڪري ٿي.

لائسنس

اين ايف سي ٽيڪنالاجي سان NXP ICs جي خريداري - هڪ NXP Semiconductors IC جي خريداري جيڪا ڪنهن هڪ جي مطابق هجي Near Field Communication (NFC) معيار ISO/IEC 18092 ۽ ISO/IEC 21481 ڪنهن به پيٽنٽ جي حق جي خلاف ورزي جي تحت لاڳو ٿيل لائسنس نه ٿو پهچائي. انهن معيارن مان ڪو به. NXP Semiconductors IC جي خريداري ۾ ڪنهن به NXP پيٽنٽ لاءِ لائسنس شامل نه آهي (يا ٻيو IP حق) انهن پروڊڪٽس جي ميلاپ کي ٻين پروڊڪٽس سان ڍڪي، چاهي هارڊويئر هجي يا سافٽ ويئر.

ٽريڊ مارڪ

نوٽيس: سڀئي حوالا ٿيل برانڊ، پراڊڪٽ جا نالا، سروس جا نالا، ۽ ٽريڊ مارڪ انهن جي لاڳاپيل مالڪن جي ملڪيت آهن. NXP — لفظ نشان ۽ علامت (لوگو) NXP BV جو ٽريڊمارڪ آھن I2C-bus — لوگو NXP BV جو ٽريڊمارڪ آھي

مهرباني ڪري آگاهه رهو ته هن دستاويز بابت اهم نوٽيس ۽ هتي بيان ڪيل پروڊڪٽس، سيڪشن 'قانوني ڄاڻ' ۾ شامل ڪيا ويا آهن.

© 2024 NXP BV سڀ حق محفوظ آهن.
وڌيڪ معلومات لاء، مهرباني ڪري دورو ڪريو: https://www.nxp.com

 

دستاويز / وسيلا

NXP PN7160 NCI جي بنياد تي NFC ڪنٽرولرز [pdf] هدايتون
PN7160, PN7220, PN7160 NCI جي بنياد تي NFC ڪنٽرولرز, PN7160, NCI جي بنياد تي NFC ڪنٽرولرز, بنياد NFC ڪنٽرولرز, NFC ڪنٽرولرز, ڪنٽرولرز

حوالو

تبصرو ڇڏي ڏيو

توهان جو اي ميل پتو شايع نه ڪيو ويندو. گهربل فيلڊ نشان لڳل آهن *