Advertisement

将 FreeRTOS 移植到 RISC-V S 模式和 U 模式以实现运行模式隔离,并在 M 模 secure monitor 上运行

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:ZIP


简介:
本项目致力于将FreeRTOS操作系统成功移植至RISC-V架构,涵盖S模式与U模式的运行环境,通过M模式secure monitor确保不同操作模式间的严格隔离。 在具有 secure monitor(M 模式)的 RISC-V 软件平台上运行 FreeRTOS 可以实现多个 RTOS 在硬件上的并行执行,但目前市面上还没有相应的支持。 附件展示了将原本运行于 M 模式和 U 模式的 FreeRTOS 移植到了 S 模式和 U 模式,以此来实现 RTOS 的虚拟化及隔离运行。 移植工作主要包括: 1. 修改关键系统寄存器设置,mstatus 需要改为 sstatus,并调整到相应的格式 2. 重写中断处理程序,将中断向量寄存器从 mtvt 改为 stvt 3. 调整特权调用机制,U 模式下的 ecall 应陷入 S 模式执行,S 模式下 eccall 则应陷入 M 模式 涉及的文件主要包括: 1. 移植代码文件,包含上下文切换逻辑 2. 启动配置文件,包括系统启动的相关设置和初始化操作 3. 链接脚本,定义了程序各部分在内存中的布局及链接规则

全部评论 (0)

还没有任何评论哟~
客服
客服
  • FreeRTOS RISC-V S U M secure monitor
    优质
    本项目致力于将FreeRTOS操作系统成功移植至RISC-V架构,涵盖S模式与U模式的运行环境,通过M模式secure monitor确保不同操作模式间的严格隔离。 在具有 secure monitor(M 模式)的 RISC-V 软件平台上运行 FreeRTOS 可以实现多个 RTOS 在硬件上的并行执行,但目前市面上还没有相应的支持。 附件展示了将原本运行于 M 模式和 U 模式的 FreeRTOS 移植到了 S 模式和 U 模式,以此来实现 RTOS 的虚拟化及隔离运行。 移植工作主要包括: 1. 修改关键系统寄存器设置,mstatus 需要改为 sstatus,并调整到相应的格式 2. 重写中断处理程序,将中断向量寄存器从 mtvt 改为 stvt 3. 调整特权调用机制,U 模式下的 ecall 应陷入 S 模式执行,S 模式下 eccall 则应陷入 M 模式 涉及的文件主要包括: 1. 移植代码文件,包含上下文切换逻辑 2. 启动配置文件,包括系统启动的相关设置和初始化操作 3. 链接脚本,定义了程序各部分在内存中的布局及链接规则
  • 使全屏游戏窗口
    优质
    本教程介绍如何将全屏运行的游戏调整为窗口模式,方便多任务处理和减少屏幕闪烁等问题,适用于多种操作系统。 可以将全屏的游戏调整为窗口化运行。
  • 【毕业设计】Yolov9至NCNN框架树莓派4或5的嵌入代码.zip
    优质
    本项目旨在将先进的YOLOv9目标检测模型移植到轻量级NCNN框架中,并实现在计算资源受限的树莓派4或5设备上的高效运行,为嵌入式系统提供强大的实时图像处理能力。 【毕业设计】部署YOLOv9模型到树莓派4或5嵌入式系统的源码项目是计算机科学与软件工程领域的一个典型实践课题。该项目的核心在于将深度学习的YOLOv9模型移植到资源有限的嵌入式设备,如树莓派4或5上,以实现实时的目标检测功能。这一过程涉及多个关键知识点: 1. **YOLOv9模型**:YOLO(You Only Look Once)是一种实时目标检测系统,在不断发展过程中已经迭代到了第9版。该版本在保持快速检测速度的同时提升了精度,尤其是在小物体的识别上有了显著改进。其结构包括卷积层、池化层和全连接层等。 2. **NCNN框架**:这是一个高性能且轻量级的神经网络推理库,特别适用于ARM架构设备,如树莓派。它支持模型量化与优化功能,以适应低功耗及内存限制环境。在本项目中,YOLOv9被转化为适合于NCNN格式的版本,在树莓派上运行。 3. **树莓派4/5**:这是一款基于Linux操作系统的小型计算机,广泛应用于教育、DIY项目和嵌入式开发领域。尽管两者硬件配置有所不同,但都具备足够的计算能力以支持深度学习模型的运行。在树莓派上部署模型时需要考虑其有限的内存、CPU性能及GPU支持等资源限制。 4. **嵌入式系统编程**:为了实现在树莓派上的YOLOv9模型部署,必须掌握Linux系统的管理与设备驱动程序开发技能,并熟悉C/C++语言和OpenCV库的应用。后者是一个强大的计算机视觉工具包,提供了图像处理及目标检测等功能,可以配合YOLOv9实现图像预处理和后处理。 5. **源码结构分析**:该项目的代码目录通常包含模型权重文件、配置信息、用于转换至NCNN格式的脚本以及在树莓派上运行所需的启动程序等。通过深入研究这些内容,可以帮助理解如何加载与执行模型,并了解其部署过程中的细节问题。 6. **模型优化**:考虑到树莓派硬件资源有限性,源码中可能会采用量化、剪枝等方式来减小YOLOv9的大小并提高运行效率。这通常涉及调整网络结构、转换权重数据以及实现内存管理策略等措施。 7. **实时目标检测**:项目最终目的是实现实时的目标识别功能,因此需要关注图像帧率和模型推理时间等因素以确保流畅性体验。这可能要求对输入尺寸、批量大小及线程调度等方面进行调整优化。 8. **调试与性能评估**:在树莓派上运行模型后,还需要对其性能进行全面测试,包括检测准确性和每秒处理的图片数量(FPS)等指标,并根据结果进一步改进和提升系统效能。通过这样的实践过程,学生不仅能掌握深度学习模型部署技术,还能深入了解嵌入式系统的开发与优化技巧。
  • RARS: RISC-V汇编程序与拟器
    优质
    RARS(RISC-V Assembler and Runtime Simulator)是一款用于教育目的的免费软件工具,支持RISC-V架构汇编语言编程及代码执行环境搭建。它提供直观界面帮助学习者理解指令集体系结构和操作系统底层工作原理。 RARS是一个为初学者设计的RISC-V汇编程序开发环境。它集成了汇编器、模拟器以及运行时组件,能够将RISC-V汇编语言转换成机器码,并执行相应的指令。 **特性:** - 支持RISC-V IMFDN基础(包括riscv32和riscv64)。 - 多种系统调用匹配MARS或SPIKE的行为。 - 提供调试功能,支持断点及ebreak中断。 - 显示从伪指令到机器码的中间步骤,并进行并排比较。 文档资料详细介绍了受支持的功能、语法以及使用方法。这些文件可以在下载内容中通过帮助菜单访问。 **安装:** RARS作为可执行jar包发布。运行它需要至少Java 8环境的支持。 用户可以找到最新的稳定版本,也可以获取包含最新发展的开发分支,并且以前的所有稳定发行版都带有详细的发行说明记录。 对于希望自己构建jar文件或修改源代码的开发者来说,可以通过git clone命令来克隆项目仓库进行本地开发。
  • VF-PQ-OK.zip_VF与PQ控制_ VF网_pq+vf_
    优质
    该文件包含VF(电压频率)和PQ(功率因数)控制技术的应用研究,重点探讨了VF并网技术及其在pq+vf模式下的离网运行特性。 在并网运行时采用PQ策略,在离网运行时采用VF控制,实现两种状态下的有效管理。
  • PyCharm中停止使用pytest切换常规的方法
    优质
    本文介绍了如何在PyCharm开发环境中停用pytest插件,并转而采用传统的程序运行方式。通过详细步骤指导用户完成配置更改,帮助开发者简化测试流程和优化IDE性能。 有时候系统会以pytest的形式运行程序。如果不想使用这种方式运行,则可以点击设置图标(通常是一个白色三角形),然后选择“Edit configurations”。接着在配置列表中找到对应的pytest项,点击右上角的减号按钮将其删除。接下来,在左上角添加新的Python配置:点击加号,选择Python并定位到需要执行文件所在的目录,最后填写名称后保存设置。此时你会发现pytest相关的选项已经消失。你可以通过右键菜单中的“Run”来运行程序。 当PyCharm项目中包含带有test字段或测试函数时,默认情况下会进入测试模式。如果想要退出这种模式,请按照上述步骤重新配置项目的运行环境即可解决这个问题。
  • 基于ATS的列车拟与仿真
    优质
    本研究探讨了应用先进列车仿真系统(ATS)进行列车运行模拟的方法和技术,深入分析了该技术在提高铁路运营效率和安全性能方面的潜力。 在铁路交通领域,自动列车监控(ATS)系统是确保安全高效调度的关键技术之一。本段落将深入探讨ATS模式下列车运行的模拟与仿真,并介绍相关技术细节。 ATS系统由多个关键组件构成: 1. **控制中心的CATS子系统**:作为整个系统的指挥中枢,负责收集和处理各站点及线路的数据信息,进行列车调度决策并向其它子系统发送指令。 2. **沙盘控制子系统**:这是一种直观的模拟工具,在电子沙盘上显示列车运行状态,帮助操作员监控并规划列车路径。 3. **集中站的LATS子系统**:位于各个车站内,接收和执行来自CATS系统的命令,控制信号设备以确保列车安全进出站点。 4. **停车场计算机联锁子系统**:负责管理停车库内的列车移动,并与主线ATS系统紧密配合实现自动化出入库操作。 在进行模拟仿真时需考虑以下方面: 1. **构建模拟环境**:地形图(例如文件`Terrain1.bmp`和`Terrain4.bmp`)是基础,包含线路、车站及信号等关键信息。通过这些图像数据可构造出真实的运行场景。 2. **列车运行模型**:如`TrainRun.aps`所示的配置或状态数据中需考虑速度控制、制动性能以及牵引力等因素以确保按计划和安全规则行驶。 3. **控制系统设计**:可能包含在文件`TrainRun.clw`中的逻辑代码,涉及如何响应ATS指令来启动、停止及调整列车速度等操作。 4. **用户界面与交互**:如`TrainRunView.cpp`, `TextureTou.cpp`, `Texture.cpp`以及`FormCommandView.cpp`这些可能涉及到图形显示、输入处理和反馈功能的文件为用户提供互动平台。 5. **数据处理与网格运算**:涉及线路数据、列车位置信息及实时状态更新的数据处理,确保系统精确运行。例如,通过`MyGrid.cpp`和 `Bianzhu.cpp`进行相关操作。 通过上述模拟仿真可以测试优化ATS系统的性能,并预测解决可能出现的问题,提高铁路运输效率与安全性;同时为员工提供培训平台以熟悉应对策略。
  • RISC-V U-Boot程序架构解析
    优质
    本文详细解析了基于RISC-V架构的U-Boot启动加载器的运行机制和关键组件,旨在帮助读者深入理解其工作原理。 如何调试运行在QEMU上的RISC-V版U-Boot?可以从分析U_BOOT代码的运行框架开始,特别是关注start文件中的注释部分。这些注释提供了关于启动过程的重要信息,有助于理解程序加载、初始化以及执行的具体步骤。通过结合使用QEMU模拟器提供的调试工具和技巧,并参考start文件中详细的指导说明,可以有效地定位并解决在RISC-V架构上运行U-Boot时遇到的问题。
  • Win10下兼容的ESXi驱动封装工具
    优质
    这款工具专为Windows 10环境设计,能够将VMware ESXi所需的驱动程序进行兼容性打包,使其能够在较低版本的Windows中顺利运行。通过简化设置过程,它帮助用户在现代操作系统下轻松管理虚拟化环境中的硬件兼容问题。 ESXi Customizer 提供了一个图形界面来封装并打包适用于特定阵列卡、网卡及光纤卡的驱动程序,而无需使用 PowerCLI 指令运行 Esxi customizer。 在开始时,用户需要选择一个原生 ESXI ISO 镜像。示例中选择了 VMware 官方网站下载的 ESXi 6.0 U1b 版本(尽管 ESXi-Customizer v2.7.2 声称不支持此版本,但在实验环境中仍能使用该工具制作出定制化 ISO)。 接下来是选择要嵌入到 ESXI 中的网卡驱动程序。建议从 VMware 的兼容性列表中查找相关型号和对应的驱动文件。在这个示例里,我们要将 Intel X710 网卡的驱动添加进标准版 ESXi,并已下载并解压了相应的驱动。 在界面下方有一个选项允许用户选择 OEM.tgz 文件、VIB 文件或离线包。需要定位到已经压缩好的网卡驱动路径,然后找到解压缩后的文件夹中的 VIB 文件(注意要将文件类型改为 .vib 才能成功添加)。 ESXi Customizer 支持三种类型的网卡驱动程序:tgz 、 vib 和 zip;但当尝试使用 tgz 类型时会弹出警告提示,表示此模式已不再支持。完成 ISO 镜像和驱动的选择后,在界面底部选择保存路径,并点击“运行”。 在示例中还会出现一个提醒,建议用户采用 ESXi-Customizer-PS 来制作定制化镜像,但可以选择忽略并继续。 随后可以看到新 ISO 制作的过程及结果。最后将生成的定制化 ISO 文件刻录到 U 盘,在服务器启动时选择从该 U 盘引导,并在 Boot Menu 中查看自定义信息。安装过程中与普通 ESXi 安装无异。 完成正常安装后,使用 esxcli software vib list 查看驱动列表,其中 net-i40e 即为已添加的 Intel X710 驱动程序,这表明该网卡驱动已经成功嵌入到定制化后的 ESXI 中。
  • 基于PSCAD的微电网与仿真 (2015年)
    优质
    本文通过PSCAD软件平台对微电网在离网运行模式下的系统架构进行建模,并进行了详细的仿真分析,以验证其稳定性及可靠性。 为了解决传统下垂控制方法在微网线路阻抗影响下的无功功率分配不精确问题,本段落提出了一种基于电压幅值变化率的无功-电压微分(Q-dU/dt)下垂控制策略。该方法通过补偿电压的变化来实现更准确的无功功率分配。研究中,在PSCAD仿真软件中建立了相应的控制系统模型,并对孤网运行模式进行了仿真分析,验证了所提出的方法的有效性。