Introduction to Linux

Introduction to Linux

The GNU Manifesto https://dpya.org/en/images/8/81/The_GNU_Manifesto_-_GNU_Project_-_Free_Software_Foundation.pdf https://www.gnu.org/gnu/manifesto.en.html Linux VS Windows Comparison Windows Linux Interface The interface is unified, and the shell program fixes all Windows program menus to be almost identical, with similar shortcut keys. The graphical interface style varies by distribution and may be incompatible. The terminal of GNU/Linux is inherited from UNIX, and the basic … Read more

Designing I2C Device Drivers for VxWorks 7

Designing I2C Device Drivers for VxWorks 7

1. Introduction The Inter-Integrated Circuit (I²C) is a widely used low-speed, two-wire communication protocol designed for communication between integrated circuits. In embedded systems, I²C is commonly used to connect sensors, EEPROMs, ADCs, and other peripherals. [VxWorks 7] introduces a modern, scalable, and modular driver framework built on VxBus, supporting dynamic driver registration, device tree integration, … Read more

Monitoring and Tuning the Linux Networking Stack: Receiving Data (1) – Network Device Initialization

Monitoring and Tuning the Linux Networking Stack: Receiving Data (1) - Network Device Initialization

Monitoring and Tuning the Linux Networking Stack: Receiving Data In Brief This blog post explains how computers running the Linux kernel receive packets and how to monitor and tune various components of the networking stack as packets flow from the network to user-space programs. Update: We have published a corresponding article: “Monitoring and Tuning the … Read more

Applications of C Language in Operating Systems

Applications of C Language in Operating Systems

Applications of C Language in Operating Systems The C language is a widely used computer programming language that has become an important tool for operating system development due to its ability to efficiently interface with hardware operations. This article will introduce several applications of C language in operating systems, including process management, memory management, and … Read more

Practical Development of Device Drivers Based on PLX PCIe Controllers in VxWorks 7

Practical Development of Device Drivers Based on PLX PCIe Controllers in VxWorks 7

Introduction In industrial control, data acquisition, and communication scenarios, PLX (acquired by Broadcom) PCIe controller chips are widely used. VxWorks 7, as the latest generation of real-time operating systems from Wind River, offers a more modern driver framework – VxBus 2.0. This article will share the complete process of developing PCIe device drivers in the … Read more

Insights into Linux Character Device Drivers

Insights into Linux Character Device Drivers

Hello, I am Lao Wu, continuing to document my learning insights. 1. Tips for Staying Focused Do the most important tasks in the morning. Stay in a distraction-free environment, such as a library. It’s completely normal to feel a bit of negativity before you start working. Make “happy moments” a part of your plan. Have … Read more

Applications of C Language in IoT: Device Drivers and Communication Protocols

Applications of C Language in IoT: Device Drivers and Communication Protocols

Applications of C Language in IoT: Device Drivers and Communication Protocols Introduction With the rapid development of the Internet of Things (IoT), the C language is widely used in the development of embedded systems and device drivers due to its efficiency and low resource consumption. This article aims to introduce basic users to how C … Read more

The Design Philosophy of ‘Everything is a File’ in Linux

The Design Philosophy of 'Everything is a File' in Linux

1. Core Concept of Unix/Linux File Abstraction “Everything is a file” is one of the core design philosophies of Unix/Linux systems, which essentially means: Unified Interface: Provides a consistent access interface through the file system Abstract Encapsulation: Abstracts resources such as devices and processes as files Simplified Operations: Uses a unified file operation API (open/read/write/ioctl/close) … Read more

How to Learn Embedded Systems? Steps for Learning Embedded Linux.

How to Learn Embedded Systems? Steps for Learning Embedded Linux.

Master C Language! Master C Language! Master C Language! Important things are said three times! If you are a university student, please also learn the following courses: Data Structures, Computer Principles (including Assembly), Compiler Principles, Operating Systems. First do the above, don’t rush! To be a good embedded engineer, stay away from impatience! If you … Read more

In-Depth Discussion on Embedded C Programming: Have You Libraryed?

In-Depth Discussion on Embedded C Programming: Have You Libraryed?

Libraries are powerful tools! If a device program is perfectly libraryed, it means: 1. All engineers spend minimal effort when porting or creating the device driver. 2. As the number of users increases, it becomes more stable through extensive testing, evolving into a well-deserved public code. 3. The external interface of the library (function names … Read more