Home / Technical guides / Designing production programming — takt time, gang programming, and IP protection
Technical guide / Production programming

Designing production programming — takt time, gang programming, and IP protection

Programming in development and programming in production have completely different requirements. In development it is enough to connect and write; in production, what counts is takt time, simultaneous channel count, programming logs, IP protection of the image, and a setup that prevents operator error.

Contents

Do not reuse development equipment in production

Development debug probes are designed to work together with software on a PC. On a production line, waiting for the PC to boot, OS updates and driver mismatches all turn directly into downtime.

A stand-alone production programmer runs without a PC, holds the image internally, and programs on an external trigger or a button. This difference directly affects line-design flexibility and availability.

Takt time and simultaneous channels

Deciding by programming time per unit alone usually leaves you short later. What matters is how many units must run in parallel to meet the target takt.

Programming time is set by image size, flash erase and write speed, the interface's shift rate, and whether verification is performed. Skipping verification is faster, but it usually cannot be skipped in production.

You can parallelize with multi-channel programmers or by grouping several single units. With the latter, host-side control (CLI/SDK) and USB hub stability become the practical issues.

IP protection — effectively mandatory for contract manufacturing

With outsourced manufacturing, handing the factory a plaintext image means you cannot control how many units are programmed. The risk of overproduction (so-called overbuild) remains.

There are three basic countermeasures: image encryption (the factory can program only with equipment holding the decryption key), programming-count limits (programming stops after the licensed quantity), and date limits (programming stops after the expiry date).

Also consider the risk of the programmer itself being taken away; ideally the design includes device-side authentication and tamper detection for logs.

Traceability and line integration

Which image (version) was written to which serial-numbered board, and when? Without this record you cannot identify the affected lots when a fault occurs in the field.

Whether you control the programmer via GUI, CLI, or SDK changes how freely it can be integrated. Linking with an existing manufacturing execution system (MES) requires the SDK or CLI.

If equipment is geographically dispersed, distributing and monitoring jobs through the cloud greatly lowers operating cost.

Serialization and per-unit data

Many products have data that differs per unit written at programming time — serial numbers, MAC addresses, calibration values, and keys.

Unless you decide in advance where these values come from (the line or a higher-level system), how duplicates are prevented, and how skipped numbers are handled when programming fails, confusion follows once operation starts.

Relation to secure boot

For products using secure boot, the programming step handles signed images and may involve blowing fuses (a one-time, irreversible operation).

If an irreversible operation fails, the board cannot be recovered. Fix the process order, failure isolation, and whether rework is possible at the design stage.

Frequently asked questions

Can't we do production with a development probe?
For small quantities it can sometimes work. But it differs from production equipment in PC dependence, programming speed, logs and traceability, and IP protection. The larger the volume, the more the differences in availability and management cost matter.
How do we estimate the number of channels needed?
Work backwards from the target takt time, programming time per unit (including verification), and handling time for loading and unloading. If we know the image size and flash specification, we can give an approximate programming time.
Can we discuss the line configuration with you?
Yes. Tell us the target MCU, image size, target takt, production volume, and whether manufacturing is outsourced, and we will reply with a proposed configuration and rough estimate.

Related product categories and solutions

Other technical guides

Discuss your setup

If you organize your requirements along the lines of this guide, we can reply early with a proposed configuration and a rough estimate. Partial questions are welcome too.

Ask us about products or development → +81-3-3256-3933