Chapter 4 - Advanced
This chapter contains advanced topics with QEMU, ranging across a variety of topics.
Before doing anything in this chapter, you should be familiar with Chapter 2 - Building and Running QEMU and Chapter 3 - Developing on QEMU.
Advanced QEMU Options
Using CAN/CAN FD with Xilinx QEMU
- Xilinx CAN/CAN FD Introduction
- Overview of CAN/CAN FD with QEMU
- How to create virtual CAN/CAN FD interface on Linux host machine
- How to create physical CAN/CAN FD interface on Linux host machine
- Using single CAN with QEMU (for Zynq UltraScale+ MPSoC)
- Using both CAN0 and CAN1 devices with QEMU (for Zynq UltraScale+ MPSoC)
- Using both CANFD0 and CANFD1 devices on separate buses with QEMU (for Versal Adaptive SoC)
- How to dump random data to CAN FD through virtual CAN FD interface
- How to analyze data on the host CAN/CAN FD interface
Networking in QEMU
Co-simulation
Device Trees
Boot Images
QEMU Module Debug Printing
Accessing Storage Media in QEMU
QEMU Device Model Development
- Writing your own device model
- Creating the Device Model
- Create a file and add necessary #includes
- Define the model name and Err flags
- Define registers
- Define the device state struct
- Define irq function
- Define the post write function for Matcher register
- Define the pre-write function for Xdata register
- Define the register block
- Define the reset function
- Define read/write handler
- Define the init function
- Define class_init
- Define this model in an object form
- Register the model with QEMU core
- Add the model for compile.
- Adding the device to the Device Tree
- Adding the device for Zynq UltraScale+ MPSoC
- Testing the device model:
Using USB With QEMU
Fault Injection in QEMU
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy