Hi,
I'm using USART ISP on LPC546xx and aiming to use checksum for firmware version control.
So I'm trying to read a checksum with the command S <address> <number of bytes>. In my case, it is "S 0 262876". But instead of the checksum I've got "OK". What does it mean?
Thank you in advance!
Hello, my name is Pavel, and I will be supporting your case, what kind of tool are you using to send the command? Is the BLHOST or other? Could you elaborate further on how are send the command?
Best regards,
Pavel
Hello, Pavel. Thank you for your response!
The MCU LPC546xx is part of a Deutschmann communication module UNIGATE® IC2 - PROFINET we use in our devices. Our board with MCU STM32 is a host. We would like to have the possibility to update the LPC546xx firmware from the host (our board).
The Deutschmann module provides access to the USART ISP interface of LPC546xx and then we can use it as described in Section 5.4 of UM10912. Generally, it works. Only the "S" command surprised.
Please, let me know if you need more information.
Kind regards,
Artur
Hello, ok but these seems to not be a problem with the LPC or a part of the ISP, your host is the STM32, these seems is a part of a commercial device application (Deutschmann communication module UNIGATE® IC2 - PROFINE), if you use a PC host to enter on the ISP mode you could us the BLHOST tool. I recommend open a channel communication with the vendor of that device.
Edit: The RM 5.4.1 mention this, maybe the problem resides on the type of command on the STM32.
The host should send a ’?’ (0x3F) as a synchronization character and wait for a response.
Best regards,
Pavel
Hello, Pavel
we have NO problem with synchronization and all the ISP commands except S. As you mentioned, the synchronization process starts with 0x3F. In a few steps, we get ISP access and can use all ISP commands. We can agree about the baud rate, read and write RAM, and copy from RAM to FLASH. Everything works well except the "S" command.
I suppose during the ISP process we deal only with LPC.
Kind regards,
Artur
Hello, I reviewed more information about this, did you add the checksum to your image?
Could you elaborate further about how can I replay this on my board?
Best regards,
Pavel
Hello,
No, I didn't add the checksum to my image. Following UM10912, the "S" command doesn't read a checksum; it calculates this.
Maybe the problem only appears in the In-System Programming (ISP) interface. I use the USART ISP interface described in Section 5.4 of UM10912. Can you replay it?
Unfortunately, I don't have a development board and don't know how to handle ISP using a dev board.
Kind regards,
Artur
Hello, I test it on my side and seems to be work it well.
I use real term; do you have the channel of UART available to use the PC instead of the STM32?
Best regards,
Pavel
Hello Pavel,
Your picture shows expected behavior. I have the same except for S output.
I'll try to create a channel with PC and figure out where the source of disturbance is in my configuration. I'll come back with the results if I get it.
Thank you for your efforts!
Kind regards,
Artur