/james/notes

Generating C++ code coverage metrics using GoogleTest and LCOV

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

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 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

Cisco IOS Cheatsheet

Cheatsheet for configuring Cisco routers and switches.

Controlling I2C Devices from U-Boot

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

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

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

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

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

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.