自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 了解 RISC-V IOMMU

软件。

2024-04-09 09:53:55 1184

原创 【学一点RISC-V】RISC-V IMSIC

这两个数组中的每个位都对应不同的中断标识号,不同来源的 MSI 可通过该标识号在中断文件中进行区分。

2024-03-13 11:32:36 1319

原创 【学一点RISC-V】ACLINT(高级核心本地中断控制器)文档

【此 RISC-V ACLINT 规范定义了一组内存映射设备,这些设备为多 HART RISC-V 平台上的每个 HART 提供处理器间中断 (IPI) 和定时器功能】。在多 HART RISC-V 平台上运行的操作系统、引导加载程序和固件需要这些 HART 级 IPI 和定时器功能。SiFive 核心本地中断器 (CLINT) 器件已在 RISC-V 领域广泛采用,以提供机器级 IPI 和定时器功能。不幸的是,

2024-03-08 14:19:04 1196

原创 实践:qemu 运行 linux riscv with AIA(APLIC&IMSIC)

但我在文中提供的仓库中,未发现 patch 文件(仅找到了对比,如果一个一个复制粘贴则太多了,也可能是我的方式不正确),索性直接下载其源代码。这些补丁也可在 riscv_aia_v14 分支中找到,网址是:https://github.com/avpatel/linux。这里我使用了ubuntu-base的文件系统,如果有需要可以参考我之前的博客,或者使用其他文件系统也可以。按照前文内容,在 Linux-6.8-rc5 的基础上,添加相应的patch即可。,直接下载 riscv_aia_v14分支的代码。

2024-03-07 13:26:52 1035

原创 RISCV 中断控制器 PLIC & APLIC (非MSI部分)

在 RISC-V 系统中,【平台级中断控制器(PLIC)负责处理通过导线而非 MSI 发出信号的外部中断】。当系统中的 RISC-V 硬件没有 IMSIC 时,硬件本身也不支持 MSI,此类硬件的所有外部中断都必须通过 PLIC。但是,【即使在有 IMSIC 且大多数中断都通过 MSI 通信的计算机中,某些设备中断仍通过专用线路发出信号的情况也很常见】。特别是对于不需要在系统中启动总线事务的设备(或设备控制器)来说,支持 MSI 的成本尤其高昂,因此有线中断是一种省钱的替代方案。

2024-03-05 14:58:56 1214

原创 【Jailhouse论文】Look Mum, no VM Exits! (Almost)

多核 CPU 已成为许多现代嵌入式系统的标准组件。它们的虚拟化扩展使得可以隔离服务,并且在实现混合关键性或其他分割系统方面变得越来越流行。我们介绍了Jailhouse,一个基于Linux的、与操作系统无关的分区型虚拟化监控程序,它使用了新颖的架构方法,将 Linux(一个功能强大的通用系统)与严格隔离的特殊用途组件结合起来。我们的设计目标是以简单性取胜于功能,并建立一个最小的代码库,最大限度地减少监控程序的活动。硬件直接分配给客户机,并结合延迟初始化方案,

2024-02-22 23:50:59 582

原创 动态标签分配 - 以 Nanodet-plus 中的代码为例

以下用()包住的内容为张量尺寸大小,对于理解也十分有帮助。

2024-02-06 22:34:43 327

原创 SPEC CPU 2017 Qemu RISCV

部分问题同x86上执行一致, 可以参考我的 quick start 的记录的博客: https://blog.csdn.net/jingyu_1/article/details/135695701。https://blog.csdn.net/zhangkefan116/article/details/128019033 (这篇文档中提到的问题, 基本都遇到了, 参考并可解决了)注意: 以下的记录均为 根用户 的操作, 在存在用户的情况下, 则类似于使用了。类似名字的压缩包,这就是制作tools的源码。

2024-01-26 17:59:06 1026

原创 ubuntu-base(arm64与riscv64) 根文件系统, 并用qemu启动

Qemu 启动 Linux(aarch64 与 riscv64):https://blog.csdn.net/jingyu_1/article/details/135746098?Ubuntu-base 镜像: https://cdimage.ubuntu.com/ubuntu-base/releases/jammy/release/,你也可以选择你需要的版本进行安装。配置,比如遇到我上面所说的情况,或者后续内核缺少某个模块的时候再来修改配置,重新编译,(以及后续提到的安装内核模块)

2024-01-24 15:00:01 1229

原创 Qemu 启动 Linux(aarch64 与 riscv64)

其他老哥的方案(借助gitee):https://blog.csdn.net/limanjihe/article/details/122373942。可以参考我的另一篇博客:https://blog.csdn.net/jingyu_1/article/details/135631512。可以参考我之前的博客:https://blog.csdn.net/jingyu_1/article/details/135625477。

2024-01-22 13:37:13 647

原创 SPEC CPU 2017 quick start

我这里选择在 linux(ubuntu22.04.3) 上安装 SPEC CPU 2017,gcc、g++、gfortran 均使用 sudo apt install xxx 安装(其版本为11.4.0)官方的 SPEC CPU 2017 在 Unix Systems 安装示例:https://www.spec.org/cpu2017/Docs/install-guide-unix.html以下是官方提供的系统需求:我自己的配置:x86-64、Linux、32G内存、512G磁盘这部分我没有操作,官方提供示

2024-01-19 13:37:14 1321

原创 Ubuntu22 启动后只有鼠标没有桌面

本人机器配置:CPU Intel Core i7-11700,显卡 Nidia Quadro P400 ,操作系统为 Ubuntu22.04.3。现象:刚安装的操作系统,在隔天(断电)重新启动时出现只有鼠标没有桌面的情况。有说搜狗输入法的(我刚安装的系统,肯定不是这个情况)可以进入一个虚拟终端,输入用户名/密码,然后。但是仅当次有效,再断电重启,仍会出现此问题。有说驱动相关的(有可能是这个情况)之后,可以单次进入桌面。简而言之就是驱动相关。

2024-01-17 09:54:11 876

原创 构建 aarch64 以及 riscv64 交叉编译工具链(裸机)

工具链官方仓库:https://github.com/riscv-collab/riscv-gnu-toolchain。我要安装的是 riscv64-unknown-elf-xxx 交叉编译工具,对应的是 Newlib 部分。其他工具链也类似,在给出的两个官方链接中提供了所有的交叉工具链,选择合适的工具构建即可。因为我的需求是构建裸机的程序,所以我选择了裸机相关的交叉工具链。表示的是 通用的、无特定的系统供应商 的含义。为了在任意位置可以使用,将其添加到环境变量中。,和我的操作系统和平台架构是一致的。

2024-01-16 18:01:19 991

原创 Qemu 之安装(源码安装)

这部分参考文档 https://wiki.qemu.org/Hosts/Linux。,会编译安装各种平台的Qemu模拟器(aarch64,riscv64等)如果要添加新的目标平台,则直接在qemu的源码目录执行。的64位机器,以及两个平台上的应用程序。表示的是模拟整个物理机,使用。,然后重新配置、编译、安装即可。仅模拟用户应用程序,使用。之后就可以在任意目录下使用。指定了随后的安装路径。,建议自定义一个路径。我这里的配置支持模拟。

2024-01-16 15:04:48 670

原创 LDR伪指令和ADR指令的区别

其中 0xfd8000000000 是在链接器脚本中指定的虚拟地址,改地址是通过 ldr 伪指令从内存中读取出来的,如果使用 adr 指令是不可以的,偏移超过了指令的范围,adr 获取的地址与当前 PC 有关系,此时运行在物理地址空间,所以 adr 得到的是物理地址。要求 label 和 $PC 位置在 正负1MB的范围内(这个数值和上面提到的imm有关)看 Operation 即可看出作用,Xd 赋值为 $PC + imm。

2024-01-13 16:49:32 405

原创 学习体系结构 - AArch64内存管理

本指南介绍了AArch64中的内存转换,这是内存管理的关键。它解释了如何将虚拟地址转换为物理地址转换表格式,以及软件如何管理转 换转译后备缓冲器(TLB)。这些信息对于任何正在开发底层代码的人都很有用,比如启动代码或驱动程序。它与任何正在编写设置或管理内存管理单元(MMU)代码的人特别相关。在本指南的最后,您可以检查您的知识。您将了解如何将虚拟地址转换为物理地址。您将能够命名不同的地址空间,并描述地址空间如何映射到翻译的各个阶段。您还将了解软件何时必须执行TLB维护,以及TLB维护命令的语法。

2023-12-31 18:00:13 1080

原创 学习体系结构 - AArch64 异常模型

在 AArch64 中,只能将 EL0 中的异常到更高的异常级别处理,而不会将异常处理到 EL0,也没有 EL0 向量表。如执行态和安全态一章所述,**PE 也只能在复位或发生异常或从异常返回时改变执行态。**AArch32 和 AArch64 执行状态之间的交互称为进程间交互。

2023-12-31 17:49:17 1147 8

原创 学习体系结构 - Arm 通用中断控制器 v3 和 v4

借助DeepL翻译 + 个人补充一些内容建议提前阅读: arm 的 异常模型。

2023-12-28 09:33:43 1407

原创 学习体系结构 - AArch64 虚拟化

这个寄存器包含了一系列的字段,

2023-12-20 14:15:01 1075

原创 【论文】 虚拟机 和 Linux容器 的 最新性能比较

云计算广泛使用虚拟机(VM),因为它们允许工作负载相互隔离,并在一定程度上控制资源使用。然而,虚拟化所涉及的额外抽象层次会降低工作负载的性能,而这种性能会以更低的性价比转嫁给客户。基于容器的虚拟化的最新进展简化了应用程序的部署,同时继续允许控制分配给不同应用程序的资源。在本文中,我们探讨了传统虚拟机部署的性能,并将其与 Linux 容器的使用进行了对比。我们使用了一套对 CPU、内存、存储和网络资源有压力的工作负载。**我们使用 KVM 作为代表性管理程序,使用 Docker 作为容器管理器。

2023-12-14 13:45:18 998

原创 计算机系统启动过程

处理器的启动过程, 实际上就是一个特定程序的执行过程。这个程序我们称之为。

2023-12-04 15:38:04 907

原创 嵌入式大赛-海思赛道训练+部署记录(mmpose)

本项目采用的是商汤MMPose下的YOLOX-Pose海思开源仓库路径。

2023-08-21 15:10:34 428

原创 Nanodet-train.py代码解读

Nanodet是一个轻量的目标检测网络,具有很多优点,当前很多网络都将它作为超越的对象。下面是本人对于train.py的代码注释,加入了部分个人的理解。

2023-01-14 20:51:49 385 2

原创 Java用BufferedReader快读

java使用scanner在读取大批量数据时效率比较低,借助BufferedReader类来提高读取效率。

2023-01-12 21:51:51 241

原创 微信小程序 获取nickName为 “微信用户” 而且 头像 为null

微信小程序

2022-11-18 00:16:08 1257

原创 【组原课设团队任务】FlyBird+FPGA+RISCV

组原课设团队任务

2022-10-30 21:55:42 625

原创 使用mmdetection做实例分割

本文关键词:mmdetection、实例分割、mask-rcnn、HTC、coco。

2022-08-06 19:53:13 5746 8

原创 算法-并查集模版

并查集是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有连通子图、求最小生成树的。查找时,递归找祖宗,祖宗集合号等于本身时停止。回归时,把查找路径上的所有节点统一为祖宗的集合号。合并时,只需要把一个元素的祖宗集合号改为另一个元素的祖宗集合号。算法和求最近公共祖先(LCA)等。...

2022-07-26 20:35:13 142

原创 mmdetection配置文件-参数含义

mmdetection配置文件的各参数含义

2022-07-18 21:00:54 794

原创 算法-图论

以下内容部分来自陈小玉老师的算法ppt,将图论中常见的算法进行汇总。包括图的存储以及图论的经典算法(最短路径、最小生成树)等。部分代码转自陈小玉老师的《算法训练营》。主要汇总了常用的图的存储和算法,建议初学者直接看B站的相关视频。...

2022-07-15 13:38:52 1103

原创 Verilog HDL复习总结

Verilog期末复习

2022-06-27 15:58:00 2485

原创 Java基础2(期末复习用)

Java基础2主要内容来自华科-辜老师ppt以下仅将个人觉得重要的内容摘取整理出来了,并补充了一点内容用以理解一、对象和类类(class)定义或封装同类对象共有的属性和方法,即将同类型对象共有的属性和行为抽象出来形成类的定义。Java没有struct和union。构造函数无返回类型,名字同类名,用于初始化对象。只在new时被自动执行。必须是实例方法(无static),可为公有、保护、私有和包级权限。如果类未定义任何构造函数,编译器会自动提供一个不带参数的默认构造函数。Java没有析

2022-05-21 16:02:36 419

原创 Java基础1(不含面向对象--期末复习)

Java基础1Java的历史等请自行查阅注:本文不适合没有任何编程基础的同学观看,适用于Java期末考试复习javac(编译java程序)、java(运行java程序)、jdb(调试java程序)API、JDK、IDE、JVM一、基本程序设计1、输入、输出标准输入、输出流System.out//标准输出流类OutputStream对象System.in//标准输入流类InputStream对象Scanner类(java.util.Scanner)Scanner sca

2022-05-21 10:41:02 210

原创 Java内部类和Lambda表达式(入门)

Java内部类和Lambda表达式主要内容来源:华科-辜老师ppt一、内部类内部类也称为嵌套类,是在一个类的内部定义的类。通常一个内部类仅被其外部类使用时,同时也不想暴露出去,才定义为内部类。内部类不能定义在方法中。实例内部类内部不允许定义静态成员。创建实例内部类的对象时需要使用外部类的实例变量.new 实例内部类类名( )。(即只有当有了外部类的实例,才能实例化 实例内部类的对象)静态内部类用static定义,其内部允许定义实例成员和静态成员。静态内部类的方法不能访问外部类的实例成员变量。

2022-05-20 22:29:49 365

原创 Java多线程(配习题以及部分解析)

入门java多线程

2022-05-20 20:25:45 699

原创 Java-泛型(配理解习题以及部分解析)

快速加深理解Java泛型

2022-05-19 17:58:26 1409

原创 x86汇编语言期末复习

x86汇编语言期末复习本人对于易错点的整理,欢迎食用。(临近期末、格式没有调整)一、Intel中央处理器32位的CPU按其主要功能通常可分为6大部件:总线接口部件、执行部件、指令预取部件、指令译码部件、分段部件、分页部件。标志寄存器中CF可以指进位,也可以指借位。标志寄存器的理解:根据每次执行设置新的标志寄存器,会把相应的所有位都赋值,至于取哪一位用,要看程序员使用的指令。x86的三种工作方式:实地址方式(1MB物理存储空间)、保护方式(4GB物理存储空间)、虚拟8086方式二、主存储

2022-05-14 14:27:21 484 1

原创 算法设计与分析期末复习(部分算法伪代码模板)

算法设计与分析期末复习目录一、重点概念(容易忽视的定义)二、一些问题Q & A三、部分伪代码模板一、重点概念1.回溯、分枝限界算法解空间:实例I的满足显式约束条件的所有元组,构成I的解空间,即所有xi合法取值的元组的集合——可行解。状态空间树:解空间的树结构称为状态空间树(state space tree)问题状态:树中的每一个结点代表问题的一个状态,称为问题状态(problem state) 。状态空间:由根结点到其他结点的所有路径确定了这个问题的状态空间(state sp

2022-05-08 11:34:36 3001

原创 算法分析与设计--贪心法

算法设计与分析期末复习主要参考:​ 算法设计与分析(北京航空航天大学MOOC)​ 算法设计与分析(北京大学MOOC)​ 华中科技大学 计算机科学与技术学院 算法设计与分析 课堂教学PPT二、贪心法部分背包、霍夫曼编码、活动选择问题,Prim算法,Cruskal算法,单源最短路径Dijkstra算法等,以及一些近似算法贪心算法一般求解前需要按照某种规则对输入排序这种规则可以是:做乘法、除法等处理输入序列贪心算法是这样一种方法,分步骤实施,它在每一步仅作出当时看起来最佳的选择,即.

2022-05-02 21:42:09 476

原创 算法设计与分析复习--回溯法

算法设计与分析期末复习主要参考:​ 算法设计与分析(北京航空航天大学MOOC)​ 算法设计与分析(北京大学MOOC)​ 华中科技大学 计算机科学与技术学院 算法设计与分析 课堂教学PPT五、回溯法回溯算法的例子:4后问题、0-1背包问题、货郎问题解的形式:向量搜索空间:树,可能是n叉树,子集树、排列树等等,输的节点对应与部分向量,可行解在叶节点搜索方法:深度优先,宽度有限,…,跳跃式遍历搜索树,找到解约束条件、回溯判定可用回溯法求解的问题:问题的解可以用一个n元组(x1,.

2022-05-02 16:16:58 1350

Coppeliasim linux 安装包

Coppeliasim linux 安装包

2022-01-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除