Showing Posts From
Tutorial
- 02 Aug, 2025
QEMU custom peripheral properties
In the QEMU TMP105 QMP interaction newsletter the interaction with an emulated QEMU component via QMP and properties was shown. Using Python and QMP it was possible to change the temperature that the TMP105 component reported by issuing commands from outside the QEMU emulation. In this post we will add similar support to the Custom I2C and Custom SPI peripherals. In the original implementation of ...
- 10 Jul, 2025
Rust userspace application for QEMU custom peripherals
After working with C, C++ and Python for more than 15 years, I got the opportunity to work with Rust at my current workplace (while still working primarily on Yocto and Linux). It has been a pleasant ...
- 04 May, 2025
QEMU SPI NOR flash with SWUpdate recovery
In the QEMU Custom SPI peripheral post the support for SPI controller for Cubieboard was introduced. A custom SPI peripheral was developed to demonstrate basic functionality. QEMU comes with out-of-th ...
- 30 Mar, 2025
Making initramfs image with Yocto
Embedded systems can have different types of persistent (non-volatile) storage, like eMMC, SD card, NOR or NAND flash memory. Each storage type has advantages and disadvantages with regards to the rea ...
- 20 Oct, 2024
Custom SPI peripheral in QEMU
In previous posts the process for creating a custom memory mapped and I2C peripheral in QEMU was shown. In this post we will go through the process of creating a new SPI peripheral, and userspace supp ...
- 21 Jul, 2024
SWUpdate for Cubieboard QEMU
Software update is an important part of design of modern embedded systems. It allows faster time to market, since fixes, security or stability updates or even new features can be pushed to the devices ...
- 09 Jun, 2024
Integrating support for custom QEMU peripherals in Yocto
In the previous posts a custom memory-mapped peripheral was introduced, together with the Linux device driver for it and a userspace application which can be used to interact with it. Besides the memo ...
- 26 May, 2024
Custom I2C peripheral in QEMU
QEMU supports creating various peripherals, not only the memory-mapped shown in previous posts. In this post we will go through the process of creating a new I2C peripheral, and userspace support for ...
- 19 May, 2024
Userspace application for QEMU custom memory-mapped device
This is part 3 of the Linux device driver development post series. In the previous post the structure of a Linux device driver for the custom memory-mapped peripheral in QEMU was shown. In this post w ...
- 19 May, 2024
Linux Device Driver for QEMU custom memory-mapped device
This is part 2 of the Linux device driver development post series. In the previous post the steps for creating a custom memory-mapped peripheral in QEMU were presented. In this post following items wi ...
- 19 May, 2024
Creating Custom QEMU Memory Mapped Device
This is part 1 of the Linux device driver development post series. In this post we will cover the following thingsDesigning custom memory-mapped device in QEMU Register map Fitting into Cubieboard mem ...
- 21 Apr, 2024
Yocto for Cubieboard in QEMU - Step-by-step
In the previous post Ubuntu was used as root filesystem. Using Ubuntu as root filesystem is simple and fast to use, but it also has a lot of packages which are not necessary. In this post I will cover ...
- 24 Mar, 2024
Preparing and running QEMU ARM for Cubieboard (Part 2)
This is part 2 of the QEMU Board Emulation post series. In the previous post the basic steps for obtaining and compiling QEMU, U-Boot and Linux were presented. The only part that was missing for the c ...
- 24 Mar, 2024
Preparing and running QEMU ARM for Cubieboard (Part 1)
This is part 1 of QEMU Board Emulation series In this post I will cover the following thingsBuilding QEMU Downloading QEMU source code Configuring and building QEMU Running QEMUGetting toolchain Build ...