> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prescaler.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Program a device

> Match the image, target and probe before writing flash.

Build the intended configuration first. Open the flash controls and confirm the selected artifact, configured device and probe. A serial port is not a debug-probe identity.

## Procedure

1. Confirm board power and the programming transport.
2. Select the intended probe when more than one is connected.
3. Select the image produced by the intended build configuration.
4. Review erase, verify and post-flash reset behavior.
5. Start Flash and inspect the backend output to completion.

A full erase may remove calibration, application data, bootloader or provisioning information. Choose it only when the intended device workflow requires it. Prescaler cannot infer which data your product must preserve.

Unknown OpenOCD targets require an explicit configuration. Do not use an unrelated family's target script to make a connection error disappear. An SVD describes registers; it is not a flash algorithm.

## When programming fails

Check exact device support, driver permissions, probe selection, reset wiring and the native backend version. Keep the command and full error output. Do not repeatedly mass-erase or lower protection settings without understanding the device's recovery procedure.

See [probe troubleshooting](/troubleshooting/probes) and [artifact identity](/reference/artifacts).
