cancel
Showing results for 
Search instead for 
Did you mean: 

Power & debug/programming reference design

alexanders.farley9
Associate II
Posted on November 20, 2012 at 17:00

Is a basic reference design available for the STM32F4 family for things like power & programming header? I've looked at the data sheets but it seems that there are many different ways of programming, all spread throughout the manual. 

It looks like all I need is a SWD/JTAG header for in-system programming, but I can't figure out what pins this uses on the STM32F415ZG and what the header pinout is exactly. Is this info available somewhere?

What's the ''standard''choice for programmer? Should I get an ST-LINK V2 programmer for in-system programming? I'm aware that the F4 Discovery board can be used for programming external micros but I'm not sure if this is always the most convenient choice. 

Thanks,

Alex

3 REPLIES 3
Posted on November 20, 2012 at 18:12

ARM has standard SWD (10-pin) and JTAG (0.1'' 20-pin) programming headers, I'd recommend using those over random homegrown alternatives.

http://infocenter.arm.com/help/topic/com.arm.doc.faqs/attached/13634/cortex_debug_connectors.pdf

I'd recommend Segger J-Link or Keil U-Link over the ST-LINK

For low cost programming, consider USART1 or USART3 on the STM32F4, and jumpers for BOOTx pins.

Look at schematics for Keil and IAR/Olimex dev boards, and for that matter the F4 side of the Discovery board.

Powering is really your own issue, but I'll note that the Segger J-Link has a 5V feed on pin 19 of the 20-pin JTAG connector.
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
alexanders.farley9
Associate II
Posted on December 11, 2012 at 00:27

Thanks for the advice.

What's the advantage of the J-LINK or U-LINK over the ST-LINK? Do any programmers come with the 10-pin Cortex Debug header by default? From the pictures, it looks like an adapter would be required for all of them.

Posted on December 11, 2012 at 01:44

I think they are more robust commercial solutions, with better support, updates, and usable with many ARM targets. The U-Link's are tied to Keil tools, the J-Link's are supported by most tool chains and can operate in a stand-alone fashion.

The smaller header takes less space so in many cases will be preferable, but is less mechanically robust, something to consider if you expect it to be used a lot, or roughly.

The 10-pin connector is becoming more popular, expect more pods to support it, I'm using an adapter that ran perhaps $7, Keil U-Link's have a header you can populate, and some of the U-Link ME adapters come with connectors and cables. 

http://www.keil.com/ulinkme/

The 20-pin header has been popular through the ARM9 era, figure about a decade or more, and prior to that the ARM7 designs often used a 14-pin header.

I some situations you can choose not to populate the headers, I've seen a couple of designs which just have surface mount land patterns, some times on the back of the PCB, and which can be used as probe points in final test.
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..