2011-07-09 01:53 AM
Hi,
We need to upgrade the firmware of a STM32 MCU (used in a commercial product) using a proprietary PC application. the STM32 supports the DFU mode and has a PC application called DFUSE which provides the user interface.
We want to integrate commands which DFUSE is using and have a proprietary interface to upgrade the firmware of the ST32. Is there any source code available for the DFUSE utilty or any dll library which can be used for developing the application.If a library is provide can you share a link to the documentation providing details of API's used.
Does anyone have prior experience in doing this?Thanks in advance for your replies.
Royston
2015-02-10 05:38 AM
Ok, the Discovery Demo isn't designed to be delivered that way, it has an assumed basis of 0x08000000
So it sounds like you haven't done something right. You'd want to confirm where vector and functions are situated via the .MAP. You'd need to examine the vector table content and confirm the values are pointing to the +0x20000 region. You'd want to check the value programmed into SCB->VTOR is actually 0x08020000 and not some other value. Refine your debugging skills.2015-02-11 10:54 AM
I use debug to check: the SCB->VTOR is actually 0x08020000. I tried to change the size of buffer, it did not help.
There is a code size limit to use FW_upgrade? in AN3990 page 12, it says: With BUFFER_SIZE = 512 * 64 = 32 Kbytes and image size = 990 Kbytes, the DOWNLOAD operation takes about 12.7 seconds (7.76s erase time + 4.94s program time). That means the image size can be at least 990K. right? And our program are base on the demo. we need to make it with STM32F429I-Discovery_FW_V1.0.1\Projects\FW_upgrade. The dead line of mass production is coming. Could you please help us to make it work? Thanks a lot2015-02-11 12:14 PM
For commercial project you'd want to find a contractor/consultant in your price range and vicinity. I'm not responsible for your deadlines.
If the part has 1MB and your loader is using 128KB (+0x20000), then the largest application space would be 896KB, surely? Does the loader actually take 128KB or could you shrink it down by a couple flash sectors? For a 2MB part, 1920KB should be possible, but you'd need to review the behaviour of the code, in both the erase routines, and writing ones.2015-03-05 07:28 AM
Finally make it work by debbuging.
Thanks