NHS31xx NFC Program Loader fails to write firmware

cancel
Showing results for 
Search instead for 
Did you mean: 

NHS31xx NFC Program Loader fails to write firmware

Jump to solution
862 Views
cory1
Contributor II

Hello,

I'm attempting to load firmware onto the NHS3100 Smart Sensor chips using the NHS31xx NFC Program Loader app. I'm using a .bin file (app_demo_dp_tlogger) generated using the NHS3100 SDK v12.3. I know that I set everything up appropriately in LPCXpresso because I am able to flash the code onto the NHS3100 demo pcb using an LPC Link 2 over SWD.

The problem I'm encountering is that the app always hangs between 10% - 13% when loading firmware using the app. I've tried multiple bin files, multiple phones, and chips that we received a few months ago as well as ones we received recently. The result is always the same.
I require this One-time NFC program downloader firmware method, we cannot use SWD in our use case. I'm not sure if the app is an official NXP release, or whether it was published by driesmoors‌. I could really use some advice. Attached are screenshots of the app during the process.
1 Solution
668 Views
driesmoors
NXP Employee
NXP Employee

Hi Cory,

Apologies, didn't mean to be rude. Unfortunately, you'll indeed have to take that as a no. 

Passively programming and erasing the flash is possible, given your design and your firmware accommodates for that. See the user manual UM10876 "NHS31xx User manual" 5.4 System power architecture, last but one bullet on page 37 (v2.07). This describes how to add external capacitors to overcome the voltage drop.

The default firmware flashed during production does not assume these are present, hence requires a battery for trustworthiness.

We provide different flashing possibilities which differ per package type: see <SDK/docs/AN12328.pdf and <SDK>/docs/AN12251.pdf

Have a look at those. You can also contact your FAE to have a more direct communication line.

Kind regards,
Dries.

View solution in original post

6 Replies
668 Views
driesmoors
NXP Employee
NXP Employee

Hello Cory,

The app is part of the official SDK release: <SDK>/sw/android/tlogger

It is only listed in the Play Store for convenience.

  • Is your tag battery powered?
  • Which phone are you using? Can you check the optimal position to hold the tag?
  • Do you see the same problem when using the NHS3100TEMODB development board?

KR,
Dries.

668 Views
cory1
Contributor II

Thanks for getting back to me, Dries.

Our tag is not battery powered. It is encapsulated in a material, which makes it physically inaccessible. In the actual use case it can only be interacted with via the field.

I am using a Moto Z 2 Force, and my collaborator is using a Google Pixel 2. We have much experience with positioning the tag antenna to couple with the phone antennas, so I'm confident we have optimal coupling. I do have an ACR122U which can generate a more powerful field, but I'm not sure how to load the firmware using that device.

Using the NHS3100TEMODB demo PCB, I can load the firmware images correctly using SWD. I do not know a way to put the demo PCB back into "One-time NFC program downloader" mode. Is the original firmware image the ICs ship with publicly available? If that were the case I could test this using the demo PCB, which has a better coil.

0 Kudos
668 Views
driesmoors
NXP Employee
NXP Employee

Hi,

The original firmware flashed during production is available in binary form in the SDK under <SDK>/sw/nss/app_closed_nfcprogramloader

When you use the demo PCB (or anything which has a debug connector), you can use that image to reset the flash contents via SWD.

We provide different flashing possibilities which differ per package type: see <SDK/docs/AN12328.pdf and <SDK>/docs/AN12251.pdf 

Depending on your use case, some options may make sense.

It may work using some phones, but this is highly dependent on the specific brand and the specific model and the battery level and whatever is going on on the phone. Even then we are unable to guarantee a 100% success rate.

Our statement is that passively programming and erasing the flash is untrustworthy. Better is to find a means to pre-program the ICs.

Kind regards,
Dries.

0 Kudos
668 Views
cory1
Contributor II

I guess I'll take that as a no. If the passively programming and erasing the flash is untrustworthy, it shouldn't be advertised as a feature of this chip.

 

If we want to pre-program the ICs, how many NHS3100 are on a wafer, and would we need to purchase an entire wafer to have them pre-programmed?

0 Kudos
669 Views
driesmoors
NXP Employee
NXP Employee

Hi Cory,

Apologies, didn't mean to be rude. Unfortunately, you'll indeed have to take that as a no. 

Passively programming and erasing the flash is possible, given your design and your firmware accommodates for that. See the user manual UM10876 "NHS31xx User manual" 5.4 System power architecture, last but one bullet on page 37 (v2.07). This describes how to add external capacitors to overcome the voltage drop.

The default firmware flashed during production does not assume these are present, hence requires a battery for trustworthiness.

We provide different flashing possibilities which differ per package type: see <SDK/docs/AN12328.pdf and <SDK>/docs/AN12251.pdf

Have a look at those. You can also contact your FAE to have a more direct communication line.

Kind regards,
Dries.

View solution in original post

668 Views
cory1
Contributor II

Thanks for the special attention to my issue, Dries.

I successfully flashed app_closed_nfcprogramloader to the demo PCB. Even using the demo PCB with a better antenna design the program loader still hangs at the same percentage on multiple phones.

Any suggestion on how I could passively program with an external reader that has a more powerful field? I have an OM27462 eval board that could definitely overcome the coupling issue if I could only push the data through it.

0 Kudos