I am using the AN12837SW reference design for my smart metering project with the MKM35Z512VLL7 controller. I have reviewed the firmware upgrade and bootloader code for "Firmware Upgrade through UART", but I still have some doubts. Could you please clarify the following points:
Which software tool should I use on the PC to test the firmware upgrade process?
How should I load the .bin file, divide it into 256-byte chunks, and add CRC data for transmission?
I have already reviewed the document AN12829, but I could not clearly understand the OTA frame format. Could you please explain this in more detail?
Is there any specific software tool or additional documentation available for testing the firmware upgrade feature?
Dear Sir,
Thank you for your response.
(i) I reviewed the description 5.1.2.3 in AN12829. But in AN12837SW smart meter firmware design, more OTA commands are available k_cmdfwuinit, k_cmdfwuhdr,k_cmdfwutx in comportcommandprocessing.c function. And also in receiving firmware code(communication.cv, the 1 bye Auth-Enc-Flag and AES-GCM-128 decryption firmware is available. So AN12829 document not correctly matched to AN12837SW firmware. This is my confusion.
(ii) How to prepare the "PC tool" for firmware upgrade testing through uart3. Any reference tool/Any document is available from nxp?. Nxp mentioned in AN12829 that it is already tested by "FWtransferclient.exe". Where i will get this tool? Can we arrange the pc tool as own?
(iii) can we use DLMS director for firmware testing?
(iv) Which serial terminal tool is best for writing the scripting in C language. How to start the scripting .
I am expecting your valuable solution.
1. There is no specific tool for this. It is expected that the PC host tool is created by the user based on the description of 5.1.2.3 where it details how the communication frame should be.
2. You can create a python script that splits the image on 256byte block, there is no specific method for doing this.
3. Could you please be more specific on the doubt? What part is not clear? Do you mean the flow on figure 10 where the frame is:
-Command nxpfwutx.
-File size/block size
-Firmware divided on blocks. To identify the firmware block, 4 bytes long block number is transferred along with the block. The current block count is updated and saved every time a new file block is received and programmed to the destination flash bank.
-Command nxpfwuact.
4. The AN mentions a custom tool named FWUpgradeClient, let me check if this is available.
BR,
Omar