cancel
Showing results for 
Search instead for 
Did you mean: 

DFU on STM32 personnal PCB

sisioudjfunky
Associate II
Posted on March 17, 2010 at 09:41

DFU on STM32 personnal PCB

10 REPLIES 10
willie
Associate II
Posted on May 17, 2011 at 13:43

The standard DfuSe examples from ST should work on your board.

The loader is loaded at 0x0800 0000 and the user program

at 0x0800 3000.  The loader must be loaded using the JTAG.

The DFU File Manager is used to create a .dfu file from your application

hex file, then the DfuSe Demonstration program is used to send it

to the loader.

Look at the examples - the application must be built to load at

0x0800 3000 and must ensure that the NVIC is setup correctly:

  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);

whh

sisioudjfunky
Associate II
Posted on May 17, 2011 at 13:43

Hi,

Thank you for your answer. I've checked each of these points and I've checked de frequency configuration in the code. The fact is that my PCB (which work for normal USB application) is not recognized by my computer : ''Unknown Device''.

Did you ever had this message ? What can I do ?

I've allready tried to install the right driver.

Thanks for all.

Tomas DRESLER
Senior II
Posted on May 17, 2011 at 13:43

Does your HW support disconnecting of 1.5kOhm resistor between D+ and 3V3 and is properly configured in the DFU code you use?

You know you have to activate the DFU? In original code was implemented a button, that was checked at start-up, and DFU was started only if the button is pressed?
sisioudjfunky
Associate II
Posted on May 17, 2011 at 13:43

Hi,

You mean that the code should disconnect 1.5kOhm resistor between D+ and 3V3 ? I haven't read anything about that. Where is it in original DFU code from ST ?

For my PCB, USB normal communication is allright. So, hardware of this PCB is wright. I'm just trying to implement DFU to program the µC when an event appears (switching for USB normal communication to DFU programming a new soft). For the moment I'm just trying to test DFU side. So, I test DFU without button (I commented the ''if button pushed'' code)

The code is compiling fine but my computer see it as an ''Unknow Device''. I've checked clock setting and I seems to be wright...

Thank you for your help.

sisioudjfunky
Associate II
Posted on May 17, 2011 at 13:43

Hi,

I've download STM32_USB-FS-Device_Lib_V3.1.0. I change clock parameters, compiled the project and downloaded it into  Keil MCBSTM32's µC. Of course, my device is ''Unknowed'' but the Flash loader doesn't recognize my device. Maybe the STM32 is not running under DFU mode.

Could you help me ?

Thank for all,

sisioudjfunky
Associate II
Posted on May 17, 2011 at 13:43

Hi,

Little question that could help me much. To use Flash Loader can't I use USB connector ? Am I obligated  to use Com ?

Thx

tkjmail2
Associate II
Posted on May 17, 2011 at 13:43

Hi Funky.

Yes, Flash Loader is only used with the serial bootloader inside the STM32 chips!

Thomas

sisioudjfunky
Associate II
Posted on May 17, 2011 at 13:43

Thx,

Now, my problem is :

- I installed, compiled and download STM32_USB-FS-Device_Lib_V3.1.0/Project/Device_Firmware_Upgrade  from UM0424 but my computer doesn't recognize the board (MCBSTM32).

- I select STDFU.inf and it doesn't work

- I've changed clock configuration and µC in project's target option.

How could it be recognized by my computer ?

sisioudjfunky
Associate II
Posted on May 17, 2011 at 13:43

Hi,

I used Flash Loader to flash stmdfu.hex. No problem to download it on the board (MCBSTM32) but the board is not recognized as an DFU Device.

So I've got the same problem after programming DFU example with Jtag (STM32_USB-FS-Device_Lib_V3.1.0) or DFU.hex via bootloader : Unknown device.

I continue but cannot solve my problem.

Someone has an idea ?

Thx