This blog covers embedded systems topics. Each post includes a project example with complete and Travis-CI-Build-Status source code with appropriate (step-by-step) build instructions. Furthermore, I provide a VirtualBox image based on Ubuntu 14.04 LTS, which includes complete build environment.

Stay tuned! I have the following posts in the pipeline.

Posted in Upcoming | Tagged | Leave a comment

STM32F4 – Unit Testing with CppUTest or GoogleTest [Part I.]

Embedded software testing can be complicated, because (unit) test harness is often unavailable on a native system. Consequently software is tested on the x86 system due to convenience. However, the difference between the test- and the target system opens a can of worms. To avoid potential problems I provide:

  • A project template with native unit testing support;
  • It includes:
    • CppUTest harness with memory leak detection;
    • GoogleTest harness;
    • Code coverage, execution time- and code size profilers.

AustinPowers-Testing Continue reading

Posted in Embedded Systems, STM32F4 | Tagged , , , , , , , | 10 Comments

2014 in Review

The stats helper monkeys prepared a 2014 annual report for this blog.

Here’s an excerpt:

A New York City subway train holds 1,200 people. This blog was viewed about 4,300 times in 2014. If it were a NYC subway train, it would take about 4 trips to carry that many people.

Click here to see the complete report.

Posted in Stats | Leave a comment

STM32F4 – Deploy Git MGMT System in under 10 Minutes

UPDATE: Due to Gitlab/Gitlab-CI changes, the script below does not work anymore. I’ll update it in the following months. In the meanwhile, use Gitlab Omnibus package on my Ubuntu 14.04 virtual image with ARM toolchine. The Omnibus package includes both, Gitlab and Gitlab-CI. Be sure to install Gitlab-CI-Runner as well.

Ho, ho, ho! Xmas came early this year, and Santa has a present for all serious embedded software developers (both, good and naughty). Have you ever wanted a private git repository management system that can be accessed via HTTP or SSH? If you answer is positive, then open your present underneath the pine tree, because you will find:

  • A GitLab deploy script.
  • It includes a customized Git Lab CI for ARM-based embedded software development.
    • For a given ARM project repository, this tool automatically runs tests, when a developer pushes some project’s changes to the repository.
    • The test outcome info in turn facilitates code integration, which is very useful in collaborative working environments.

The deployment takes approx. 10 minutes to complete (CPU time). Kill some time while waiting by watching the above Futurama episode.

Continue reading

Posted in Embedded Systems, STM32F4 | Tagged , , , , , , , , | Leave a comment

STM32F4 – In-circuit Debugging [Revisited]

In this tutorial I update my previous post on configuring in-circuit debugger for STM32F4 using the following open source tools:

  • Eclipse Luna (4.4.1);
  • GNU ARM Eclipse Plug-ins;
  • GCC ARM Embedded Toolchain;
  • My project wizard.

Eclipse-GNUARM-Project9 Continue reading

Posted in Embedded Systems, STM32F4 | Tagged , , , , | 7 Comments

STM32F4 – On Hunting Bugs with a Profiler

Villains sometimes misbehave and cause troubles. Luckily, Batman and Robin are constantly on the move. They monitor villains’ behaviour and act, if necessary.

Batman-Villains Batman-Surveillance Batman-Pow

Our code for embedded systems can misbehave, too. Even though it builds without errors and passes testing. Do the following run-time problems in a multitasking environment sound familiar to you?

  • An erratic error occurs that leads to a system failure. It is hard to reproduce the error.
  • A program behaves inappropriately. It is hogging CPU or memory resources. It drains more energy than anticipated. It decreases the autonomy of the system.

Can we use the same principle as Batman and Robin to hunt bugs? What tools do we have at our disposal?

Continue reading

Posted in Embedded Systems, STM32F4 | Tagged , , , | 2 Comments

STM32F4 – Looking for a Virtual Image with ARM Toolchain?


Ok … Ok … OK! Here’s the deal … I prepared a VirtualBox image (2.5 GB!), so you can test drive the whole thing with open source tools. It features:

Continue reading

Posted in Embedded Systems, STM32F4 | Tagged , , , , , , , , | 2 Comments