__________________________________________________
NXPNFCRDLIB EXAMPLE :
NFCRDLIB_EMVCO_INTEROPCOMPLAPP
(V07.10.00)
__________________________________________________
Table of Contents
_________________
1 Document Purpose
2 Description of the Nfcrdlib_EMVCo_InteropComplApp
3 Restrictions on Nfcrdlib_EMVCo_InteropComplApp
4 Configurations of Nfcrdlib_EMVCo_InteropComplApp
5 Package Contents
6 Mandatory materials (not included)
7 Hardware Configuration
8 Software Configuration
9 Steps to build Nfcrdlib_EMVCo_InteropComplApp for LPC1769 with PN5190 using MCUXpresso
10 Steps to build Nfcrdlib_EMVCo_InteropComplApp for LPC1769 with PN5180 using MCUXpresso
11 Steps to build Nfcrdlib_EMVCo_InteropComplApp for LPC1769 with RC663 using MCUXpresso
12 Steps to build Nfcrdlib_EMVCo_InteropComplApp for PN7462AU using MCUXpresso
13 Steps to build Nfcrdlib_EMVCo_InteropComplApp for FRDM-K82F using MCUXpresso
14 Selection of Board / OSAL / Frontend (MCUXpresso)
15 Steps to follow for PI / Linux / CMake
16 Running Nfcrdlib_EMVCo_InteropComplApp
17 List of supported NFC Reader Boards/ICs
18 Reference Documents
1 Document Purpose
==================
This document describes the steps to be followed to execute
Nfcrdlib_EMVCo_InteropComplApp example as well as it's known problems
and restrictions.
2 Description of the Nfcrdlib_EMVCo_InteropComplApp
===================================================
- Nfcrdlib_EMVCo_InteropComplApp can be run with CLEV663B, PN5180,
PN5190 and PN7462AU. (See Section-17 for supported versions)
This example is a Interoperability LoopBack Application which is used
to perform EMVCo IOP(L1) with add-on(TTA Bulletin No.195) compliance
validation. The CPU frequency configured for the Host controller
platforms should be sufficient enough to meet EMVCo timing
requirements.
3 Restrictions on Nfcrdlib_EMVCo_InteropComplApp
================================================
- Nfcrdlib_EMVCo_InteropComplApp is restricted to be run on NFC Reader
Boards/ICs mentioned in Section-17.
- The APIs are intended for NXP contact-less reader ICs only, as such
the APIs are not to be ported to any technology from any other
vendor.
- NXP will not support porting to any other vendor platform.
- This software project requires NxpNfcRdLib v07.10.00 or later.
- **IMPORTANT** The default used MCU Type is K82. When executing
example on LPC1769 or PN7462AU, the MCU Type has to be changed in
the MCUXpresso IDE.
- For switching to MCU Type to PN7462AU, see Section-12
- For switching to MCU Type to LPC1769, see Section-9, Section-10 and
Section-11.
4 Configurations of Nfcrdlib_EMVCo_InteropComplApp
==================================================
- This example can be used for running EMVCo IOP(L1) with add-on(TTA
Bulletin No.195) compliance validation.
- This application is NOT verified with Test tool, since the update
required for Interop testing is not yet available.
5 Package Contents
==================
- Readme.txt
+ This readme file
- Nfcrdlib_EMVCo_InteropComplApp.c
+ Main example file.
- intfs/Nfcrdlib_EMVCo_InteropComplApp.h
+ Interfaces/Defines specific to the example
- intfs/Nfcrdlib_EMVCo_InteropComplApp_status.h
+ Interfaces/Defines specific to this example to enable and control
LED's as well as GPIO's.
- src/Nfcrdlib_EMVCo_InteropComplApp_status.c
+ Function definitions specific to the example to enable and control
LED's as well as GPIO's.
- intfs/ph_NxpBuild_App.h
+ Reader library build configuration file
- src/phApp_Helper.c
- src/phApp_PN5180_Init.c
- src/phApp_PN5190_Init.c
- src/phApp_PN7462AU_Init.c
- src/phApp_RC663_Init.c
- src/phApp_Init.c and intfs/phApp_Init.h
+ Common utility functions (common across all examples)
- mcux/.cproject and mcux/.project
+ MCUXpresso project configuration file
- cr_startup_lpc175x_6x.c
+ Startup required to compile example for LPC1769 Micro Controller.
6 Mandatory materials (not included)
====================================
- MCUXpresso IDE. It can be downloaded from
[http://www.nxp.com/products/:MCUXpresso-IDE]
- SDK for Freedom K82 Board
([http://www.nxp.com/products/:FRDM-K82F]). The pre-build SDK can
be downloaded from
[https://mcuxpresso.nxp.com/en/license?hash=9897a8c19a6bc569c3fade7141f0f405&hash_download=true&to_vault=true]
See MCUXpresso User Manual for steps needed to install an SDK.
- Plugin to extend MCUXpresso to support PN7462AU. (Required for
MCUXpresso versions before MCUXpressoIDE_10.0.2)
- LPCXpresso LPC1769 / Freedom K82 development boards For NFC ICs
listed in Section-17 (Note: PN7462AU (Section-17 Bullet-3) does not
need any other other microcontroller).
7 Hardware Configuration
========================
Before starting this application, HW Changes may be required for the
used board. Refer to the following User Manuals / Application notes
before starting with this example.
- AN11211: Quick Start Up Guide RC663 Blueboard
- AN11744: PN5180 Evaluation board quick start guide
- AN11802: NFC Reader Library for Linux Installation Guidelines
- AN12550: PNEV5190B Evaluation board quick start guide
8 Software Configuration
========================
- The Software can be compiled for Cortex M3 LPC1769 micro-controller,
Cortex M4 Freedom K82 and Cortex M0 based PN7462AU from NXP.
- Since this example can be configured to run on various MCU ICs and
various NFC ICs, appropriate changes are required as mentioned in
Section-9, Section-10, Section-11, Section-12 and Section-13.
9 Steps to build Nfcrdlib_EMVCo_InteropComplApp for LPC1769 with PN5190 using MCUXpresso
========================================================================================
See "PNEV5190B Evaluation board quick start guide" in AN12550 (See
Section-18, Bullet-6 below)
10 Steps to build Nfcrdlib_EMVCo_InteropComplApp for LPC1769 with PN5180 using MCUXpresso
=========================================================================================
See "Importing provided SW example projects" in AN11908 (See
Section-18, Bullet-2 below)
11 Steps to build Nfcrdlib_EMVCo_InteropComplApp for LPC1769 with RC663 using MCUXpresso
========================================================================================
See "Importing provided SW example projects" in AN11022 (See
Section-18, Bullet-3 below)
12 Steps to build Nfcrdlib_EMVCo_InteropComplApp for PN7462AU using MCUXpresso
==============================================================================
- For MCUXpresso versions before MCUXpressoIDE_10.0.2, See "Adding
PN7462AU Plugin" in UM10883. (See Section-18, Bullet-4 below)
- See "Importing provided SW example projects" in UM10883.
13 Steps to build Nfcrdlib_EMVCo_InteropComplApp for FRDM-K82F using MCUXpresso
===============================================================================
See "Import projects to the MCUXpresso" in AN11908. (See Section-18,
Bullet-2 below)
14 Selection of Board / OSAL / Frontend (MCUXpresso)
====================================================
For MCUXpresso, the selection of Board / OSAL / Frontend has to be
done via -D (Preprocessor defines).
1) To select the board go to "Project Properties" --> "C/C++ Build"
--> "Settings" --> "Preprocessor" --> "Defined symbols (-D)", and
define the relevant PHDRIVER_<BoardNFCCombination>_BOARD macro.
e.g. For using LPC1769 with Pn5180 use
PHDRIVER_LPC1769PN5180_BOARD. For list of supported boards refer
to Platform\DAL\cfg\BoardSelection.h.
2) To select the osal/os type, go to "Project Properties" --> "C/C++
Build" --> "Settings" --> "Preprocessor" --> "Defined symbols
(-D)".
e.g. For using FreeRTOS use PH_OSAL_FREERTOS. For other options
refer to RTOS\phOsal\inc\phOsal_Config.h.
15 Steps to follow for PI / Linux / CMake
=========================================
The steps are described in AN11802. (See Section-18, Bullet-5 below)
16 Running Nfcrdlib_EMVCo_InteropComplApp
=========================================
The running application can now be used for EMVCo IOP with add-on(TTA
Bulletin No.195) Test suite validation. Test success indicated by
Green LED and GPIO and fail indicated by Red LED and GPIO (except in
the case of Raspberry Pi).
1) CLEV6630B 2.0 or PNEV5180B v2.0 Customer Evaluation Board LED's and
GPIO's indication:
- Red LED - LD201
- Green LED - LD203
- GPIO(indicates Success) - TXD
- GPIO(indicates Fail) - RXD Success: Green LED On, GPIO High 500
milli sec delay GPIO Low and Green LED Off Fail : Red LED On,
GPIO High, 500 milli sec delay, GPIO Low and RED LED Off
2) PNEV7462C Board LED's and GPIO's indication:
- Red LED - LED12
- Green LED - LED10
- GPIO(indicates Success) - GPIO1
- GPIO(indicates Fail) - GPIO2 Success: Green LED On, GPIO High,
500 milli sec delay, GPIO Low and Green LED Off Fail : Red LED
On, GPIO High, 500 milli sec delay, GPIO Low and Red LED Off
3) FRDM-K82F Board LED's and GPIO's indication:
- Red LED - D3 RGB
- Green LED - D3 RGB
- GPIO(indicates Success) - Con J4 - Pin6
- GPIO(indicates Fail) - Con J4 - Pin8 Success: Green LED On, GPIO
High, 500 milli sec delay, GPIO Low and Green LED Off Fail : Red
LED On, GPIO High, 500 milli sec delay, GPIO Low and Red LED Off
4) PNEV5190B V1.0 Board LED's and GPIO's indication:
- Red LED - LEDRR
- Green LED - LEDGR
- GPIO(indicates Success) - TP8
- GPIO(indicates Fail) - TP6 Success: Green LED On, GPIO High, 500
milli sec delay, GPIO Low and Green LED Off Fail : Red LED On,
GPIO High, 500 milli sec delay, GPIO Low and Red LED Off
5) Raspberry Pi: Test success and fail indicated by Green LED
- Green LED - ACT Success: Green LED On, 2 sec delay and Green LED
Off Fail : Green LED Toggles every 250 milli sec for 2 sec and
Green LED Off
6) X-PNEV76FAMA (Rev D) Board LED and GPIO's indications:
- Red LED(D6) - GPIO3 and Green LED(D7)- GPIO2
Note:Jumper at J63 should not be connected
- GPIO(indicates Success) - GPIO1
- GPIO(indicates Fail) - GPIO0 Success: Green LED On, GPIO High,
500 milli
sec delay, GPIO Low and Green LED Off Fail : Red LED On, GPIO High,
500 milli sec delay, GPIO Low and Red LED Off Note:Jumper at J64
should be connected Note:J60 pin 2 should be probed for Success
indication and J60 pin 4 should be probed for Fail indication
7) PNEV7642A (Rev A) Board LED and GPIO's indications:
- Red LED(D6) - GPIO3 and Green LED(D7)- GPIO2
Note:Jumper at J63 and J66 should not be connected
- GPIO(indicates Success) - GPIO1
- GPIO(indicates Fail) - GPIO0 Success: Green LED On, GPIO High,
500 milli
sec delay, GPIO Low and Green LED Off Fail : Red LED On, GPIO High,
500 milli sec delay, GPIO Low and Red LED Off Note:Jumper at J64
and J67 should be connected Note:J60 pin 2 should be probed for
Success indication and J60 pin 4 should be probed for Fail
indication
17 List of supported NFC Reader Boards/ICs
==========================================
1) CLEV6630B 2.0 Customer Evaluation Board
2) PNEV5180B v2.0 Customer Evaluation Board
3) PN7462AU v2.1 Customer Evaluation Board
4) PNEV5190B v1.0 Customer Evaluation Board
18 Reference Documents
======================
1) UM10954 : PN5180 SW Quick start guide
[http://www.nxp.com/docs/en/user-guide/UM10954.pdf]
2) AN11908 : NFC Reader Library for FRDM-K82F Board Installation
guidelines
[http://www.nxp.com/docs/en/application-note/AN11908.pdf]
3) AN11022 : CLRC663 Evaluation board quick start guide
[http://www.nxp.com/docs/en/application-note/AN11022.pdf]
4) UM10883 : PN7462AU Quick Start Guide - Development Kit
[http://www.nxp.com/docs/en/user-guide/UM10883.pdf]
5) AN11802 : NFC Reader Library for Linux Installation Guidelines
[http://www.nxp.com/docs/en/application-note/AN11802.pdf]
6) AN12550 : PNEV5190B Evaluation board quick start guide
----------------------------------------------------------------------
For updates of this example, see
[http://www.nxp.com/pages/:NFC-READER-LIBRARY]