May 28, 2024, 02:39:58 PM

STM32-E407 starting steps

Started by bexizuo, January 24, 2013, 01:44:20 AM

Previous topic - Next topic


Dear All,

please can you give advice what i need to work with STM32-E407 ?
- is there some cost effective programmer / debugger  ? olimex / other eu supplier,
- is the programmer compatible with linux ?
- is there possibility to boot-up STM32-E407 without flashed firmware ? (for example from USB / SDcard / Ethernet ) - do i need programmer ? :-)
- does anybody know about oscilloscope sw for that board ?

Thank You for all answers


Hey bexizuo,

The fastest and cheapest way to hook up an STM32-E407 is to purchase one of our OpenOCD debuggers (for example ARM-USB-TINY-H and to use our Olimex Open Development Suite (, which has a simple E407 example and ready configuration for ARM-USB-TINY-H. The OpenOCD debuggers are compatible with Linux but you will need to configure the proper development software yourself. Note that our OpenOCD debuggers lack SWD interface.

Another cheap option is ARM-JTAG-COOCOX ( and then using the free COOCOX IDE (

Of course, there are a lot of other variants - if you are going the professional way check Segger's J-Link debuggers; STM's Discovery Kits with embedded debuggers are also a worthy shot.

You need a programmer. There is a bootloader in the chip but the application that connects to it is not very reliable (consider it work-in-progress from STM side).

Best regards,
Technical support and documentation manager at Olimex


Hello bexizuo!

It can be used perfectly in linux! Eclipe + CodeSourcery.

DFU mode to load the software using dfu-util (you must remove the jumpers B0_1 B0_0 and B1_0 B1_1)
The command is:(as root)

dfu-util -v -d 0483:df11 -a 0 -s 0x08000000 -D my_project.hex

Next, set the jumpers back to boot from flash memory, reset and go!



Hello chelox,

where are those numbers from ? :-)
i was looking for documentation like having atmel for avrs , but i didn't find :-(

LubOlimex: Thank You for the reply


dfu-util -v -d 0483:df11 -a 0 -s 0x08000000 -D firmware.hex

0x08000000 is the address of the flash,
-d 0483:df11 is the device
-a 0 is the setting to use (flash or PROM).

otherwise in linux:
dfu-util -s 0x8000000 -a 0 -D firmware.hex

If you use Eclipse you have to change the "output format" to "binary",

Properties -> C/C++ Builder -> Settings -> * Create Flash Image -> Output

and the command you use dfu-util firmware.BIN (not the firmware.HEX).

Spend the dfu-util does not recognize hex files (as ascii) but pure binary and throws it right to micro memory.


Thank You for explanation, ... do you have some technical manuals for development ?

isn't development too heavy ? or too complex ?