Category: Embedded
PCIe Sysfs
My desktop Put them together, we have 1. Decoding the Address (Fully Qualified Domain BDF) When you see an address like 0000:61:00.1 (your GPU’s HDMI Audio Controller), the kernel is using a highly structured coordinate system [1]: 0000:61:00⋅1 Segment Your Value Hardware Translation Domain 0000 The Virtual Segment. Standard desktop PCs usually have only one domain (0000),…
PCIe Basics
1. The Evolutionary Leap: From PCI to PCIe In the 1990s and early 2000s, motherboards relied on PCI and PCI-X (PCI Extended). These were shared parallel buses, meaning multiple devices were connected to the same set of physical wires. The Parallel Bottleneck While intuitive, parallel buses hit a hard physical limit as clock speeds increased: The PCIe Paradigm Shift (2003)…
Bit-banging
Bit-banging is a slang term in embedded systems and computer engineering for a technique where software directly controls the state of a general-purpose input/output (GPIO) pin to emulate a hardware communication protocol or signal [1]. Instead of relying on dedicated onboard hardware peripherals (like a built-in SPI, I2C, UART, or PWM controller), the CPU manually toggles a digital…