cancel
Showing results for 
Search instead for 
Did you mean: 

DFU/RS232 FW update

dimax
Senior
Posted on October 04, 2012 at 15:21

Hi,

I came to the stage where I want to upload my own FW into the STM3220-EVAL board running on STM32F207 CPU.

My first attempt was to use original ST DfuSe utility. I was trying to run bot 32 and amd64 bit versions on my Win7 x64 PC. None of them had worked. Both fail with message 

''The application was unable to start correctly (0xc0150002) ....'' message.

Second attempt was to use dfu-util.

Somehow I managed to communicate with DFU System  Loader

Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name=''UNDEFINED''

Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=1, name=''UNDEFINED''

Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=2, name=''UNDEFINED''

Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=3, name=''UNDEFINED''

But I'm not sure what to do next and how to get full control on all System Loader features (especially Lock Bits).

So my questions are:

1. How to make ST DfuSe utilit to run correctly on Win7 x64 machine

2. What other options do I have? What would you suggest?

I must say that so far my first step with STM32 were very disappointed. The trivial things that were so simple in AVR world takes me a lot of efforts with STM32.

But I will keep trying...

Thanks for you help.

#dfuse-0xc0150002
8 REPLIES 8
dimax
Senior
Posted on October 05, 2012 at 05:36

So what is the right way to program FW into flash and lock System Loader?

stforum.tormod9
Associate II
Posted on October 05, 2012 at 15:29

When dfu-util lists ''UNDEFINED'' it was not able to talk directly to the device. Usually this is a permission problem, on Windows it also can mean that a driver for libusb is missing (e.g. WinUSB) or not associated with the device (use Zadig.exe to select driver for your USB devices, more info on libusbx.org).

stforum.tormod9
Associate II
Posted on October 05, 2012 at 15:30

(double post - d*mn Sharepoint cr@p)

dimax
Senior
Posted on October 05, 2012 at 16:01

No it is not libusb problem. dfu can detect device and it can see it's VID:PID 0483:df11

If I disconnect USB from demo board I do not get this output at all.

But my main questions were:

1. How to make ST DfuSe utilit to run correctly on Win7 x64 machine

2. What other options do I have? What would you suggest?

The dfu util has a very pure documentation. I can't see for instance how to control lock bits with it. Also I'm not quite sure what kind of image it requires. How can I generate a DFU image format?

dimax
Senior
Posted on October 07, 2012 at 12:21

Thanks.

So do I understand it right that DifuSe tool can not be run on Win7 x64 (intel 64bit) machine?

Is where any fix to make it work?

stforum.tormod9
Associate II
Posted on October 08, 2012 at 20:41

I said ''talk directly to'', not ''detect''... libusb can see all USB devices on the bus, but without a correctly installed driver (e.g. WinUSB) for a device it can not open it (on Windows).

We have improved the dfu-util documentation a bit recently, please see

http://dfu-util.gnumonks.org/dfuse.html

dfu-util implements the DfuSe protocol including special commands like ''Read Unprotect'', and you can probably program the Option bytes by downloading the right bytes to the right address but those things are chip-specific.

Tormod

Cristea.Catalin
Associate III
Posted on October 29, 2012 at 05:50

To fix the ''0xc0150002'' problem when running DFUse download and install the ''Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)'' (or maybe x64) form here:

http://www.microsoft.com/en-us/download/details.aspx?id=5638

Good luck,

Cat