Experiencing macOS on Linux Using VM

Experiencing macOS on Linux Using VM

❝ This article details the complete process of successfully installing and running macOS Catalina in an Ubuntu 24.04 LTS environment, based on the QEMU/KVM and macOS-Simple-KVM projects. The focus is not on repeating the project documentation but on analyzing the key issues encountered during the actual setup and their solutions. 1. Basic Environment Preparation and … Read more

QEMU ARM + NFS Debugging: Creating an Efficient Embedded Development Environment

Hello everyone, I am a programmer who loves to share. I am happy to share my experiences and understanding from my work. -begin- In embedded development, frequently flashing images for debugging is inefficient. However, using QEMU to simulate an ARM environment in conjunction with NFS (Network File System) allows the program to read files directly … Read more

Setting Up an Embedded HTTP Environment on QEMU-ARM with Access Examples

Those engaged in embedded development know that devices must interact with the outside world via HTTP, such as for data transmission and remote control. Recently, I set up a lightweight HTTP service on a QEMU-emulated ARM Linux system using the httpd included with BusyBox, and I also enabled access from the host. I encountered several … Read more

The 6 Best Virtualization Software for Personal Users!

The 6 Best Virtualization Software for Personal Users!

When it comes to virtual machines, those of us in the tech field are likely familiar with them. The use cases for virtual machines are numerous, such as setting up testing environments, installing Linux on Windows systems, or running Windows on Mac machines, and they can even be used for security experiments. The key advantage … Read more

The Simplest Way to Program SPI FLASH

The Simplest Way to Program SPI FLASH

Today, a customer asked us whether the programming speed of our SOP8 Flash chip would increase if the QE=1 setting is applied. Let us revisit the concept of SPI Flash chips. SPI FLASH typically supports the following communication modes: Standard SPI (Single/Dual/Quad) 1. Single SPI (Single Line Mode): Uses IO0 (MOSI) to send data, IO1 … Read more

Fast and Accurate Cycle Estimation for Embedded Systems through Mixed Instruction Set Simulation

Fast and Accurate Cycle Estimation for Embedded Systems through Mixed Instruction Set Simulation

Motivation In the design process of real-time embedded systems, execution time analysis is crucial for verifying whether all timing requirements are met. With the rapid increase in complexity of modern hardware components, developing accurate timing models for target hardware has become increasingly difficult, which serve as the basis for static timing analysis. Recently, simulation-based dynamic … Read more

A Step-by-Step Tutorial for Developing an Operating System in Rust for Raspberry Pi (Raspberry Pi 3 / 4)

A Step-by-Step Tutorial for Developing an Operating System in Rust for Raspberry Pi (Raspberry Pi 3 / 4)

rust-raspberrypi-OS-tutorials is a step-by-step tutorial for developing an operating system in Rust, aimed at Raspberry Pi (Raspberry Pi 3 / 4). Each chapter (tutorial) is a bootable, standalone kernel version, and subsequent chapters expand on the functionality of the previous ones. The author breaks down common OS tasks from the basics of “writing characters to … Read more

Debugging the Linux Kernel Using QEMU and GDB

Debugging the Linux Kernel Using QEMU and GDB

Debugging the Linux kernel is an important way to understand the internal workings of an operating system. Often, code is understood through execution rather than just reading. By using QEMU in conjunction with the GDB debugger, we can set breakpoints, step through code, and inspect various data structures within the Linux kernel without needing additional … Read more

From Startup to First Task Execution in ThreadX RTOS

From Startup to First Task Execution in ThreadX RTOS

Utilizing the VSCode debugging environment to observe the startup process of ThreadX.0. Startup AnecdoteThe example program for the debugging environment built on ThreadX RTOS encounters a HardFault exception, as shown in the figure below.However, this issue does not occur on another host. The same example code, when debugged step by step, locates the specific instruction … Read more

Compiling the Linux Kernel from Source on Ubuntu 18.04 and Running a BusyBox Filesystem

Compiling the Linux Kernel from Source on Ubuntu 18.04 and Running a BusyBox Filesystem

I previously wrote an article titled: “Reading the Linux Kernel Source: Downloading the Source, Compiling the Kernel, and Running a Minimal System.” However, many fans reported encountering various issues, including but not limited to: Unable to create files, with a message indicating a read-only file system Configuration file errors Unable to mount the root filesystem, … Read more