cancel
Showing results for 
Search instead for 
Did you mean: 

X-NUCLEO-NFC03A1 with NUCLEO-G071RB

thompeters2004
Associate II

Hello everyone,

Is there an example project available to make the ST25R95 on the X-NUCLEO-NFC03A1 shield work with the NUCLEO-G071RB?

This discussion has been locked for participation. If you have a question, please start a new topic in order to ask your question
16 REPLIES 16

Hi,

hex data such as UID are displayed thanks to hex2Str() conversion function. It returns NULL when USE_LOGGER is not defined. Make sure to define USE_LOGGER when compiling logger.c. This should give you the expected serial log.

By the way, from the log you have provided, I believe that you have compiled the polling demo rather than the NDEF demo (i.e. demo_polling.c rather than ndef_demo.c).

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Yes, the ndef_demo.c now works correctly. However, the edmo still does not work as expected. I'm encountering a hard fault error on line 277 in ndef_poller.c:

return (ctx->ndefPollWrapper->pollerNdefDetect)(ctx, info);

As a result, I am not receiving the NDEF message as I wish. Could you please assist me in resolving this issue?

Hi,

"Yes, the ndef_demo.c now works correctly. However, the edmo still does not work as expected" do you mean the polling demo now works but the ndef demo still does not work as expected?

Using a debugger, set a break point on line 277 and make sure the ctx parameter does not get corrupted:

  • ctx->type should contain NDEF_DEV_T4T (I assume a T4T tag is being used)
  • ctx->ndefPollWrapper->pollerNdefDetect should contain the address of ndefT4TPollerNdefDetect()

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi,

The ctx addresses are correct and contain the addresses of the functions you described. I investigated further into the code where the hard fault occurs. It happens on line 553 in rfal_isoDep.c:

rfalCreateByteFlagsTxRxContext(ctx, txBlock, txBufLen, gIsoDep.rxBuf, gIsoDep.rxBufLen, gIsoDep.rxLen, RFAL_TXRX_FLAGS_DEFAULT, ((gIsoDep.role == ISODEP_ROLE_PICC) ? RFAL_FWT_NONE : fwt)); return rfalStartTransceive(&ctx);

 

These are the values on that line: 

thompeters2004_0-1731503959308.png

 

Could you help me understand what might be causing this issue?

Hi,

check that your stack size is big enough (the map file should provide some information regarding the stack depth). Try to set 4K for the stack if you do not find information in the map file.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

it is working, thanks!!

Well done

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.