当前位置: 首页 > news >正文

PCIe驱动开发(1)— 开发环境搭建

PCIe驱动开发(1)— 开发环境搭建

一、前言

二、Ubuntu安装

参考: VMware下Ubuntu18.04虚拟机的安装

三、QEMU安装

参考文章:QEMU搭建X86_64 + Ubuntu虚拟系统环境

四、安装Ubuntu

下载地址:https://old-releases.ubuntu.com/releases/20.04.5/ubuntu-20.04.5-live-server-amd64.iso
创建一个空白虚拟硬盘用来安装系统
下载好后使用如下命令解压:

qemu-img create -f qcow2 ubuntu-20.04.5-live-server.qcow2 10G

然后使用以下命令开始安装ubuntu20

sudo qemu-system-x86_64 -m 2048 -smp 4 --enable-kvm ubuntu-20.04.5-live-server.qcow2 -cdrom ubuntu-20.04.5-live-server-amd64.iso

-m 2048 —— 给客户机分配2G内存(也可以输入“2G”);
-smp 4 —— 指定客户机为对称多处理器结构并分配4个CPU;
–enable-kvm —— 允许kvm(速度快很多)
-cdrom * —— 分配客户机的光驱
使用kvm 需要root权限,所以需要加sudo

安装过程可参考: Ubuntu 无图形界面安装

五、启动QEMU

使用如下命令启动qemu

sudo qemu-system-x86_64 -m 2048 -smp 4 --enable-kvm ubuntu-20.04.5-live-server.qcow2 -netdev user,id=network0,hostfwd=tcp::2222-:22 -device virtio-net-pci,netdev=network0,id=net0,mac=52:54:00:12:34:56 -device edu

-netdev user,id=network0,hostfwd=tcp::2222-:22 定义了一个用户模式的网络设备,并设置了一个端口转发,将主机的 2222 端口转发到虚拟机的 SSH 端口 22
-device edu 添加一个PCIe设备到客户机中,这是qemu提供的一个PCIe示范设备,

输入ubuntu安装时设置的用户名和密码即可登录:
在这里插入图片描述
上面已经设置过SSH端口的转发,我们可以提供SSH连接:

ssh -p 2222 william@localhost

在这里插入图片描述
然后可以输入lspci -tv命令查看所有的PCI设备,其中Device 1234:11e8即是我们添加的edu设备
在这里插入图片描述
该设备的详细说明可以查看qemu安装包的docs/specs/edu.txt文件

也可以通过lspci -s 00:04.0 -vvv命令查看相关信息
在这里插入图片描述

六、退出QEMU

我们可以输入 CTRL + a 然后按 x 键退出QEMU界面

相关文章:

PCIe驱动开发(1)— 开发环境搭建

PCIe驱动开发(1)— 开发环境搭建 一、前言 二、Ubuntu安装 参考: VMware下Ubuntu18.04虚拟机的安装 三、QEMU安装 参考文章:QEMU搭建X86_64 Ubuntu虚拟系统环境 四、安装Ubuntu 下载地址:https://old-releases.ubuntu.com…...

YOLOv10改进 | Conv篇 | CVPR2024最新DynamicConv替换下采样(解决低FLOPs陷阱)

一、本文介绍 本文给大家带来的改进机制是CVPR2024的最新改进机制DynamicConv其是CVPR2024的最新改进机制,这个论文中介绍了一个名为ParameterNet的新型设计原则,它旨在在大规模视觉预训练模型中增加参数数量,同时尽量不增加浮点运算&#x…...

变革设计领域:Transformer模型在智能辅助设计中的革命性应用

变革设计领域:Transformer模型在智能辅助设计中的革命性应用 在人工智能技术的推动下,智能辅助设计(Intelligent Assisted Design, IAD)正逐渐成为现实。Transformer模型,以其卓越的处理序列数据的能力,为…...

Spring——配置说明

1. 别名 别名&#xff1a;如果添加了别名&#xff0c;也可以使用别名获取这个对象 <alias name"user" alias"user2"/> 2. Bean的配置 id&#xff1a;bean 的唯一标识符&#xff0c;也就是相当于我们学的对象名class&#xff1a;bean 对象所对应的…...

禁用华为小米?微软中国免费送iPhone15

微软中国将禁用华为和小米手机&#xff0c;要求员工必须使用iPhone。如果还没有iPhone&#xff0c;公司直接免费送你全新的iPhone 15&#xff01; 、 这几天在微软热度最高的话题就是这个免费发iPhone&#xff0c;很多员工&#xff0c;收到公司的通知。因为&#xff0c;登录公司…...

nginx初理解

没有ngix时&#xff0c;有两台服务器&#xff0c;供访问 1. 现在有两台服务器上同样的路径下都放了一个&#xff0c; 都能通过ip加端口访问到页面 后端项目 &#xff08;查看tomcat中的配置中的 server.xml&#xff0c;能找到项目路径&#xff09; tomacat 也都有 两个…...

FreeCAD源码分析:属性系统

按照面向对象设计(Object-Oriented Design, OOD)的信条&#xff0c;OOD大体上包括两方面的内涵&#xff1a;一方面&#xff0c;需要将业务数据抽象成(树状/层状)数据对象&#xff0c;这就是所谓的数据对象模型(Data Object Model)&#xff1b;另一方面就是职责的分摊与聚合&…...

C++入门 模仿mysql控制台输出表格

一、 说明 控制台输出表格&#xff0c;自适应宽度 二、 源码 #include <iostream> #include <map> #include <string> #include <vector>using namespace std;void printTable(vector<vector<string>> *pTableData) {int row pTableDa…...

SpringBoot新手快速入门系列教程五:基于JPA的一个Mysql简单读写例子

现在我们来做一个简单的读写Mysql的项目 1&#xff0c;先新建一个项目&#xff0c;我们叫它“HelloJPA”并且添加依赖 2&#xff0c;引入以下依赖&#xff1a; Spring Boot DevTools (可选&#xff0c;但推荐&#xff0c;用于开发时热部署)Lombok&#xff08;可选&#xff0c…...

开源大势所趋

一、开源项目的发展趋势 技术栈多样化与专业化&#xff1a;随着技术的不断进步&#xff0c;开源项目涵盖了从云计算、大数据、人工智能到区块链、物联网等各个领域&#xff0c;技术栈日益丰富和专业化。这种趋势使得开发者能够根据自己的需求选择最适合的技术工具&#xff0c;促…...

智能无人机飞行控制系统:基于STM32的设计与实现(内附资料)

摘要 智能无人机的飞行控制系统是确保无人机安全、高效运行的核心。本文将探讨基于STM32微控制器的智能无人机飞行控制系统的设计与实现&#xff0c;包括系统架构、关键组件选择、控制算法开发以及代码实现。 1. 引言 智能无人机在军事侦察、物流配送、环境监测等多个领域展…...

centos磁盘空间满了-问题解决

报错问题解释&#xff1a; CentOS系统在运行过程中可能会出现磁盘空间不足的错误。这通常发生在以下几种情况&#xff1a; 系统日志文件或临时文件过大导致磁盘空间不足。 安装了大量软件或文件而没有清理无用文件。 有可能是某个进程占用了大量磁盘空间。 问题解决方法&a…...

宝塔:如何开启面板ssl并更新过期ssl

1、登录宝塔面板 > 前往面板设置 > 最上方的安全设置 > 面板SSL > 面板SSL配置 打开后先查看自签证书的时间&#xff0c;如果时间是已经过期的&#xff0c;就前往这个目录&#xff0c;将该目录下所有文件都删掉 重新回到面板SSL配置的位置&#xff0c;打开后会看到…...

大白话讲解AI大模型

大白话讲解大模型 大模型的发展重要大模型发展时间线 大模型的简单原理-训练⼤模型是如何训练并应⽤到场景中的&#xff1f;如果训练私有化模型 模型&#xff1a;model 语料库&#xff1a;用于训练模型的数据 大模型的发展 详细信息来源&#xff1a;DataLearner 2022年11月底…...

pandas+pywin32操作excel办公自动化

import pandas as pd import re import win32com.client as win32 from win32com.client import constants import os import os.path as osp #读取表格 pathos.getcwd() fposp.join(path,fuck_demo.xlsx) dfpd.read_excel(fp,header1,usecols[序号,光缆段落名&#xff08;A端…...

防火墙(ensp USG6000v)---安全策略 + 用户认证综合实验

一. 题目 1&#xff09; 拓扑 2&#xff09;要求 1. DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00 -- 18: 00)可以访问&#xff0c;生产区的设备全天可以访问 2.生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3.办公区设备10.0.2.10不充许…...

Java使用POI导出后数字类型为常规类型,不能计算

今日日常撸码&#xff0c;甲方提出来excel导出后&#xff0c;数字类型那一列是常规类型&#xff0c;并不是数字&#xff0c;无法进行计算&#xff0c;如下图&#xff1a; 这里和导出的字段类型有关&#xff0c;我用的是POI进行excel的导出&#xff0c;需要在实体类上标注出需要…...

项目进度管理(5-1)常见的缓冲区监控方法

缓冲区监控是一种项目管理技术&#xff0c;主要用于关键链项目管理系统&#xff08;Critical Chain Project Management, CCPM&#xff09;中。它的核心理念是识别和管理项目中的不确定性和依赖性&#xff0c;以提高项目完成的可靠性。 缓冲区监控方法主要是针对项目进度计划执…...

构造函数语意学(The Semantics of Constructors)

1、“Default Constructor” 的构造操作 下面4种情况编译器会生成默认构造函数&#xff1a; 成员类对象带有默认构造函数父类带有默认构造函数带有虚表的类带有虚基类的类 1.1、 成员类对象带有默认构造函数 如果一个类没有任何构造函数&#xff0c;但它的一个成员对象带有…...

香橙派5plus上跑云手机方案二 waydroid

前言 上篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)说了怎么跑带GPU加速的redroid方案&#xff0c;这篇说下怎么在香橙派下使用Waydroid。 温馨提示 虽然能运行&#xff0c;但是体验下来只能用软件加速&#xff0c;无法使用GPU加速&#xff0c;所有会很卡。而且…...

600Kg大载重起飞重量多旋翼无人机技术详解

600Kg大载重起飞重量的多旋翼无人机是一种高性能的无人驾驶旋翼飞行器&#xff0c;具有出色的载重能力和稳定的飞行特性。该无人机采用先进的飞行控制系统和高效的动力系统&#xff0c;能够满足各种复杂任务的需求&#xff0c;广泛应用于物资运输、应急救援、森林防火等领域。 …...

LlamaFactory可视化微调大模型 - 参数详解

LlamaFactory 前言 LLaMA Factory 是一个用于微调大型语言模型的强大工具,特别是针对 LLaMA 系列模型。 可以适应不同的模型架构和大小。 支持多种微调技术,如全参数微调、LoRA( Low-Rank Adaptation )、QLoRA( Quantized LoRA )等。 还给我们提供了简单实用的命令行…...

最新 Kubernetes 集群部署 + flannel 网络插件(保姆级教程,最新 K8S 版本)

资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…...

C语言笔记31 •单链表经典算法OJ题-3.反转链表•

反转链表 1.问题 给你单链表的头节点 head&#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 2.代码实现&#xff1a; //3.反转链表 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int …...

网桥与以太网交换机:功能与区别解析

在传统的共享式局域网中&#xff0c;所有站点共享一个公共的传输媒体。随着局域网规模的扩大、网络中站点数目的不断增加&#xff0c;这样的网络通信负载加重&#xff0c;网络效率急剧下降。随着技术的发展、交换技术的成熟和成本的降低&#xff0c;具有更高性能的交换式局域网…...

动态引用的艺术:在Postman中实现自动化的终极指南

&#x1f300; 动态引用的艺术&#xff1a;在Postman中实现自动化的终极指南 在API开发和测试中&#xff0c;Postman是一个强大的工具&#xff0c;它提供的动态引用功能可以帮助我们实现自动化和更高效的测试流程。本文将深入探讨如何在Postman中使用动态引用&#xff0c;通过…...

Qt:15.布局管理器(QVBoxLayout-垂直布局、QHBoxLayout-水平布局、QGridLayout-网格布局、拉伸系数,控制控件显示的大小)

目录 一、QVBoxLayout-垂直布局&#xff1a; 1.1QVBoxLayout介绍&#xff1a; 1.2 属性介绍&#xff1a; 1.3细节理解&#xff1a; 二、QHBoxLayout-水平布局&#xff1a; 三、QGridLayout-网格布局&#xff1a; 3.1QGridLayout介绍&#xff1a; 3.2常用方法&#xff1a…...

图论---无向图中国邮路的实现

开始编程前分析设计思路和程序的整体的框架&#xff0c;以及作为数学问题的性质&#xff1a; 程序流程图&#xff1a; 数学原理&#xff1a; 本质上是找到一条欧拉回路&#xff0c;考虑图中的边权重、顶点的度数以及如何通过添加最少的额外边来构造欧拉回路&#xff0c;涉及到欧…...

Rockchip RK3588 - Rockchip Linux SDK脚本分析

---------------------------------------------------------------------------------------------------------------------------- 开发板 &#xff1a;ArmSoM-Sige7开发板eMMC &#xff1a;64GBLPDDR4 &#xff1a;8GB 显示屏 &#xff1a;15.6英寸HDMI接口显示屏u-boot &a…...

【C++中resize和reserve的区别】

1. resize的用法 改变当前容器内含有元素的数量&#xff08;size()&#xff09;比如&#xff1a; vector<int> vct;int num vct.size();//之前的元素个数为num vct.resize(len);//现在的元素个数为len如果num < len &#xff0c;那么容器vct新增len - num个元素&am…...

交互式网站的发展/优化大师下载

一、本节课教学内容的本质、地位、作用分析分类加法计数原理与分步乘法计数原理是人类在大量的实践经验的基础上归纳出的基本规律&#xff0c;它们不仅是推导排列数、组合数计算公式的依据&#xff0c;而且其基本思想方法也贯穿在解决本章应用问题的始终&#xff0c;在本章中是…...

王野 天启/seo关键词优化案例

http://www.blogjava.net/jerry-zhaoj/archive/2009/05/20/271695.html 这是因为&#xff1a;由于JDK是国际版的&#xff0c;在编译的时候&#xff0c;如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式&#xff0c;则javac.exe首先获得我们操作系统默认采用的编码格…...

深圳服务网站设计哪家公司好/推广平台哪个效果最好

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2022化工自动化控制仪表题库系化工自动化控制仪表试卷新版教材大纲题库&#xff01;2022年化工自动化控制仪表复训题库及在线模拟考试根据化工自动化控制仪表考试大纲。化工自动化控制仪表考试模拟题通过安全生产模拟…...

用织梦系统做网站/百度首页官网

"检查点"是 Windows Server 2012 R2 中对 Windows Server 2012 及以前版本的 Hyper-V"快照"功能的新称呼。之所以改成这个名称&#xff0c;其实和私有云有一定的关系。在私有云组件 System Center 2012 SP1 Virtual Machine Manager 中&#xff0c;它的&qu…...

山东省住房城乡建设厅查询网站/企业管理系统

新建 ctrl n格式化 ctrlshiftf导入包 ctrlshifto 注释 ctrl/,ctrlshift/,ctrlshift\代码上下移动 选中代码alt上/下箭头查看源码 选中类名(F3或者Ctrl鼠标点击)查找具体的类 ctrl shift t查找具体类的具体方法 ctrl o给建议 ctrl1,根据右边生成左边的数据类型,生成方法删除…...

疏通下水道网站怎么做/站长网站推广

面向对象 面向对象概述&#xff1a; 类和对象的概念&#xff1a; 类 &#xff1a; 抽象名词&#xff0c;用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 对象 &#xff1a; 具体的事物&#xff0c;通过类定义的数…...