Programming a Bare Chip

cancel
Showing results for 
Search instead for 
Did you mean: 

Programming a Bare Chip

Jump to solution
1,003 Views
mertdenizpolat
Contributor I

I want to start my design from a bare chip (I can provide a specific product number but I want to learn more about the general philosophy behind this) which is actually a Kinetis ARM-Based-Microcontroller. Do I need to analyze the related development board component-by-component or is there a list of minimum peripheral components I need for programming & operation? I am pretty much of a beginner on this topic and I am totally confused while browsing through the Datasheet & Reference Manual. I guess there should be a "clear" tutorial for obtaining a "serial" or "J-Tag" connection between a USB interface and the pins of the MCU unit.

1 Solution
382 Views
scottm
Senior Contributor II

Hi,

Freescale used to publish schematics in their datasheets showing exactly that - the minimum recommended connections for in-circuit programming.  It doesn't look like they do that anymore, and in fact if you don't happen to be using exactly one of the parts in the relatively few development boards, there aren't many example schematics to work with.

Looking at one of my own designs, I see that the only connections I have for programming are VCC, ground, reset, SWDIO, and SWDCLK.  SWD is serial wire debug and basically provides the same functions as JTAG with fewer pins.

To talk to the SWD port, you need an interface - which might be USB but not always.  My P&E Cyclone ACP (~$600) is out of commission right now because a driver update broke it and I'm using a P&E Multilink Universal (~$200) in the meantime, but there are cheaper (OpenSDA) options and all of the recent development boards I've used have had one of those built in.  You can frequently use one of those boards to program your own chips.

For the physical connection, a 10-pin header is common for SWD and allows for easy hookup to any of those devices above, but for production boards I use a TC-2030-NL connector, which is basically zero cost on the board and takes up very little space.

As for minimum connections to run, you're going to need power and ground, with 0.1 uF decoupling caps near each power pin.  If your part has a USB voltage regulator, pay attention to its requirements.  USB probably won't work without that powered, and its output pin needs a largish cap for stability.

If you're not running from an internal clock source, you'll also need a crystal or external oscillator.  I think that should be enough to get any of the Kinetis MCUs going.

Hope that helps,

Scott

View solution in original post

1 Reply
383 Views
scottm
Senior Contributor II

Hi,

Freescale used to publish schematics in their datasheets showing exactly that - the minimum recommended connections for in-circuit programming.  It doesn't look like they do that anymore, and in fact if you don't happen to be using exactly one of the parts in the relatively few development boards, there aren't many example schematics to work with.

Looking at one of my own designs, I see that the only connections I have for programming are VCC, ground, reset, SWDIO, and SWDCLK.  SWD is serial wire debug and basically provides the same functions as JTAG with fewer pins.

To talk to the SWD port, you need an interface - which might be USB but not always.  My P&E Cyclone ACP (~$600) is out of commission right now because a driver update broke it and I'm using a P&E Multilink Universal (~$200) in the meantime, but there are cheaper (OpenSDA) options and all of the recent development boards I've used have had one of those built in.  You can frequently use one of those boards to program your own chips.

For the physical connection, a 10-pin header is common for SWD and allows for easy hookup to any of those devices above, but for production boards I use a TC-2030-NL connector, which is basically zero cost on the board and takes up very little space.

As for minimum connections to run, you're going to need power and ground, with 0.1 uF decoupling caps near each power pin.  If your part has a USB voltage regulator, pay attention to its requirements.  USB probably won't work without that powered, and its output pin needs a largish cap for stability.

If you're not running from an internal clock source, you'll also need a crystal or external oscillator.  I think that should be enough to get any of the Kinetis MCUs going.

Hope that helps,

Scott

View solution in original post