Generating C++ code coverage metrics using GoogleTest and LCOV
Understanding the code coverage of unit tests can be a useful metric in the software development process. This article contains a basic setup for outputting code coverage reports for GoogleTest unit tests.
Using OpenStreetMap Offline
Setting up OpenStreetMap for use as part of an offline application can be a bit confusing. This article covers the full process.
Tcl Script Cheatsheet
Tcl (Tool command language) is a high level interpreted language that is commonly used by FPGA development tools. This article covers the basics of using Tcl.
Cisco IOS Cheatsheet
Cheatsheet for configuring Cisco routers and switches.
Controlling I2C Devices from U-Boot
The I2C command in U-Boot allows reading and writing to I2C devices connected to an embedded system. This can be very useful for testing devices or quickly reading/writing values stored in I2C EEPROMs.
Using the Raspberry Pi Pico on Ubuntu
Instructions for programming the Raspberry Pi Pico in C/C++ using a Ubuntu development machine.
Making Wireshark Link Layer Dissectors
Wireshark is a powerful tool for analysing communications data. While it is typically used for ethernet traffic, Wireshark can be used to decode any arbitrary protocol. This article covers how to make custom link layer dissectors using the Lua scripting language.
Working with Linux Initial RAM Disks
A short reference guide to generating and modifying initrd and initramfs initial RAM disks.
Flattened uImage Tree (FIT) Images
Flattened uImage Tree (FIT) images are commonly used on embedded linux systems. This article covers the steps required to examine, extract, and regenerate a FIT image.
Building a Busybox based OS for the DE10 Nano
Instructions for building an compact Linux root file system for the Intel DE10 Nano FPGA SoC development board using Buildroot.