AnsweredAssumed Answered

Porting NXP NFC Reader Library to New MCU (KEA64)

Question asked by Andrew Meesseman on Jun 12, 2019
Latest reply on Jul 2, 2019 by Estephania Martinez



I have recently been using a CLEV6630B V2.0 (target MCU LPC1769) evaluation board to develop and test the RC663 NFC frontend. I first used NFC Cockpit to get it going and have since then moved onto using the NFC Reader Library and some example projects to get a grasp of what is going on. However, rather than using the evaluation board going forward, I am going to be using a KEA64 MCU, along with CodeWarrior.


For our application, we are just going to be scanning tags and receiving this data via SPI and buffering it to be processed and later sent elsewhere. Do not want to use OS for our application (no FreeRTOS or Linux) so NullOS will be used.


My questions and concerns are:


1. What NFC protocol should be used for this? After some consideration (as well as scanning Galaxy S10, NXP Sample Card, along with a Crystal Cube NFC tag), it looks as if it is only necessary to use ISO/IEC 14443 type A. Should I take out all other protocol abstraction layers from stack besides type A? Is it necessary to use any other protocols for just reading tag data?

-(somewhat a continuation of last question) What layers do I need from the NFC reader library if all I am going to do is initialize the frontend registers and read NFC tag data via SPI? I am thinking just parts of NxpNfcRdLib (AL MIFARE Classic phalMfc, RC663 HAL in phhalHw, phNfcLib, protocol abstraction for type A in phpal14443p3a). Is there anything else that should be ported over (in terms of source code)?


2. Since there is no OS (NullOS), is it still required to use OSAL based on how the library is written?


3. The initialization and register setup of the RC663 upon powering up. Are there certain functions in the library where registers on the NFC frontend are changed in order to meet different requirements and applications (such as turning off/on RF field)? All I see and have found is that phhalHw_Rc663_ReadRegister() and phhalHw_Rc663_WriteRegister() in HAL (both in phhalHw_Rc663_Cmd.c), provide direct SPI communication to NFC frontend. However, are there specific register write functions happening/being called upon initilization that should be tinkered with?


4. Since development is going to happen in CodeWarrior for S9KEA64..., is there anything in the library that I have to change in terms of the target MCU. In what areas do I need to change preprocessor statements or anything else in order to develop on a different MCU than what is supported in the library?


Any help would be greatly appreciated.


Thank you,

Andrew Meesseman