Is it possible to jump back into the NFC program loader for NHS3100 from application code that has been loaded through the program loader? In the current implementation of the closed program loader, it appears that application code can only be loaded once through the builtin NFC program loader. In our use case, it is desirable to support update of application code in the field after the application code has been initially loaded. If it was possible to jump back in to the program loader, then the application could be updated again.
Given that source code for the NFC program loader is closed, it is difficult to determine how to accomplish this, or if it is even possible.
Technically, it is certainly possible to create such firmware that allows for updates in the field. Using the HW user manual, and the firmware available in the SDK, you can create your own firmware applications that do just that. But there are some downsides:
- Code size. The amount of flash available for data storage will be very low.
- Security. This provides a break-in mechanism, and it will be much harder to guarantee this solution is still functionally secure.
- Continuity. What to do with the data when you update firmware?
Hopefully these can be overcome or do not apply for your use case.
We do not provide the code of the initial firmware, i.e. the NFC program downloader. In the current implementation, that firmware occupies (a.o.) the first sector, and that first sector is overwritten at the end of the NFC download operation. Jumping back has become impossible as a result.
In the SDK, you can find the binary image under <SDK>/sw/nss/app_closed_nfcprogramloader/Releases/1.2/app_closed_nfcprogramloader.hex.
This allows you to reflash the initial flash contents using e.g. Flash Magic.