Postagens Recentes

Notes about the Linux IRQ handling process

07 May 2020

This post contains some notes relating to the code execution flow in the Linux kernel when an interrupt request (IRQ) is being addressed by the system. According to the documentation, the IRQ subsystem provides three main layers of abstraction:

  1. High-level driver API
  2. High-level IRQ flow handlers
  3. Chip-level hardware encapsulation

The IRQ handling process deals mostly with flow...

Notes about Linux IRQ initialization

21 April 2020

This is a brief post relating some of my observations about the initialization of interrupt requests (IRQs) on the startup process of the Linux kernel. I intended to obtain a picture of the code execution flow that allocates an initializes interrupts for the ARM architecture, however, as I was creating a diagram of it, I tried not to dive so...

Simple IIO Driver

04 September 2019

In this tutorial I intend to give a brief introduction to the Industrial I/O (IIO) subsystem and show how to create a simple IIO driver from scratch. My aproach will be preaty much practical. I’ll use AD7292 as study case to show how to create a simple IIO device driver from scratch. This tutorial makes part of the Introduction...