FTM Firmware Update fails for large file size in ST25 NFC Tap App
Dear ST Community,
I’ve been working with the ST25 DV4KC-I NFC tag to transfer firmware for our product, but I’m encountering persistent issues with larger firmware files.
Here’s the process I followed: I use the ST25 NFC Tap Android App to select the NFC tag and navigate to ST25DV Demonstrations → FTM Demos. When I initiate a firmware update with a smaller file (around 25 KB), the transfer completes successfully, and our bootloader processes the file without any issues.
However, when I try to send a larger firmware file (~ 200KB), the transmission consistently fails between 35,000 and 45,000 bytes. The app logs the error "No response received," and the transmission halts around 50 seconds to 1 minute into the process. For the last 10 seconds, no data is transferred before timing out. Both the phone and tag remain stationary throughout.
I’ve tested this issue on multiple Samsung devices, but the problem persists. The smaller files transfer without any issues, so this seems to be size-related.
Interestingly, I came across a similar thread discussing a failure in firmware transmission for files larger than 35 KB:
I followed the steps suggested, including enabling FTM traces.
Enabled FTM logging in st25ftm_config.h with ST25FTM_ENABLE_LOG.
Integrated the logging function using the following setup:
#define ST25FTM_ENABLE_LOG 1
#include "sys_app.h"
#define ST25FTM_LOG(...) do { APP_PRINTF("%d ",HAL_GetTick()); APP_PRINTF(__VA_ARGS__); } while (0)
Updated the logHexBuf() function as recommended:
void logHexBuf(uint8_t* buf, uint32_t len)
{
if(len > 0)
{
for (int i = 0; i < len; ++i)
{
APP_PRINTF("%02x ", buf[i]);
}
APP_PRINTF("\r\n");
}
}
Despite enabling error recovery and logging, the issue remains unresolved. I have reviewed the available resources from ST’s website but have yet to find a solution.
I would appreciate it if someone could provide a solution to this problem or let me know if I might be missing any important configuration steps.
Any advice on resolving this would be very helpful!
Best regards,
Taksh Patel
