/james/notes

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.

Building Embedded Debian for the DE10 Nano

Building Embedded Debian for the DE10 Nano

Instructions for building an a Debian Linux based operating system for the Intel DE10 nano FPGA SoC development board. A mainline version of both u-boot and the Linux kernel are used.

Docker Cheatsheet

Docker Cheatsheet

A short summary of the most common docker commands.

Git Cheatsheet

Git Cheatsheet

Dear future self, if you are reading this it looks like you have forgotten how to do something in Git again... Don't worry, it happens; this page has been created just for you!

Cascaded integrator–comb (CIC) filters

Cascaded integrator–comb (CIC) filters

CIC filters are computationally efficient implementations of narrowband lowpass filters. They are particularly suited for use as an anti-aliasing filter when decimating or an anti-image filter when interpolating. CIC filters are well suited for implementation in FPGAs and ASICs as they only require addition and subtraction operations and not multiplication.