自己在前人的基础上构建一个小而全的OS,该OS包含虚存管理、进程管理、处理器调度、同步互斥、进程间通信、文件系统等主要内核功能,总的内核代码量(C+asm)不会超过5K行。我们在构建或调试操作系统时,为了方便可以使用CPU硬件模拟器如QEMU、BOCHS等软件来进行模拟操作。对操作系统的调试本文推荐使用GDB(配合qemu)来进行调试和分析。Ubuntu下安装qemu:•
转载
2024-04-29 17:02:25
340阅读
目录 1 引言2 qemu简介3 工具安装4 环境准备4.1 cross-toochain安装4.2 kernel编译4.3 u-boot编译4.4 rootfs构建5 仿真运行5.1 u-boot加载kernel5.2 kernel加载rootfs参考1 引言 本章节中使用qemu的原因是:我们构建的rootfs
转载
2024-02-23 22:58:25
750阅读
1、宿主机前期配置宿主机BIOS设置,开启CPU虚拟化。处理器要在硬件上支持VT技术,还要在BIOS中将其功能打开,KVM才能使用。一般在BIOS中,VT的标识通常为“Intel(R) Virtualization Technology”或“Intel VT”等类似的文字说明。在虚拟机上安装宿主机Linux操作系统,本实验以Ubuntu16.04为例,宿主机操作系统的具体安装步骤见实验一。判断宿主
转载
2024-09-20 20:30:31
147阅读
在仿真led之前,先来了解一下QEMU源码结构及GPIO仿真原理。QEMU源码目录我们只罗列出涉及的少许文件,由此可以看出,我们要仿真的设备文件都放在hw目录下,一般来说一个.c 文件会有一个.h 文件,它们的目录类似。比如 hw/gpio/imx_gpio.c 对应的头文件为 include/hw/gpio/imx_gpio.h。 QEMU设备仿真原理一个板子上有很多硬件:IMX
转载
2024-03-25 07:14:39
742阅读
QEMU仿真器-模拟器介绍作者将狼才鲸创建日期2022-05-28所属的Gitee源码和工程地址:才鲸嵌入式 / 开源安防摄像机(嵌入式软件)一、QEMU模拟器(仿真器)介绍如果你也像我一样,虽然学过电子和硬件,也做过boot、系统移植、驱动和应用,但是并不喜欢随身带个板子;验证代码功能时为了节省调试时间,喜欢先用gcc写个纯逻辑的代码工程在PC上先测试一遍,调通逻辑后才上交叉编译工具或者在Kei
转载
2024-05-21 14:22:08
175阅读
第 7 章 Hello RVOS系统引导过程本项目通过QEMU进行模拟,QEMU-virt里面对各个部件的物理地址进行了映射。规定了各个部分的物理内存起始地址以及空间大小。系统上电后,第一步引导器从ROM里面读取指令并执行,然后跳转到内核代码进行执行。即跳转到Kernel出进行执行。正因如此,内核代码的起始地址便是0x80000000QEMU virt 有8个hart,但本项目只让第一个hart正
转载
2024-07-17 21:30:18
415阅读
对于Linux内核的学习,多数都是从调试运行内核模块开始的,这一期我们来总结一下用模拟开发板调试运行内核模块的一般方法。
首先写一个内核模块的helloworld源文件,包括hello.c 和相应的Makefile:
hello.c
/
转载
2024-10-17 08:10:19
79阅读
基于qemu-riscv从0开始构建嵌入式linux系统ch23. linux FB应用——Qt库移植Qt应该是做嵌入式开发和做linux应用开发的朋友都很熟悉的东西,Qt是一套C++的开发库,主要被应用与GUI开发中,既然我们之前已经成功启用了qemu虚拟的显示设备驱动,那么肯定要尝试移植Qt过来看看效果了。关于linux图形协议栈其实本节秒送基于linux FB是不严谨的,目前的Qt均已使用/
转载
2024-10-10 10:22:01
137阅读
目的:结合现在比较流行的技术,通过一个demo 展示一个全栈式设计的各种技能。一个全栈式的工程师,应该能设计通过verilog/VHDL做logical设计。能写内核驱动,能架站。要熟悉verilog/VHDL, C/C++, shell, python, JS, HTML, CSS等语言。发现自己很多细节还需要了解。首先理解2个概念qemu是什么简单的说,qemu 是一个开源软件,可以模拟整个计
转载
2024-04-29 13:24:47
968阅读
实现触摸板的功能,需要借助tslib工具,大致过程为: 1、利用mipsel编译tslib工具。 2、然后在QT4的编译中添加tslib的相关配置。 3、将生成的tslib和QT4的库文件移植到龙芯1B核心板中,并修改核心板的环境变量 4、对触摸板进行矫正。Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的
转载
2024-06-17 19:22:14
150阅读
2015年07月04日 15:26:17
阅读数:41713 为什么会有这篇文章早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正处于整个Linux开发中间层,没有上层的C/C++业务和数据库的开发经验,也没有底层的内核和驱动开发经验,到底路该如何走……基于对Linux系统开发的理解和内核的兴趣,认为选择Linux内核开发更适合自己。于是到淘宝上买了块三星s3c2440(ar
转载
2024-08-30 09:47:23
250阅读
嵌入式软件开发环境1 简介嵌入式软件定义嵌入式系统构成2 环境搭建2.1 Qt2.2 CLion2.3 Source Insight + vs code2.4 Vim3 1 简介嵌入式软件定义嵌入式软件与嵌入式系统是密不可分的,嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式软件就是基于嵌入式系统设计的
Telnet协议是登陆远程网 络主机最简单的方法之一,只是安全性非常低。对target board来说,必须执行telnet监控程序,这样才可以远程登陆到target board。同时,如果想从开发板通过telnet远程登陆其他host,就需要具备telent client。 在嵌入式Linux系统上的telnet的工具有: &nb
转载
2024-08-14 21:34:56
34阅读
一、virtio spec 是什么?在云计算如火如荼的今天,我们应该经常可以在云计算平台上看 "virtio" 这个词,它出现在云计算机的各种设备上:它是怎样的一种存在,在虚拟化的技术领域扮演着一种怎样的角色呢?virtio 是一种 I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用 I/O 设备的抽象。一般来说,我们所说的 virti
qemu安装安装有很多方式,对于ubuntu/debian用户,直接apt安装即可官网:https://www.qemu.org/download/sudo apt-get install zlib1g-dev
sudo apt-get install libglib2.0-0
sudo apt-get install libglib2.0-dev
sudo apt-get install lib
转载
2024-06-27 11:38:40
63阅读
前面已经安装并配置了编译链和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阅读
3. QEMU对X86中断控制器的模拟我们从pc_init1中来分析QEMU虚拟中断控制器的过程。QEMU不仅可以在用户层模拟中断控制器,也可以在kernel中通过kvm来虚拟中断控制器,为方便起见,我们只分析在kvm中虚拟化pic和apic芯片的流程。中断路由表的创建hw/i386/pc_piix.c
struct GSIState
{
qemu_irq i8259_irq[16];
qe
转载
2024-08-19 16:07:59
264阅读
Understanding QEMU deviceshttps://www.qemu.org/2018/02/09/understanding-qemu-devices/July, 2017Here are some notes that may help newcomers understand what is actually happening with QEMU devices:With
转载
2024-08-30 11:25:05
138阅读
1. 准备1.1 认识压缩包们QEMU中文名:虚拟操作系统模拟器 用途:模拟操作系统百度百科中说道:QEMU是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。说白了,QEMU就是是一套可以在操作系统(GNU/Linux)中仿真出另一套操作系统的仿真软件。 因为它可以在系统中仿真出一颗虚拟的CPU,然后将要仿真的操
转载
2024-04-22 13:51:56
291阅读
Qemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。正因为 Qemu 是纯软件实现的,所有的指令都要经 Qemu 过一手,性能非常低,所以,在生产环境中,大多数的做法都是配合 KVM 来完成虚拟化工作,因为 KVM 是硬
转载
2024-06-12 21:00:04
207阅读