Project Description

Nowadays a large part of the products that we daily use (cars, smartphones, PCs, home appliances…) is internally made of electronic boards where we can find components like: Microcontrollers, Memories, CPLDs, FPGAs, …

These components need to be flashed, so that the boards can fulfill the goals they are designed for. The boards could contain more than one component equipped with an internal memory.

Electronic boards: what is flashed inside them?

The so called firmware is an application that is flashed and then executed inside the internal memory of the device (embedded application) to make it behave in the proper way and achieve its life goal. It is right to define it as its brain.

Have you ever asked to yourself what is behind the flashing process of these devices? What implants the brain inside? What does the trick? Where is the magic?

Electronic boards production line: an introduction to the topic

To better understand the topic, “production line” concept needs to be introduced. A production line of electronic boards is an industrial environment where many machineries are employed and many processes are performed on a board.

Typically, the production line flow follows the steps below:
1) PCB assembly
2) Inspection
3) In-circuit testing
4) Flashing
5) Functional test

At this point, you may have an idea that the flashing process is a drop of tear in the ocean that is
the production line. Nonetheless, without this process all the rest would be useless: it would be like having a body (the component itself) without a mind (the firmware) to control and move it.

Getting started with In-System Programming (ISP)

The ISP is a method that allows the flashing of the internal memories of these components mounted on the board, so that this board can behave to achieve the goals they are thought for: cameras, parking sensors, wireless antennas, automatic drive, smart lightning…

The ISP is a mean to implant the brain inside these architectures, it is a way to flash a firmware
inside the board components that have a memory to store it.

This article introduces key concepts such as electronic boards and production lines, followed by an
explanation of In-System Programming. The next article will provide a deeper understanding of FlashRunner.