How to update embedded software

How to update embedded software


In comparison to the PC-like systems, microcontrollers do not have an operating system, file system, and no network stack. Most probably it is connected to the host device over some sort of serial port.

Es wurde kein Alt-Text für dieses Bild angegeben.

The Microcontroller has some "program memory" and after powering it on, the CPU starts executing instructions from the begin of it.

Es wurde kein Alt-Text für dieses Bild angegeben.

How is the firmware is written into the memory?

Programm can be stored using a "programmer" device.

Es wurde kein Alt-Text für dieses Bild angegeben.

Such a device connects directly to memory and writes data there. This works well if you have physical access and you have not too many of them. You can not avoid it if the microcontroller is the only smart part of the system.

But if you manage a distributed fleet of smart systems (like charging stations or vending machines) updating using programming will be quite expensive.

Split the application into two parts, and store them in two separate memory locations. One part called "bootloader" will be the default starting point of the application, and it will only have the functionality of communicating with the host and writing data to memory.

Es wurde kein Alt-Text für dieses Bild angegeben.

The main application can be written by bootloader from the host system. And bootloader can transfer execution to that app.

This way even the firmware for the microcontroller can be frequently updated and new features can be added to remote systems.

To view or add a comment, sign in

More articles by Evgeny Petrov

  • Efficient Bazel setup in GitLab CI

    On every commit to a merge request, Qwello rebuilds everything. And it takes us just a couple of minutes.

    3 Comments
  • Bazel: What is vendoring.

    By adding some generated files into repository you allow users to consume your repository in less steps. Let's look…

  • Bazel Adoption at Qwello: Surprisingly Easy for Rust Projects

    About a year ago, here at Qwello, we thought about good ways to reuse the code across our various projects. We had a…

    3 Comments
  • Story about Overcoming Development Challenges with Monorepo and CI

    One sunny afternoon, the CEO of Grow AI, Lisa, was going through the company's latest customer feedback. She noticed a…

    1 Comment
  • Visa Sponsorship in Germany

    Work Visa vs BlueCard Eu There are two main types of ways of letting foreigners work in the company: work Visa Blue…

    5 Comments
  • Dev or Ops oriented testing

    Development vs. Operations testing - I’ve just realized, that there is such approaches.

Insights from the community

Others also viewed

Explore topics