GCC Salon | Dialogue with Han Naiping: Co-creating a New Paradigm of Diverse Collaboration in the Global Computing Ecosystem

In the industrial transformation intertwined with the revolution of artificial intelligence and computing power, operating systems, as the underlying foundation of digital civilization, are standing at a critical juncture of open collaboration. Recently, the “GCC Salon” series of interviews titled “Words from Leaders” invited Mr. Han Naiping, a member of the GCC Council and Strategic … Read more

Installation Package and Detailed Installation Guide for Keil uVision 5 MDK

SoftwareIntroduction Keil uVision 5 MDK is an integrated development environment (IDE) developed by KEIL. Keil MDK, also known as MDK-ARM, Realview MDK, I-MDK, KEIL MDK-ARM, KEIL ARM, uVision5 (previous versions include uVision4 and uVision3), is a microcontroller software development platform developed by the well-known German software company Keil (now acquired by ARM). It is currently … Read more

Analysis of Job Prospects for BSP Engineers in Embedded Software Development in 2026

1.What is aBSPEngineer? BSP, short for Board Support Package, refers to the software that provides support for a specific hardware platform. A BSP engineer is a technical professional responsible for the development, debugging, and maintenance of the board support package, which is a subfield of embedded software engineering.So, what is a board support package? It … Read more

Linux – Block Device Drivers

1.What is a Block Device Driver A block device driver is used to operate storage devices such as hard disks. 1.1 Concept of Block Device DriversDevices that can randomly access fixed-size data chunks (1 block = 512 bytes) are called block devices. Block device files are generally used in a way that mounts a file … Read more

Windows PCI Device Driver Development Guide: PnP Callback

In the previous article, we introduced the driver code generated by the VS KMDF template, providing a preliminary understanding of the driver code. It should be evident that this driver is quite simple, essentially lacking any real functionality. After installing the driver we wrote, this PCIe device remains in the D0 state (if you are … Read more

Windows PCI Device Driver Development Guide: Building Your First Device Driver from Scratch

The Windows WDF (Windows Driver Framework) is a driver development architecture introduced by Microsoft, designed to simplify the kernel driver development process and enhance system stability. WDF drivers are divided into KMDF (Kernel-Mode Driver Framework) and UMDF (User-Mode Driver Framework). KMDF provides an object-oriented interface for kernel-mode drivers, such as Device Objects, Queue Objects, Request … Read more

Windows PCI Device Driver Development Guide: Introduction to Driver Template Code

In the previous article, we introduced how to “write” a Windows PCI device driver from scratch. The term “write” is in quotes because we didn’t actually write any code; the driver code was generated using the KMDF template in Visual Studio. In this article, we will introduce the generated driver code. The first function to … Read more

Detailed Explanation of Labeling Techniques for Unit Length in Assembly Language

1. Basic Concept of Labels In assembly language, a label is a symbolic name used to mark memory addresses. In 8086 assembly, there are two types of labels: Regular Labels: Represents only the address of a memory unit Labels with Unit Length: Represents not only the address but also implicitly includes the length information of … Read more

Detailed Explanation of call and ret Instructions in Assembly Language

ret and retf Instructions <span>call</span> and <span>ret</span> are transfer instructions that control the program flow by modifying the IP (Instruction Pointer) or simultaneously modifying both the CS (Code Segment Register) and IP. These instructions are typically used together to implement the design of subroutines (functions). ret Instruction <span>ret</span> (return) instruction pops data from the stack … Read more