Design of Linux Kernel Character Device Driver SCULL

Design of Linux Kernel Character Device Driver SCULL

SCULL (Simple Character Utility for Loading Localities) is a classic example of a character device driver in the Linux kernel, often used as an introductory project for learning Linux character device drivers. The design goal of the SCULL device is to provide a simple, purely memory-based character device driver to help developers understand the basic … Read more

Guide to PCI Device Driver Design and Programming in VxWorks

Guide to PCI Device Driver Design and Programming in VxWorks

Overview VxWorks is a real-time operating system (RTOS) developed by Wind River, providing robust support for hardware interfaces, including Peripheral Component Interconnect (PCI) devices. Writing PCI device drivers in VxWorks involves interacting with the PCI bus, configuring devices, managing interrupts, and providing an access interface for applications. This guide will walk you through the process … Read more

How to Write Zephyr RTOS Device Drivers

How to Write Zephyr RTOS Device Drivers

In embedded system development, developing device drivers is a crucial task. As a bridge connecting hardware and software, the quality of device drivers directly affects the correctness of system functions and the stability of operation. In the rapidly evolving open-source ecosystem, Zephyr RTOS is favored by developers for its lightweight, modular, and highly scalable features. … Read more

Types, Differences, and Implementation of Linux Device Drivers

Types, Differences, and Implementation of Linux Device Drivers

Types, Differences, and Implementation Considerations of Linux Device Drivers In the Linux operating system, device drivers serve as the bridge between hardware devices and the operating system, providing an interface for interaction with hardware devices. Linux device drivers can be categorized into several types based on their functions and application scenarios. This article will detail … Read more

Device Drivers and Their Functions

Device Drivers and Their Functions

Device Driver and Its Purpose A device driver is a set of programs that act as an intermediary between the computer’s operating system and hardware components. This article provides an overview of such device drivers, including their purpose, types, how they work, their interaction with hardware, and their role in keeping computer systems running smoothly. … Read more

Poll Method in Linux Device Drivers

Poll Method in Linux Device Drivers

The main purpose of designing the <span>poll</span> method in Linux device drivers is to support non-blocking I/O and multiplexing, allowing applications to efficiently monitor the readiness state of multiple devices. Here is a detailed analysis: Design Objectives Support Non-Blocking I/O Allows user programs to monitor the status of multiple file descriptors (such as readable, writable, … Read more

Zephyr Device Drivers and Instances Explained

Zephyr Device Drivers and Instances Explained

The article on Zephyr device drivers and their implementation explains that device drivers are general and reusable code modules. For the same type of device, regardless of how many instances there are, the driver code is the same. For example, on the ESP32, there are multiple ADC devices, and these ADCs are identical in hardware, … Read more

Operating System Design and Implementation: Based on LoongArch Architecture

Operating System Design and Implementation: Based on LoongArch Architecture

Introduction:The rapid development of the IT industry has raised higher requirements for talent cultivation in universities. We can no longer be satisfied with producing talents who can only use foreign CPUs and operating systems; instead, we need to cultivate talents who can “create” their own operating systems. This is essential for achieving autonomy in the … Read more

In-Depth Understanding of Step-by-Step Implementation of Character Device Drivers

In-Depth Understanding of Step-by-Step Implementation of Character Device Drivers

In Linux driver development, character device drivers are the most common and fundamental type of driver. Most peripherals, whether they are LED lights, buttons, serial ports, or GPIOs, are initially provided to user space as character devices. This article will guide you from scratch,step by step to implement a character device driver, along with practical … Read more

Linux Networking Subsystem – NAPI

Linux Networking Subsystem - NAPI

NAPI NAPI is the event handling mechanism used by the Linux networking stack. Today, the term “NAPI” no longer represents any specific meaning [1]. In basic operations, devices notify the host of new events via interrupts. The host then schedules a NAPI instance to handle these events. Additionally, devices can poll for events through NAPI … Read more