AN13971
PN7220 - د Android پورټینګ لارښود
Rev. 1.0 - 18 سپتمبر 2023
د غوښتنلیک یادښت
PN7220 مطابقت لرونکی NFC کنټرولر
د اسنادو معلومات
معلومات | منځپانګه |
کلیدي کلمې | PN7220، NCI، EMVCo، NFC فورم، Android، NFC |
خلاصون | دا سند تشریح کوي چې څنګه Android ته د PN7220 میډرویر ریلیز پورټ کړئ. |
د NXP سیمیکمډکټرونه
د بیاکتنې تاریخ
د بیاکتنې تاریخ
Rev | نیټه | تفصیل |
v.1.0 | 20230818 | لومړنۍ نسخه |
پیژندنه
دا سند د سافټویر لید څخه د Android پلیټ فارم کې د PN7220 NXP NCI-based NFC کنټرولر ادغام لپاره لارښوونې چمتو کوي.
دا لومړی تشریح کوي چې څنګه د اړتیا وړ کرنل ډرایور نصب کړئ، او بیا د PN7220 NFC کنټرولر لپاره مالتړ اضافه کولو لپاره د AOSP سرچینې دودیز کولو څرنګوالی ګام په ګام تشریح کوي. شکل 1 د ټول Android NFC سټیک جوړښت ښیې.
شکل 1. Android NFC سټیک
PN7220 په واحد کوربه او دوه اړخیز کوربه سناریو کې جلا شوی. په عموم کې ، سټیک د دوه ګوني کوربه لپاره ورته دی ، موږ SMCU اضافه کوو.
- د NXP I2C ډرایور د کرنل ماډل دی چې د PN7220 هارډویر سرچینو ته لاسرسی چمتو کوي.
- د HAL ماډل د کنټرولر NXP NFC ځانګړي HW خلاصون پرت پلي کول دي.
- LibNfc-nci یو اصلي کتابتون دی چې د NFC فعالیت چمتو کوي.
- NFC JNI د جاوا او اصلي ټولګیو تر مینځ د ګلو کوډ دی.
- د NFC او EMVCo چوکاټ د غوښتنلیک چوکاټ ماډل دی چې د NFC او EMVCo فعالیت ته لاسرسی چمتو کوي.
کرنل چلوونکی
د NFC Android سټیک د PN7220 سره د خبرو اترو لپاره د nxpnfc کرنل ډرایور کاروي. دا دلته شتون لري.
2.1 د موټر چلوونکي توضیحات
د nxpnfc کرنل ډرایور د PN7220 سره د I2C فزیکي انٹرفیس سره اړیکه وړاندیز کوي.
کله چې په کرنل کې بار شي، دا ډرایور PN7220 ته د وسیلې نوډ له لارې چې /dev/ nxpnfc نومیږي انټرفیس ښکاره کوي.
2.2 د سرچینې کوډ ترلاسه کول
د PN7220 ډرایور ذخیره د کرنل ډایرکټر کې کلون کړئ، د موجوده تطبیق ځای په ځای کول:
$rm -rf چلوونکي/nfc
$git کلون"https://github.com/NXPNFCLinux/nxpnfc.git"-b PN7220- د موټر چلوونکي /
دا د فولډر ډرایور/nfc سره پای ته رسیږي چې لاندې لري files:
- README.md: د معلوماتو ذخیره کول
- جوړول file: د موټر چلوونکي سرلیک جوړ کړئ file
- Kcon انځر: د موټر چلوونکي ترتیب file
- جواز: د موټر چلوونکي جواز شرایط
- د nfc فرعي فولډر لري:
– commoc. ج: د عام چلوونکي پلي کول
- عام h: د عام چلوونکي انٹرفیس تعریف
- i2c_drv.c: i2c ځانګړي ډرایور پلي کول
- i2c_drv.h: i2c ځانګړي ډرایور انٹرفیس تعریف
– جوړ کړئfile: جوړولfile چې په جوړونه کې شامل ديfile د موټر چلوونکي
- Kbuild => جوړول file
- Kconfig => د چلوونکي ترتیب file
2.3 د موټر چلوونکي جوړول
په کرنل کې د ډرایور شاملول او د وسیلې بوټ په جریان کې یې بار کول د وسیلې ټرۍ څخه مننه ترسره کیږي.
د وسیلې ونې تعریف تازه کولو وروسته ، د پلیټ فارم پورې اړوند وسیله ونې باید بیا جوړ شي. NXP د کرنل نسخه 5.10 کارولو وړاندیز کوي ، ځکه چې پدې نسخه کې بشپړ تایید شوی.
- کرنل ډاونلوډ کړئ
- د موټر چلوونکي سرچینې کوډ ترلاسه کړئ.
- د وسیلې ونې تعریف بدل کړئ (د وسیلې لپاره ځانګړي چې موږ یې کاروو).
- چلوونکی جوړ کړئ.
a. د مینو کنفګ طرزالعمل له لارې، په جوړولو کې د هدف ډرایور شامل کړئ.
د بشپړ کرنل له بیا جوړولو وروسته، ډرایور به د کرنل په عکس کې شامل شي. موږ باید ډاډ ترلاسه کړو چې د کرنل ټول نوي عکسونه د AOSP جوړونې کې کاپي شوي.
د 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 sync
یادونه: د ریپو وسیله باید په سیسټم کې نصب شي. لارښوونې تعقیب کړئ [2]. - کله چې موږ د سرچینې کوډ ولرو، موږ کولی شو لارښود ته ننوځو او جوړ کړو:
$cd Android_AROOT
$source build/envsetup.sh
$lunch select_target #target DH دی موږ غواړو د پخوا لپاره وکارووample: db845c-userdebug $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 کلون xxxxxxx
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/64-bit/libpn72xx_fw.so AROOT/vendor/nxp/pn7220/firmware/lib64/libpn72xx_fw.so
$cp -r nfc-NXPNFCC_FW/InfraFW/pn7220/32-bit/libpn72xx_fw.so AROOT/vendor/nxp/pn7220/firmware/lib/libpn72xx_fw.so - د جوړولو لپاره 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 $git چک آوټ 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 چوکاټ/بیس
$mm
$cd ../..
$cd پلورونکی/nxp/ چوکاټونه
$mm #له دې وروسته، موږ باید com.nxp.emvco.jar دننه وګورو/target/product/xxxx/system/framwework/
$cd ../../..
$cd هارډویر/nxp/nfc
$mm
$cd ../../..
$make -j
اوس، موږ د دې توان لرو چې خپل وسیله کوربه د Android عکس سره فلش کړو چې د NFC ځانګړتیاوې پکې شاملې دي.
3.2 په هدفونو کې د Android NFC ایپس او Lib
په دې فرعي برخه کې، موږ تشریح کوو چیرې چې ځانګړي تالیف شوي files وهل کیږي. که کوم بدلون وي، موږ کولی شو یوازې هغه بدل کړو file. جدول 1 ټول ځایونه ښیې.
جدول 1. تالیف شوی fileد وسیلې هدف سره
د پروژې موقعیت | تالیف شوی 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"/هارډویر/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 |
/ویندر/lib64 /ویندر/bin/hw/ /ویندر/etc/init system/lib64/ system/lib64/ system/lib64/ |
"$ANDROID_ROOT"/هارډویر/nxp/nfc | vendor.nxp.nxpnfc@2.0.so | /system/lib64 |
"$ANDROID_ROOT"/پلورونکی/nxp/ چوکاټونه | com.nxp.emvco.jar | /سیسټم/چوکاټ / پلورونکی/ چوکاټ |
"$ANDROID_ROOT"/هارډویر/nxp/emvco | emvco_poller.so android.hardware.emvco-service android.hardware.emvco-service.rc android.hardware.emvco-V1-ndk.so android.hardware.emvco-V2-ndk.so |
/ویندر/lib64 /ویندر/bin/hw/ /ویندر/etc/init system/lib64/ system/lib64/ |
3.3 د پیچ نقشه کول
هر پیچ باید په یو ځانګړي ځای کې پلي شي. جدول 2 د پیچ نوم او هغه ځای ښیې چیرې چې موږ باید دا پلي کړو او د بلاک نوم ، کوم چې موږ ته ښیې چې د NFC سټیک (شکل 1) کې چیرې موقعیت لري.
جدول 2. په NFC سټیک کې د پیچ ځای
د بلاک نوم | د پیچ نوم | د درخواست کولو ځای |
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 | کڅوړې/apps/nfc/ |
د NFC خدمت | AROOT_packages_apps_Nfc.patch | کڅوړې/apps/nfc/ |
د NFC چوکاټ | AROOT_frameworks_base.patch | چوکاټ/بنسټ/ |
د EMVCo چوکاټ | AROOT_vendor_nxp_frameworks.patch | پلورونکی/nxp/ چوکاټونه/ |
3.4 د عکسونو فلش کول
انځورونه په /out/target/product/{selected_DH} کې موندل کیدی شي. د سیسټم عکسونو فلش کولو لپاره ، موږ باید لاندې کمانډونه پرمخ یوسو (د ډریګن بورډ 845c کې ازمول شوي).
$ adb ریبوټ بوټلوډر
$ fastboot فلش بوټ boot_uefi.img
$ fastboot فلش vendor_boot vendor_boot.img
$ fastboot فلش سپر super.img
$ fastboot فلش userdata userdata.img
$ fastboot بڼه: ext4 میټاډاټا $fastboot ریبوټ
وروسته له دې چې عکسونه فلش کیږي، موږ باید د لاندې کمانډونو په چلولو سره یو څه میګا واټ پاک کړو (په ډریګن بورډ 845c کې ازمول شوی).
$ adb wait-for-device
$ adb روټ
$ 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 شیل chmod 0777 /system/etc/EMVCoAidlHalComplianceTest
$ adb push Test_APK/EMVCoAidlHalDesfireTest/EMVCoAidlHalDesfireTest سیسټم/etc
$ adb شیل chmod 0777 /system/etc/EMVCoAidlHalDesfireTest
$ adb push Test_APK/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk system/app/EMVCoModeSwitchApp/EMVCoModeSwitchApp.apk
$ adb shell sync
$ adb ریبوټ
$ adb wait-for-device
3.5 تشکیل files
په PN7220 کې، موږ څلور مختلف ترتیبونه لرو files.
- libemvco-nxp.conf
- libnfc-nci.conf
- libnfc-nxp.conf
- libnfc-nxp-eeprom.conf
یادونه: پام وکړئ چې تنظیمات fileپه پخوانیو کې چمتو شویampد NFC کنټرولر ډیمو بورډ پورې اړه لري. دا files باید د هدف شوي ادغام سره سم تصویب شي.
ټول څلور files باید ځانګړي ځای ته واستول شي.
جدول 3. د ترتیب کولو ځایونه files
د ترتیب نوم file | په وسیله کې موقعیت |
libemvco-nxp.conf | پلورونکی/etc |
libnfc-nci.conf | پلورونکی/etc |
libnfc-nxp.conf | سیسټم او نور |
libnfc-nxp-eeprom.conf | پلورونکی/etc |
libnfc-nxp-eeprom.conf
جدول 4. libnfc-nxp-eeprom.conf توضیحات
نوم | تشریح | ډیفالټ ارزښت |
NXP_SYS_CLK_ SRC_SEL |
د سیسټم ساعت سرچینې انتخاب ترتیب | 0x01 |
NXP_SYS_CLK_ FREQ_SEL |
د سیسټم ساعت فریکونسۍ انتخاب ترتیب | 0x08 |
NXP_ENABLE_ غیر فعاله_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/vendor/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 ملاتړ شوی حالت تنظیم کړئ | 0x3B |
جدول 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 | د MIFARE فعالولو لپاره د NFC ریډر لپاره توسیع | اکس 01 |
NXP_FW_TYPE | فرم ویئر file ډول | اکس 01 |
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 کنټرولر ملکیت برخې تنظیم کړئ | {۰۰، ۰۰، ۰۰، ۰۰} |
NXP_SET_CONFIG_ALWAYS | تل CORE_CONF او CORE_CONF_EXTN واستوئ (د دې فعالولو سپارښتنه نه کیږي.) | اکس 00 |
NXP_RF_CONF_BLK_1 | د RF ترتیبات | ترتیب چیک کړئ file |
ISO_DEP_MAX_TRANSCEIVE | د اعظمي ISO-DEP پراخ شوی APDU اوږدوالی تعریف کړئ | اکسفف |
PRESENCE_CHECK_ALGORITHM | د T4T شتون چیک طرزالعمل لپاره کارول شوي الګوریتم تنظیم کړئ | 2 |
NXP_FLASH_CONFIG | د فلش کولو اختیارونو تشکیلات | 0x02 |
جدول 7. libemvco-nxp.conf تشریح
نوم | تشریح | ډیفالټ ارزښت |
د NXP LOG EXTNS LOGLEVEL | د extns د ننوتلو کچې لپاره ترتیب | 0x03 |
NXP LOG NCHAL LOGLEVEL | د HAL د ننوتلو وړ کولو لپاره ترتیب | 0x03 |
د NXP LOG NCIX LOGLEVEL | د NCI TX پاکټونو د ننوتلو وړ کولو لپاره ترتیب | 0x03 |
NXP LOG NCIR LOGLEVEL | د NCI RX پاکټونو د ننوتلو وړ کولو لپاره ترتیب | 0x03 |
NXP LOG TML LOGLEVEL | د TML د ننوتلو وړ کولو لپاره ترتیب | 0x03 |
NXP_EMVCO_DEBUG_ENABLED | ډیبګ کول فعال کړئ | 0x03 |
NXP EMVCO DEV NODE | د EMVCo وسیلې نوډ نوم | "/dev/nxpnfc" |
د NXP PCD ترتیبات | د دوو پړاوونو تر منځ د رای ورکولو د ځنډولو ترتیب کول | (20، 02، 07، 01، A0، 64، 03، EC، 13، 06) |
د NXP ترتیب ترتیب | د ډیبګ کولو هدف لپاره د ترتیب کمانډ تنظیم کولو اختیار | ترتیب چیک کړئ file |
NXP کنفیګ ترلاسه کړئ | د ډیبګ کولو هدف لپاره د تشکیل کمانډ ترلاسه کولو اختیار | ترتیب چیک کړئ file |
3.6 د DTA غوښتنلیک
د NFC فورم تصدیق ازموینې ته اجازه ورکولو لپاره، د وسیلې ازموینې غوښتنلیک چمتو شوی. دا د مختلف Android پرتونو کې د ډیری برخو څخه جوړ شوی ، کوم چې باید جوړ شي او د Android عکس کې شامل شي.
د DTA غوښتنلیک فشارولو لپاره، موږ باید لاندې مرحلې تعقیب کړو:
- ټول DTA کاپي کړئ fileیو ځای ته
$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 push NxpDTA.apk /system/app/NxpDTA/
د هدف فلش کولو وروسته ، د DTA غوښتنلیک باید د نصب شوي غوښتنلیکونو لیست کې شتون ولري. د غوښتنلیک کارولو څرنګوالي د تفصيلي توضیحاتو لپاره UG وګورئ.
i.MX 8M نانو پورټینګ
د پخواني په توګهample، موږ وښیو چې د i.MX 8M پلیټ فارم ته پورټینګ څه ډول ښکاري. د نورو معلوماتو د ترلاسه کولو لپاره، وګورئ [3].
4.1 هارډویر
په اوس وخت کې، NXP د اډاپټر بورډ نه وړاندې کوي. 8 جدول وګورئ ترڅو وګورئ چې بورډونه د تارونو سره څنګه وصل کړئ.
جدول 8. PN7220 څخه i.MX 8M نانو اتصال
پن | PN7220 | i.MX 8M NANO |
VEN | J27 – 7 | J003 – 40 |
IRQ | J27 – 6 | J003 – 37 |
SDA | J27 – 3 | J003 – 3 |
SCL | J27 – 2 | J003 – 5 |
MODE_SWITCH | J43 – 32 | J003 – 38 |
GND | J27 – 1 | J003 – 39 |
د ایکس این ایم ایکس سافټویر
پدې برخه کې بیان شوي ګامونه تشریح کوي چې څنګه موږ کولی شو PN7200 i.MX 8M نانو پلیټ فارم ته پورټ کړو. د یو څه تعدیل سره ورته مرحلې ، دا د کوم بل DH ته د پورټ کولو لپاره کارول کیدی شي چې د Android OS چلوي.
یادونه: په دې پورټینګ کې پخوانیample، موږ 13.0.0_1.0.0_Android_Source کاروو.
موږ کولی شو د AOSP کوډ پورې اړوند پیچونه بیا وکاروو. هغه څه چې باید بدل شي دا دي:
- د وسیلې ونه (په i.MX 8M نانو کې، دا AROOT_vendor_nxp-opensource_imx_kernel.patch دی)
- د وسیلې ځانګړي پیچ (په i.MX 8M نانو کې، دا AROOT_device_nxp.patch دی)
په AROOT_vendor_nxp-opensource_imx_kernel.patch کې، موږ کولی شو وګورو چې ډرایور څنګه شامل دی او د وسیله ونې څنګه جوړیږي. دا د هر وسیلې کوربه لپاره ځانګړی دی ځکه چې موږ باید د پن ترتیب ته پاملرنه وکړو ، او دا د بورډونو ترمینځ توپیر لري. موږ باید د مینو ترتیب ته هم پاملرنه وکړو.
په AROOT_device_nxp.patch کې، موږ په جوړښت کې nfc شامل یو. په عموم کې، موږ ډاډ ترلاسه کوو چې ټول خدمتونه په سمه توګه شامل دي، او داسې نور. کله چې د ځانګړي وسیلې کوربه ته پورټ کول، دا پیچ د حوالې په توګه واخلئ او ټول شیان دننه شامل کړئ.
یو اضافي شی چې موږ په پورټینګ کې ترسره کړل په وسیله-nfc.mk کې موقعیت لري file:
موږ باید په لاندې کرښو کې تبصره وکړو:
# BOARD_SEPOLICY_DIRS += پلورونکی/$(NXP_VENDOR_DIR)/nfc/sepolicy \
# پلورونکی/$(NXP_VENDOR_DIR)/nfc/sepolicy/nfc
د دې دلیل دا دی چې موږ د وسیلې ځانګړي BoardConfig.mk کې sepolicy شامل یو file. د انځور جوړولو لپاره ګامونه:
> د i.MX8M نانو لپاره د AOSP کوډ ترلاسه کړئ
> AOSP جوړ کړئ
> د NXP پیچ ترلاسه کړئ ([5])
> ټول پیچونه د install_nfc.sh سره پلي کړئ
> د سي ډي چوکاټ/بیس
> mm
> سي ډي ../..
> د سي ډي پلورونکي/nxp/ چوکاټونه
> mm # وروسته له دې، موږ باید com.nxp.emvco.jar دننه وګورو/target/product/imx8mn/system/framwework/
> سي ډي ../../..
> cd هارډویر/nxp/nfc
> mm
> سي ډي ../../..
> جوړ کړئ
> انځورونه ډاونلوډ کړئ او د i.MX8M نانو فلش کولو لپاره uuu وسیله وکاروئ
لنډیزونه
جدول 9. لنډیزونه
مخفف | تفصیل |
APDU | د غوښتنلیک پروتوکول ډیټا واحد |
AOSP | د Android خلاصې سرچینې پروژه |
DH | د وسیلې کوربه |
HAL | د هارډویر خلاصون پرت |
FW | فرم ویئر |
I2C | بین الافغاني سرکټ |
LPCD | د ټیټ بریښنا کارت کشف |
NCI | د NFC کنټرولر انٹرفیس |
NFC | نږدې ساحې ارتباط |
MW | منځنی سامان |
PLL | د پړاو تړل شوی لوپ |
P2P | ملګري په ملګري |
RF | د راډیو فریکونسي |
SDA | سیریل ډاټا |
SMCU | خوندي مایکرو کنټرولر |
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
په سند کې د سرچینې کوډ په اړه یادونه وکړئ
Exampپه دې سند کې ښودل شوی کوډ لاندې کاپي حق لري او د BSD-3-Clause جواز لري:
د کاپي حق 2023 NXP بیا توزیع او د سرچینې او بائنری فورمو کې کارول، د تعدیل سره یا پرته، اجازه لري چې لاندې شرایط پوره کړي:
- د سرچینې کوډ بیا توزیع باید د کاپي حق پورتنۍ خبرتیا، د شرایطو لیست او لاندې اعلانات وساتي.
- په بائنری شکل کې بیا توزیع باید د پورتنۍ کاپي حق خبرتیا بیا تولید کړي ، د شرایطو دا لیست او په اسنادو کې لاندې اعلان او / یا نور توکي باید د توزیع سره چمتو شي.
- نه د کاپي رایټ لرونکي نوم او نه هم د دې شریک کونکي نومونه د ځانګړي مخکیني لیکلي اجازې پرته د دې سافټویر څخه ترلاسه شوي محصولاتو تایید یا فروغ لپاره کارول کیدی شي.
دا سافټویر د کاپي حقدارانو او مرسته کونکو لخوا چمتو شوی "لکه څنګه چې دی" او هر ډول څرګند یا ضمیمه تضمینونه، په شمول، مګر محدود نه دي، د تضمین شوي تضمین تضمین هدف رد شوی دی. په هیڅ صورت کې به د کاپي حق لرونکی یا ونډه اخیستونکي د کوم مستقیم، غیر مستقیم، تصادفي، ځانګړي، مثالي، یا پایله لرونکي زیانونو لپاره مسؤل نه وي (پشمول، مګر محدود نه وي. یا خدمتونه؛ د کارونې، ډاټا، یا ګټې یا د سوداګرۍ خنډ) په هرصورت، د مسؤلیت په نظر کې، که څه هم په تړون کې وي، سخت مسؤلیت، یا غیرقانوني کول) د دې سافټویر کارولو څخه په هره لاره کې، حتی که د ورته زیان د احتمال په اړه مشوره ورکړل شي.
قانوني معلومات
8.1 تعریفونه
مسوده – په سند کې د مسودې حالت ښیي چې مینځپانګه لاهم د داخلي بیاکتنې لاندې دهview او د رسمي تصویب تابع وي، کوم چې کیدای شي د تعدیلاتو یا اضافو پایله ولري. د NXP سیمی کنډکټرونه د اسنادو په مسوده کې شامل شوي معلوماتو دقت یا بشپړتیا په اړه هیڅ ډول نمایش یا تضمین نه ورکوي او د داسې معلوماتو کارولو پایلو لپاره هیڅ مسؤلیت نلري.
8.2 اعلانونه
محدود تضمین او مسؤلیت - په دې سند کې معلومات د اعتبار وړ او دقیق دي. په هرصورت، د NXP سیمیکمډکټرونه د داسې معلوماتو دقت یا بشپړتیا په اړه هیڅ ډول نمایش یا تضمین نه ورکوي، څرګند یا ضمیمه شوي او د داسې معلوماتو کارولو پایلو لپاره هیڅ مسؤلیت نلري. د NXP سیمیکنډکټرونه په دې سند کې د مینځپانګې مسؤلیت په غاړه نه اخلي که چیرې د NXP سیمیکمډکټر څخه بهر د معلوماتو سرچینې لخوا چمتو شوي وي.
په هیڅ صورت کې د NXP سیمیک کنډکټرونه د هر ډول غیر مستقیم، حادثې، مجازاتو، ځانګړي یا پایله لرونکي زیانونو لپاره مسؤل نه دي (پشمول - پرته له محدودیت څخه ضایع شوې ګټې، ضایع شوي سپما، د سوداګرۍ خنډ، د هر محصول یا د بیا کار کولو لګښتونو لرې کولو یا بدلولو پورې اړوند لګښتونه) که یا دا ډول زیانونه د شکنجې (د غفلت په ګډون)، تضمین، د تړون سرغړونې یا کومې بلې قانوني نظریې پر بنسټ ندي.
د هر ډول زیانونو سره سره چې پیرودونکي ممکن د هر دلیل له امله پیښ شي، د NXP سیمیکمډکټرونو مجموعي او مجموعي مسؤلیت د پیرودونکي په وړاندې د هغه محصولاتو لپاره چې دلته تشریح شوي باید د NXP سیمیکمډکټرونو د سوداګریز پلور د شرایطو او شرایطو سره سم محدود وي.
د بدلون راوستلو حق - د NXP سیمیکمډکټر حق لري چې په دې سند کې خپاره شوي معلوماتو کې بدلونونه راولي، په شمول د محدودیت مشخصاتو او د محصول توضیحاتو پرته، هر وخت او پرته له خبرتیا. دا سند ټول هغه معلومات بدلوي او ځای په ځای کوي چې دلته د خپریدو دمخه چمتو شوي.
د استعمال لپاره مناسب - د NXP سیمیکمډکټر محصولات ډیزاین شوي ، مجاز یا تضمین ندي چې د ژوند ملاتړ ، ژوند - مهم یا خوندیتوب - مهم سیسټمونو یا تجهیزاتو کې د کارولو لپاره مناسب وي ، او نه هم په غوښتنلیکونو کې چیرې چې د NXP سیمیکمډکټر محصول ناکامي یا نیمګړتیا په معقول ډول تمه کیدی شي پایله ولري. شخصي ژوبل، مړینه یا شدید ملکیت یا د چاپیریال زیان. د NXP سیمیکنډکټرونه او د هغې عرضه کونکي په داسې تجهیزاتو یا غوښتنلیکونو کې د NXP سیمیکمډکټر محصولاتو شاملولو او/یا کارولو لپاره هیڅ مسؤلیت نه مني او له همدې امله دا ډول شاملول او/یا کارول د پیرودونکي په خپل خطر کې دي.
غوښتنلیکونه - هغه غوښتنلیکونه چې دلته د دې محصولاتو لپاره تشریح شوي یوازې د توضیحي موخو لپاره دي. د NXP سیمیکمډکټرونه هیڅ استازیتوب یا تضمین نه کوي چې دا ډول غوښتنلیکونه به د نورو ازموینې یا ترمیم پرته د ټاکل شوي کارونې لپاره مناسب وي. پیرودونکي د NXP Semiconductors محصولاتو په کارولو سره د خپلو غوښتنلیکونو او محصولاتو ډیزاین او عملیاتو مسؤلیت لري، او د NXP سیمیکمډکټر د غوښتنلیکونو یا پیرودونکي محصول ډیزاین سره د مرستې لپاره هیڅ مسؤلیت نه مني. دا د پیرودونکي یوازینی مسؤلیت دی چې دا معلومه کړي چې ایا د NXP سیمیکمډکټر محصول د پیرودونکي غوښتنلیکونو او محصولاتو پلان شوي پلان لپاره مناسب او مناسب دی ، په بیله بیا د پلان شوي غوښتنلیک او د پیرودونکي د دریمې ډلې پیرودونکي کارولو لپاره. پیرودونکي باید مناسب ډیزاین او عملیاتي محافظتونه چمتو کړي ترڅو د دوی غوښتنلیکونو او محصولاتو پورې اړوند خطرونه کم کړي.
د NXP سیمیکمډکټرونه د کوم ډیفالټ ، زیان ، لګښت یا ستونزې پورې اړوند هیڅ مسؤلیت نه مني چې د پیرودونکي غوښتنلیکونو یا محصولاتو کې د کوم ضعف یا ډیفالټ پراساس وي ، یا د پیرودونکي د دریمې ډلې پیرودونکي لخوا غوښتنلیک یا کارول. پیرودونکي د NXP سیمیکمډکټر محصولاتو په کارولو سره د پیرودونکي غوښتنلیکونو او محصولاتو لپاره د ټولو اړینو ازموینو ترسره کولو مسؤلیت لري ترڅو د غوښتنلیکونو او محصولاتو یا غوښتنلیک یا د پیرودونکي د دریمې ډلې پیرودونکي لخوا کارولو څخه مخنیوی وشي. NXP پدې برخه کې هیڅ مسؤلیت نه مني.
د تجارتي خرڅلاو شرایط او شرایط - د NXP سیمیکمډکټر محصولات د سوداګریز پلور عمومي شرایطو او شرایطو سره سم پلورل کیږي، لکه څنګه چې په کې خپاره شوي http://www.nxp.com/profile/terms، پرته لدې چې په بل ډول په یوه معتبر لیکلي انفرادي تړون کې موافقه شوې وي. په هغه صورت کې چې یو انفرادي تړون پای ته رسیږي یوازې د اړوند تړون شرایط او شرایط پلي کیږي. د NXP سیمیکنډکټرونه دلته په ښکاره ډول د پیرودونکي لخوا د NXP سیمیکمډکټر محصولاتو پیرودلو په اړه د پیرودونکي عمومي شرایطو او شرایطو پلي کولو اعتراض کوي.
د صادراتو کنټرول - دا سند او همدارنګه دلته تشریح شوي توکي ممکن د صادراتو کنټرول مقرراتو تابع وي. صادرات ممکن د وړ چارواکو څخه مخکینۍ اجازې ته اړتیا ولري.
په غیر اتومات وړ وړ محصولاتو کې د کارولو لپاره مناسب - پرته لدې چې دا سند په څرګند ډول وايي چې دا ځانګړي NXP سیمی کنډکټر محصول د موټرو وړ دی ، محصول د موټرو کارولو لپاره مناسب ندی. دا د موټرو ازموینې یا غوښتنلیک اړتیاو سره سم نه وړ دی او نه ازمول شوی. د NXP سیمیکمډکټرونه د موټرو تجهیزاتو یا غوښتنلیکونو کې د غیر اتومات وړ وړ محصولاتو شاملولو او/یا کارولو لپاره هیڅ مسؤلیت نه مني.
په هغه صورت کې چې پیرودونکی محصول د اتوماتیک غوښتنلیکونو کې د ډیزاین کولو او کارولو لپاره د موټرو مشخصاتو او معیارونو لپاره کاروي ، پیرودونکي (a) باید محصول د دې ډول اتومات غوښتنلیکونو ، کارولو او مشخصاتو لپاره د محصول د NXP سیمیکمډکټر تضمین پرته وکاروي ، او ( b) هرکله چې پیرودونکي د NXP سیمیکمډکټرونو مشخصاتو هاخوا د اتوماتیک غوښتنلیکونو لپاره محصول کاروي دا ډول کارول باید یوازې د پیرودونکي په خپل خطر کې وي ، او (c) پیرودونکي د پیرودونکي ډیزاین او کارولو په پایله کې د هر ډول مسؤلیت ، زیانونو یا ناکام محصول ادعاګانو لپاره د NXP سیمیکنډکټرونو بشپړ تاوان ورکوي. د NXP سیمی کنډکټرونو معیاري تضمین او د NXP سیمیکمډکټر محصول مشخصاتو هاخوا د اتوماتیک غوښتنلیکونو لپاره محصول.
د ارزونې محصولات - دا محصول یوازې د ارزونې موخو لپاره د "لکه څنګه چې دی" او "د ټولو غلطیو سره" پر بنسټ چمتو شوی. د NXP سیمی کنډکټرونه، د هغې وابسته شرکتونه او د دوی عرضه کوونکي په ښکاره توګه ټول تضمین ردوي، که څرګند، ضمیمه یا قانوني وي، په شمول مګر د یو ځانګړي هدف لپاره د غیر سرغړونې، سوداګریزې وړتیا او فټنس تضمین شوي تضمینونو پورې محدود ندي. د کیفیت په اړه ټول خطر، یا د دې محصول د کارولو یا فعالیت څخه رامینځته کیږي، د پیرودونکي سره پاتې کیږي.
په هیڅ صورت کې د NXP سیمیک کنډکټرونه، د هغې وابسته یا د دوی عرضه کوونکي د کوم ځانګړي، غیر مستقیم، نتیجه لرونکي، مجازاتو یا حادثاتي زیانونو (د سوداګرۍ د ضایع کیدو، د سوداګرۍ خنډ، د کارونې ضایع، د معلوماتو یا معلوماتو له لاسه ورکولو پرته د محدودیت زیانونو په شمول) د پیرودونکو لپاره مسؤلیت نه لري. ، او ورته ورته) د محصول د کارولو یا نه کولو له امله رامینځته کیږي ، که نه
د شکنجې (د غفلت په شمول)، د سخت مسؤلیت، د تړون څخه سرغړونه، د تضمین یا کومې بلې تیورۍ پر بنسټ، حتی که د ورته زیانونو د احتمال په اړه مشوره ورکړل شي. د هر ډول زیانونو سره سره چې پیرودونکي ممکن د کوم دلیل له امله پیښ شي (د محدودیت پرته، پورته ذکر شوي ټول زیانونه او ټول مستقیم یا عمومي زیانونه)، د NXP سیمی کنډکټرانو، د هغې د اړوندو شرکتونو او د دوی عرضه کونکو ټول مسؤلیت او د پورتنیو ټولو لپاره د پیرودونکي ځانګړې درملنه باید د حقیقي زیانونو پورې محدود وي چې د پیرودونکي لخوا د مناسب انحصار پراساس د محصول یا پنځه ډالرو (US$ 5.00) لپاره د پیرودونکي لخوا تادیه شوي مقدار څخه ډیر وي. پورتني محدودیتونه، استخراجونه او اعلانونه باید د تطبیق شوي قانون لخوا اجازه ورکړل شوي اعظمي حد پورې پلي شي، حتی که کوم تدبیر د خپل اصلي هدف څخه پاتې نشي.
ژباړې - د یوه سند غیر انګلیسي (ژباړل شوې) نسخه، په دې سند کې د قانوني معلوماتو په ګډون، یوازې د حوالې لپاره ده. د ژباړل شوي او انګلیسي نسخو ترمنځ د کوم توپیر په صورت کې انګلیسي نسخه باید غالب وي.
امنیت - پیرودونکي پوهیږي چې د NXP ټول محصولات ممکن د نامعلومو زیانونو تابع وي یا ممکن د پیژندل شوي محدودیتونو سره د تاسیس شوي امنیتي معیارونو یا مشخصاتو ملاتړ وکړي. پیرودونکی د خپل ژوند په اوږدو کې د خپلو غوښتنلیکونو او محصولاتو ډیزاین او عملیاتو مسؤل دی ترڅو د پیرودونکي غوښتنلیکونو او محصولاتو باندې د دې زیانونو اغیز کم کړي. د پیرودونکي مسؤلیت نورو خلاص او/یا ملکیت ټیکنالوژیو ته هم غزیږي چې د پیرودونکي غوښتنلیکونو کې د کارولو لپاره د NXP محصولاتو لخوا ملاتړ کیږي. NXP د کوم زیان لپاره هیڅ مسؤلیت نه مني. پیرودونکي باید په منظمه توګه د NXP څخه امنیتي تازه معلومات وګوري او په سمه توګه تعقیب کړي. پیرودونکي باید د امنیتي ځانګړتیاو سره محصولات غوره کړي چې د ټاکل شوي غوښتنلیک مقررات، مقررات او معیارونه تر ټولو ښه پوره کوي او د خپلو محصولاتو په اړه د ډیزاین وروستۍ پریکړې کوي او یوازې د خپلو محصولاتو په اړه د ټولو قانوني، تنظیمي، او امنیت پورې اړوند اړتیاوو سره د مطابقت مسولیت لري. د هر ډول معلوماتو یا مالتړ چې کیدای شي د NXP لخوا چمتو شي.
NXP د محصول امنیت پیښې غبرګون ټیم (PSIRT) لري (د لاسرسي وړ PSIRT@nxp.com) چې د NXP محصولاتو امنیتي زیانونو ته د څیړنې، راپور ورکولو، او حل حل اداره کوي.
NXP BV - NXP BV عملیاتي شرکت نه دی او دا محصولات نه توزیع کوي یا پلوري.
8.3 جوازونه
د NFC ټیکنالوژۍ سره د NXP ICs پیرود - د NXP سیمیکمډکټر IC پیرود چې د نږدې ساحې مخابراتو (NFC) معیارونو ISO/IEC 18092 او ISO/IEC 21481 سره مطابقت لري د پلي کولو لخوا د هر ډول پیټینټ حق څخه سرغړونې لاندې ضمیمه جواز نه وړاندې کوي. د دې معیارونو څخه کوم یو. د NXP سیمیکمډکټر IC پیرود د NXP پیټینټ (یا نور IP حق) ته جواز نلري چې د نورو محصولاتو سره د دې محصولاتو ترکیب پوښي ، که هارډویر وي یا سافټویر.
8.4 سوداګریز نښې
یادونه: ټول راجع شوي برانډونه، د محصول نومونه، د خدماتو نومونه، او سوداګریزې نښې د دوی د اړوندو مالکینو ملکیت دی.
NXP - د کلمې نښه او لوګو د NXP BV سوداګریزې نښې دي
EdgeVerse - د NXP BV سوداګریز نښه ده
i.MX — د NXP BV سوداګریز نښه ده
I2C-bus - لوګو د NXP BV سوداګریز نښه ده
اوریکل او جاوا - د اوریکل او/یا د هغې د اړوندو شرکتونو راجستر شوي سوداګریزې نښې دي.
مهرباني وکړئ په یاد ولرئ چې د دې سند او محصولاتو په اړه مهم خبرتیاوې چې دلته تشریح شوي، د 'قانوني معلوماتو' برخه کې شامل شوي دي.
© 2023 NXP BV
د لا زیاتو معلوماتو لپاره، مهرباني وکړئ لیدنه وکړئ: http://www.nxp.com
ټول حقونه خوندي دي.
د خپریدو نیټه: 18 سپتمبر 2023
د سند پیژندونکی: AN13971
AN13971
د غوښتنلیک یادښت
په دې سند کې چمتو شوي ټول معلومات د قانوني اعلاناتو تابع دي.
Rev. 1.0 - 18 سپتمبر 2023
© 2023 NXP BV ټول حقونه خوندي دي.
اسناد / سرچینې
![]() |
د NXP PN7220 مطابقت لرونکي NFC کنټرولر [pdf] د کارونکي لارښود PN7220 مطابقت لرونکی NFC کنټرولر, PN7220, مطابقت لرونکی NFC کنټرولر, NFC کنټرولر, کنټرولر |