接上一篇文章中介绍的qom的基本用法和qom面向对象实现原理,这一篇讲一下qom实现的源码1.初始化函数的注册类型注册的调用接口是type_init(xxx_register_types),type_init是个宏定义,最终原理是gcc 的constructor属性,添加这个属性描述的函数为初始化函数,会在main函数执行之前执行,最后宏定义的作用就是在xxx_register_types 之前加
转载
2024-09-24 10:45:00
184阅读
我们平常使用的PC一般都是x86架构的Intel
CPU,如果由于某些原因,需要使用arm架构的操作系统,我们无法使用一些虚拟机软件(如vmware
workstation、virtual box等) 进行安装,因为这种类型的虚拟机软件只能安装和宿主机的CPU相同架构的系统。此时,我们可以使用qemu软件。Qemu是一款开源的模拟器及虚拟机监管器,可以理解为一个模拟器,可以模拟一个ARM架构的虚拟
原创
2023-11-03 11:57:31
2519阅读
1.开场白环境:处理器架构:arm64内核源码:linux-5.9.2ubuntu版本:20.04.1代码阅读工具:vim+ctags+cscope对于Linux爱好者,你是否也有这样的困扰,为了学习Linux而去购买昂贵的开发版,这大可不必,QEMU模拟器几乎可以满足你的需求,足够你去学习Linux,它能够模拟x86, arm, riscv等各种处理器架构,本文将向你呈现的不是QEMU
在Windows系统中的文件压缩工具winrar功能强大,虽然我们都习惯于用gui的winrar,但是它也能在命令行方式下面使用,这尤其在企图让winrar批量自动压缩解压缩的时候有用。它自带的帮助也非常的全面,现在从中择出来一些比较常用的总结一下,以免再找的时候比较头晕1,最简单的压缩命令:winrar a asdf.txt.rar asdf.txta的意思是进行压缩动作,后面第一个参数是被压缩
一、virtio spec 是什么?在云计算如火如荼的今天,我们应该经常可以在云计算平台上看 "virtio" 这个词,它出现在云计算机的各种设备上:它是怎样的一种存在,在虚拟化的技术领域扮演着一种怎样的角色呢?virtio 是一种 I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用 I/O 设备的抽象。一般来说,我们所说的 virti
前面已经安装并配置了编译链和qemu,现在可以用qemu来模拟arm平台了。 1. Hello, Qemu! 输入下面的代码: hello.c - hello.c#include<stdio.h>
int main()
{
printf("Hello, Qemu!\n");
return 0;
} 编译并运行:$ arm-none-linux-gnueabi-gc
转载
2024-03-05 14:12:24
242阅读
文章目录1.简介2.添加外设3.编写喂狗程序测试效果4.分析qemu代码4.1.开启i6300esb调试开关4.2.设备实现i6300esb_realize4.3.设备重启函数i6300esb_reset4.4.读写IO端口寄存器4.5.读写IO内存寄存器4.6.超时机制4.6.1.超时处理函数4.6.2.如何判断超时reference 1.简介本文介绍qemu是如何模拟和使用intel 630
转载
2024-02-24 11:15:06
303阅读
第一次写CSDN,把这两天做的一个小实验记个笔记。写的不好请见谅,有错误欢迎指正,欢迎讨论。在做之前也参考其他博主的一些文章Carry_王的博客 USB基本概念不做介绍,不懂的可以先去了解,主要说明实现过程。一、硬件STM32F407 开发板 ,包括外部FLASH w25q128 (16MB)通过USB数据线连接板子USB SLAVE接口与PC端二、实现内容片外FLASH虚拟U盘,利用文件系统对F
文章目录从0开始使用QEMU模拟ARM开发环境系列一览表:QEMU网络功能配置TAP后端与脚本QEMU启动参数修改测试验证 从0开始使用QEMU模拟ARM开发环境系列一览表:从0开始使用QEMU模拟ARM开发环境系列一览表QEMU网络功能配置为了 让 QEMU 能够与主机 建立网络连接,采用桥接的网络连接与Host通信(需要主机内核tun/tap模块支持)QEMU中的网络,包含两部分的内容客户机
转载
2024-02-22 20:07:45
185阅读
QEMU搭建ARM64+Linux虚拟环境 文章目录QEMU搭建ARM64+Linux虚拟环境一、qemu简介1、功能及架构简介2、实现思路介绍二、qemu安装1、安装依赖2、获取源码3、编译(1)准备工作(2)编译三、安装Linux操作系统1、UEFI固件下载2、操作系统镜像下载3、创建虚拟硬盘4、虚拟机安装5、进入UI界面进行安装6、安装成功四、参考教程: 一、qemu简介1、功能及架构简介Q
转载
2024-02-02 07:20:50
380阅读
KVM虚拟机代码揭秘——设备I/O虚拟化
1. 虚拟设备的IO地址注册 如我们所知,KVM虚拟机的设备模拟是在QEMU中实现的,而KVM实现的实质上只是IO的拦截。换句话说,真正的虚拟设备IO地址注册是在QEMU代码里面实现的。 在QEMU中,在初始化我们的硬件设备的时候需要注册我们的IO空间,在这里有下面两种IO注册方法: (1) PIO(port IO) 端口IO (2)&n
转载
2024-08-10 08:51:58
54阅读
本文参考2019年版的Tools Used in 6.828(注意到当前版本也就是2020版本的Xv6, a simple Unix-like teaching operating system并没有清楚的instruction)。以下两种方法无论是使用apt安装qemu-system-misc还是编译安装qemu皆可,但不要使用apt安装qemu。方法一:适用于bulleyes/sid版本的De
转载
2024-08-28 10:27:58
249阅读
最近我想调试一个运行在QEMU 模拟ARM系统中的Linux程序。我碰到过一些麻烦,因此我会将我的工作过程写在这里。我想用gdbserver来在QEMU中运行一个程序,然后用TCP链接将其连接到运行在我PC上的GDB实例。gdbserver是一个软件层,它实现了GDB 的一部分功能(调试残桩),并提供了通过网络(或者串口)连接一个完整的GDB实例的可能性。我想说明的这些都可以通过下面这张图来表示。
大家好,今天分享下群友老李在大四上学期做的一个项目。希望对大家有启发。项目信息项目名称:龙芯2K上的RT-Thread系统 学生姓名:李志锐 学校:聊城大学 大四在读 方案描述:该项目要求首先实现RT-Thread项目到龙芯2K平台上的MMU移植,并实现GMAC及SATA/SSD驱动,同时要对接FAT文件系统以及网络协议栈。项目链接:https://isrc.iscas.ac.cn/gitlab/
0. ARM寄存器 R13: SP R14: LR1. 跳转指令 跳转指令用于实现程序流程的跳转,在ARM 程序中有两种方法可以实现程序流程的跳转: 1) 使用专门的跳转指令。 2) 直接向程序计数器PC 写入跳转地址值。 通过向程序计数器P
qemu搭建riscv的可调试环境riscv工具链(网上大多数用Github直连的工具链,但是因为太大,download的时候老是出问题)选择使用Cross-compilation toolchains for Linux - Home (bootlin.com)进行下载,之后解压。bin目录下为可执行的工具链,将其添加到PATH中。qemuqemu压缩包下载:QEMU,之后解压。默认的安装命令:
转载
2024-06-07 12:37:31
66阅读
# 使用QEMU模拟ARM架构的镜像文件
## 概述
在本文中,我将指导你如何使用QEMU来模拟ARM架构的镜像文件。首先,我将提供一个步骤清单,然后详细介绍每个步骤所需的代码和操作。
## 步骤清单
以下是使用QEMU模拟ARM架构的镜像文件的步骤:
| 步骤 | 描述 |
| --- | --- |
| 步骤一 | 安装QEMU和相关依赖 |
| 步骤二 | 下载ARM镜像文件 |
|
原创
2024-01-21 09:22:34
514阅读
Qemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。正因为 Qemu 是纯软件实现的,所有的指令都要经 Qemu 过一手,性能非常低,所以,在生产环境中,大多数的做法都是配合 KVM 来完成虚拟化工作,因为 KVM 是硬
转载
2024-06-12 21:00:04
207阅读
本篇博文是基于小编2012年参加网上法国OpenWide公司 http://www.openwide.fr/ 举办的嵌入式Linux竞赛)的经历(今年题目是在Mini2440上实现一个可触摸数字/模拟示波器)。第一阶段是在QEMU下模拟Mini2440开发板并运行编写的示波器图形软件(我是用Qt实现的)。第一阶段已经通过,获得了Mini2440开发板,目前正在参加第二阶段(截止11月底)
前情基于手上没有板子,想想试试 qemu 的模拟功能,这里可能并不会有一个流程化的过程,这方面的技术步骤网上还是有很多资源的,没必要再写了,主要是把自己的一些问题,主要的内容有个记录记录安装 qemuubuntu 系统 下用 apt install qemu-xx ,tab 键就可以发现应该安装什么,安装后命令行会有 qemu-开头的命令,qemu-ARCH 是模拟软件运行的,qemu-syste
转载
2024-04-02 11:49:55
146阅读