cancel
Showing results for 
Search instead for 
Did you mean: 

ST25DVXXKC FTM library for embedded firmware

SamP
Associate

Hi All,

I’m working on a project using an 8-bit microcontroller connected to an ST25DVXXKC NFC chip over I²C. The standard NFC features are working correctly, and the code is already in production.

Now I’m trying to implement Fast Transfer Mode (FTM) for OTA updates and bidirectional data transfer between the microcontroller and the NFC reader.

I’m currently using ST’s ST25FTM library and the ST25DV64KC-DISCO Kit v2.2.1 package, but I’m confused by the available examples and documentation, which seem limited and unclear regarding how to properly port and use the library.

In the v2.2.1 package, there is a Demonstrations folder containing two projects:

  • ST25DVDemo
    • Uses ftm_demo.c
    • Calls functions from the ST25FTM library & uses callback functions
  • ST25DVDemo_FwUpgd
    • Uses mailbox.c and mailboxfunc.c
    • Appears to implement Fast Transfer Mode using a single function FTMManagement(void)

From my understanding:

  • The first project is more library-driven (ST25FTM-based).
  • The second project seems to implement FTM using low-level mailbox functions instead.

I have tried porting ST25DVDemo_FwUpgd to my 8-bit MCU platform. Some features work (e.g., enabling Fast Transfer Mode and reading device version), but the firmware update process is not working correctly—specifically, the password command for firmware update is not being recognized.

I also attempted to port ftm_demo.c from the ST25DVDemo project, but it does not function properly on my setup.

At this point, I’m unclear on:

  • Which example (ST25DVDemo vs ST25DVDemo_FwUpgd) is the recommended for FTM?
  • Whether the ST25FTM library or the mailbox.c implementation is the intended approach for production use?
  • What is required to correctly port and make firmware update/password authentication work on a custom 8-bit microcontroller platform?

I’ve attached screenshots for reference.

1 REPLY 1
Rene Lenerve
ST Employee

Hello SamP,

You only need to focus on the ST25DVDemo project, the other is only used to generate a binary file for the firmware upgrade demo. The ST25DVDemo_FwUpgd project is not updated and it is maintained as is (source files are older version), it shows only one or two features (generated binary is approximately 32KB, compared to 375KB for the main firmware ) to simulate the upgrade of a new firmware (but after a reset, the system reverts to the main firmware).

Hope this can help you.

Kind Regards.