Operation Triangulation: The Last (Hardware) Mystery

Operation Triangulation: The Last (Hardware) Mystery

Disclaimer:The programs (methods) mentioned in this article may be offensive and are intended for security research and educational purposes only. Readers assume all legal and joint responsibilities for any other use of this information; the author of the article bears no legal or joint responsibility. This article was first published on the author’s personal blog:https://mybeibei.net, … Read more

Windows PCI Device Driver Development Guide: Bringing the Device to D0 State by Opening the Device File

Windows PCI Device Driver Development Guide: Bringing the Device to D0 State by Opening the Device File

In the previous article (Implementing a PCIe Device in Qemu: Adding a Periodic Timer to the Device), we introduced how to add a Timer to a PCIe device simulated by Qemu. This Timer has a counter that increments by 1 every second once enabled, and it also sends an interrupt to the virtual machine.To test … Read more

Windows PCI Device Driver Development Guide: Accessing PCI Configuration Space and MMIO Registers

Windows PCI Device Driver Development Guide: Accessing PCI Configuration Space and MMIO Registers

In the previous article, we implemented some PnP callbacks in PCI drivers, allowing the driver to load onto the PCIe device and enabling the device to enter the D3 low power state. In essence, writing a driver involves using the APIs provided by the operating system’s driver framework to create device objects and implement various … Read more

C++ Embedded Programming Idioms: MMIO Modeling

C++ Embedded Programming Idioms: MMIO Modeling

Click the Blue Word Follow Us This article is excerpted from the live recording of Senior Software Architect Yang Wenbo’s “Walking with Masters: Entering Scott Meyers’ C++ World”. 01 Introduction In pure software programming practice, the first example learned in many languages is the Hello World printing program. In embedded development, the Hello World is … Read more