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

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

一、前言

二、Ubuntu安装

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

三、QEMU安装

下载网站: https://download.qemu.org
下载文件:qemu-4.1.0-rc5.tar.xz
使用如下命令解压:

tar xvf qemu-4.1.0-rc5.tar.xz

然后进入解压后的目录

cd qemu-4.1.0-rc5

打开default-configs/aarch64-softmmu.mak加入 CONFIG_EDU=y 选项
在这里插入图片描述
接着执行如下命令进行配置:

./configure --prefix=$PWD --target-list=aarch64-softmmu --enable-debug --enable-sdl --enable-kvm --enable-tools --disable-curl

然后开始编译:

make

运行完后再执行如下命令:

make install

编译完成后我们新建一个自己的安装目录, 例如我们回到上一级,新建qemu-arm64目录

cd ..
mkdir qemu-arm64

然后将刚才编译出来的如下文件复制到新建目录下:

cp -r qemu-4.1.0-rc5/bin qemu-4.1.0-rc5/libexec qemu-4.1.0-rc5/share qemu-arm64

四、安装buildroot

下载网站:https://www.buildroot.org/downloads
下载文件:buildroot-2022.02.2.tar.gz
下载好后使用如下命令解压:

tar xvf buildroot-2022.02.2.tar.gz

进入解压完成后的目录,执行如下命令进行配置

cd buildroot-2022.02.2
make qemu_aarch64_virt_defconfig

然后执行make开始编译:

make

编译完成后的文件在output/images文件夹下,将该文件夹下的文件都复制到刚才新建的qemu-arm64/bin 目录下

cp output/images/* ../qemu-arm64/bin

复制完成后检查是否已经复制成功,如下4个文件是否存在:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv 设置超时时间

经常爬视频数据&#xff0c;然后用opencv做成图片 因此设置超时时间很重要 cap.set(cv2.CAP_PROP_FPS, timeout_ms) for idx, row in data.iterrows(): if idx < 400: continue try: # 打开视频文件 timeout_ms 5000 cap cv2.VideoCapture(row[PLAY_URL]) cap.set(cv2.C…

Linux下使用libiw进行无线信号扫描的实例

打开电脑连接wifi是一件很平常的事情,但这些事情通常都是操作系统下的wifi管理程序替我们完成的,如何在程序中扫描wifi信号其实资料并不多,前面已经有两篇文章介绍了如何使用ioctl()扫描wifi信号,但其实在Linux下有一个简单的库对这些ioctl()的操作进行了封装,这个库就是l…

深入追踪:IPython 中 %tb 命令的异常追踪栈使用指南

深入追踪&#xff1a;IPython 中 %tb 命令的异常追踪栈使用指南 在 IPython 的强大功能中&#xff0c;%tb 命令是一个调试工具&#xff0c;用于在出现异常时查看详细的异常追踪栈信息。这对于开发者来说是一个不可或缺的功能&#xff0c;因为它提供了对错误发生上下文的深入了…

Unity 中,常用的 UnityEngine.Events 中的几个重要的事件处理函数

在 Unity 中&#xff0c;常用的 UnityEngine.Events 中的几个重要的事件处理函数包括&#xff1a; UnityEvent UnityEvent 是 Unity 提供的一种事件系统&#xff0c;可以用来实现脚本与场景中的对象之间的互动。它可以用来定义和响应事件&#xff0c;如按钮点击、物体碰撞等。示…

GPT-5或重塑我们的工作与生活

引言 在人工智能发展的浪潮中&#xff0c;每一次技术的革新都如同潮水般涌来&#xff0c;带来前所未有的机遇与挑战。当新一代大语言模型GPT-5即将登场的消息传来&#xff0c;我们不禁要问&#xff1a;它将如何重塑我们的工作和日常生活&#xff1f;又将开启哪些崭新的应用场景…

故障模式与影响分析(FMEA)的概念

故障模式与影响分析&#xff08;FMEA&#xff09;的概念 故障模式与影响分析&#xff08;Failure Mode and Effects Analysis&#xff0c;FMEA&#xff09;是一种系统性评估方法&#xff0c;用于识别产品设计或过程中可能发生的潜在故障模式&#xff0c;以及这些故障模式对系统…

制作爬取4399游戏名称软件

def 爬取4399(): #发送请求并且拿到源代码 import requests 链接https://www.4399.com/ #网站链接 请求头{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0} #构造请求头用于爬取网站源代码使用 网站源代码…

MySQL远程登录

root是超级管理员&#xff0c;默认情况下&#xff0c;root不能作为远程登录的用户名&#xff0c;远程登录前&#xff0c;需要将登录的数据库在本地登录&#xff0c;修改权限&#xff0c;输入&#xff1a; update user set host & where user root ; 回车键&#xff0c…

clickhouse高可用可拓展部署

clickhouse高可用&可拓展部署 1.部署架构 1.1高可用架构 1.2硬件资源 部署服务 节点名称 节点ip 核数 内存 磁盘 zookeeper zk-01 / 4c 8G 100G zk-02 / 4c 8G 100G zk-03 / 4c 8G 100G clikehouse ck-01 / 32c 128G 2T ck-02 / 32c 128G 2T ck-03 / 32c 128G 2T ck-04 /…

[Qt] 控件的QSizePolicy属性选项

在Qt中&#xff0c;QSizePolicy是一个非常重要的枚举类&#xff0c;它定义了控件&#xff08;widgets&#xff09;在布局管理&#xff08;layout management&#xff09;中的大小调整策略。这些策略决定了当控件的父布局或窗口大小发生变化时&#xff0c;控件应该如何调整自身的…

java wait, notify, notifyAll三个方法

wait(), notify(), 和 notifyAll() 是 Java 中用于线程间通信和同步的方法&#xff0c;它们都是 Object 类中的方法&#xff0c;而非 Thread 类的方法。这些方法通常与 synchronized 关键字一起使用&#xff0c;用于实现线程之间的协作和互斥访问共享资源。 关于生产者-消…

PsQuerySystemDllInfo逆向

typedef struct _SYSTEM_DLL_ENTRY {ULONG64 type;UNICODE_STRING FullName;PVOID ImageBase;PWCHAR BaseName;PWCHAR StaticUnicodeBuffer; }SYSTEM_DLL_ENTRY, * PSYSTEM_DLL_ENTRY; 返回值为上面的结构体指针 验证 type: fullname inagebase: pwchar basename PWCHAR …

C# 工厂模式(Factory Pattern)

工厂模式用于创建对象而不将具体类的代码与客户端代码混合在一起&#xff0c;从而使一个类的实例化延迟到其子类。 示例代码&#xff1a; // 抽象产品 public interface IProduct { void Use(); } // 具体产品A public class ConcreteProductA : IProduct { pub…

Linux常用面试题

系统部分 1、在linux系统中&#xff0c;获取命令帮助的方法有哪些&#xff1f; man &#xff08;查看手册页&#xff09; help&#xff08;查看内部命令&#xff09; --help&#xff08;查看外部命令&#xff09; 2、列举find命令的用法&#xff1f;&#xff08…

QTableWidget表头添加全选框

前言 QTableWidget表头不能直接设置复选框&#xff0c;setCheckState不适用&#xff0c;所以直接使用设置图片的方法最方便快捷&#xff0c;准备两个图片&#xff0c;分别为选中状态和未选中状态。 1.设置复选框列 设置第一列为复选框列&#xff0c;其他列正常显示内容&…

大模型实战:RAG的应用探索

自chatgpt卷过来&#xff0c;我们‘打开’了视野&#xff0c;发现‘什么都想要’成为了可能。但是随着国内开源大模型的开放&#xff0c;越来越多人觉得通用LLM的价值很低&#xff08;可能是商业利益的驱使&#xff09;。大家对技术的追逐有变成了应用变现的需求。好吧&#xf…

日常的网络杂记

网络杂记 vlan 交换机配到一个vlan下面就可以互通&#xff0c;用来做物理上的网段隔离可以 ①access模式只能承载一个vlan的流量。如果两个交换机上只有一个vlan&#xff0c;那么两个交换机之间肯定能通信。 ②即使两个交换机上有2个或2个以上的valn&#xff0c;但你把交换机…

Windows 11文件资源管理器选项卡的4个高级用法,肯定有你喜欢的

作为一个每天使用文件资源管理器来管理我的工作流程的人,选项卡帮助我为处于不同完成阶段的工作创建了不同的文件夹。以下是我使用选项卡提高工作效率的最佳技巧。 打开和关闭选项卡 假设你的计算机上安装了Windows 11的最新更新,请按Ctrl+E打开文件资源管理器。在我发现“…

WordPress的性能优化有哪些方法?

WordPress的性能优化方法主要包括以下几个方面&#xff1a; 1. 使用缓存插件&#xff1a;缓存插件可以降低服务器负载&#xff0c;提高网站加载速度。常用的缓存插件有WP Rocket、WP Fastest Cache和Cache Enabler等。 2. 代码压缩和整合&#xff1a;通过压缩JavaScript、CSS…

可验证算法在招投标领域的专家“盲抽”中的标段识别码加密应用研究

摘要 在招投标过程中&#xff0c;标段&#xff08;包&#xff09;识别码的安全性至关重要。本文提出了一种基于可验证算法的标段识别码加密方法&#xff0c;以确保其在专家“盲抽”过程中的保密性和可信性。通过对不同表的标段识别码进行全量加密&#xff0c;并通过匹配验证其…