Skip to main content
PartAndStock
Development Boards & Tools

What Is a Programmer / Debugger?

1 min read
Quick answer

A programmer is a tool that uploads the written code (firmware) to a microcontroller. A debugger lets you watch and debug the chip step by step while it runs the code.

Programmer

It takes the compiled code from the computer and writes it to the chip's program memory (Flash). On some boards this circuit is built in (direct upload via USB), while for external chips a separate programmer is needed.

Debugger

A debugger lets you stop at a specific line of code (a breakpoint), see the variables and step one at a time. This is embedded development's most powerful tool for seeing exactly where a bug occurs.

ToolFunction
ProgrammerUploads code to the chip
DebuggerWatches/stops while running
InterfaceJTAG / SWD / ISP

Interfaces

Communication with the chip is usually over JTAG or the fewer-pin SWD. These lines carry out both programming and debugging from a single connection. Most modern tools do both.

Where Is It Used?

Embedded software development, firmware upload on a production line, debugging and working with development boards.

Common Mistakes

  • Voltage match: the programmer and target chip must be at the same logic level.
  • Wrong pinout: connecting the JTAG/SWD pins backwards cuts the communication.
  • Target supply: some tools don't power the target, a separate supply is needed.

Frequently Asked Questions

Is a programmer the same as a debugger?+
Most modern devices do both; one uploads, the other watches while running.
What's the difference between JTAG and SWD?+
SWD uses fewer pins (2 lines); JTAG is the older, more-pinned and versatile standard.

Search parts related to "What Is a Programmer / Debugger?"

Find the right part by comparing price, stock and distributors.

Search These Parts