RCore学习记录001

devtools/2025/3/19 19:15:19/

配置环境

我选择的操作系统环境是Ubuntu24.04的虚拟机

安装qemu7.0.0

  1. 安装依赖库

    sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build build-essential git-email libaio-dev libbluetooth-dev libcapstone-dev libbrlapi-dev libbz2-dev libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev libibverbs-dev libjpeg8-dev libncurses5-dev libnuma-dev librbd-dev librdmacm-dev libsasl2-dev libsdl2-dev libseccomp-dev libsnappy-dev libssh-dev libvde-dev libvdeplug-dev libvte-2.91-dev libxen-dev liblzo2-dev valgrind xfslibs-dev libnfs-dev libiscsi-dev
  2. 下载qemu的源码https://download.qemu.org/qemu-7.0.0.tar.xz

  3. 然后执行安装命令

    tar xvJf qemu-7.0.0.tar.xz
    cd qemu-7.0.0                       
    mkdir build
    cd build
    ../configure --prefix=/opt/qemu     # 设定安装目录为/opt/qemu
    make
    sudo make install
  4. 修改环境变量,在/etc/profile文件中最后加上

    export PATH=$PATH:/opt/qemu/bin
  5. 重启虚拟机打开终端测试安装结果

    qemu-system-riscv64 --version

    执行命令后看到版本号为安装成功

安装riscv交叉编译工具链

  1. 安装环境依赖库

    sudo apt-get install autoconf automake autotools-dev curl python3 python3-pip python3-tomli libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev libslirp-dev
  2. 下载工具链源码并执行编译安装

    git clone https://github.com/riscv/riscv-gnu-toolchain
    cd riscv-gnu-toolchain
    sed -i '/shallow = true/d' .gitmodules
    sed -i 's/--depth 1//g' Makefile.in
    git submodule update --init --recursive
    ​
    mkdir build
    cd build
    ../configure --prefix=/opt/riscv --enable-multilib
    sudo make     # 这里使用sudo是因为在make的过程中会直接进行创建文件夹等操作,需要权限
  3. 修改环境变量,在/etc/profile文件中最后加上

    export PATH=$PATH:/opt/riscv/bin
  4. 重启虚拟机打开终端测试安装结果

    riscv64-unknown-elf-gcc --version

    执行命令看到版本号为安装成功

安装RUST开发环境

  1. 执行安装命令,默认安装即可

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. 执行环境配置命令,安装后会让执行一个命令完成rust的环境配置

    source $HOME/.cargo/env
  3. 测试安装结果

    rustc --version
    cargo --version

    看到版本号为安装成功


http://www.ppmy.cn/devtools/168417.html

相关文章

【c++】c++语言中““符号的用途介绍

c语言中,“&”符号有4种用途:逻辑与运算符、按位与运算符、取地址运算符、引用标识符。前三种作用在c语言和c语言中是共有的,而第4种作用是c中特有的。下边对这4种用途做个介绍。 一、几个相关的概念 1、运算符 c运算符是指用于执行程序…

Git:速查手册

Git:速查手册 1.基础知识四个区域文件状态基本概念特殊文件GitFlow 2.CMD初始化设置创建仓库添加与提交撤销与恢复状态与差异远程仓库操作分支Stash: 1.基础知识 四个区域 工作区(Working Directory):你在电脑里能实际看到的目录。…

ubuntu 没有网卡的解决方案

(1) 输入sudo service network-manager stop (2) sudo rm /var/lib/NetworkManager/NetworkManager.state (3) sudo service network-manager start (4) sudo vim /etc/NetWorkManager/NetworkManager.conf,将其中的managedfalse改为managedtrue 或者使用gedit&…

一窥DeepSeek开源EPLB项目:揭开技术背后的面纱

摘要 在DeepSeek开源DualPipe项目的同一天,EPLB项目也正式对外公开。EPLB(Enhanced Pipeline Balancing)并非一蹴而就的奇迹,而是经过长时间的研发与优化。该项目旨在通过改进管道平衡机制,提升系统的稳定性和效率。本…

【蓝桥杯】省赛:神奇闹钟

思路 python做这题很简单,灵活用datetime库即可 code import os import sys# 请在此输入您的代码 import datetimestart datetime.datetime(1970,1,1,0,0,0) for _ in range(int(input())):ls input().split()end datetime.datetime.strptime(ls[0]ls[1],&quo…

java 使用命令创建jar的常用参数整理

在Java中,创建JAR文件的命令是jar。以下是常用参数的表格展示: 参数信息含义使用场景使用示例c创建新的JAR文件用于创建一个新的JAR文件当需要打包类文件和资源文件时jar cf myapp.jar MyClass.classt列出JAR文件内容显示JAR文件中的内容列表查看JAR文件…

ABAP PDF预览

画个屏幕 PDF JPG TXT都可以参考预览,把二进制流传递给标准函数就行 *&---------------------------------------------------------------------* *& Report YDEMO2 *&---------------------------------------------------------------------* *&am…

深入解析 SQL 事务:确保数据一致性的关键

SQL 事务 什么是 SQL 事务?事务的 ACID 特性原子性(Atomicity):示例: 一致性(Consistency):示例: 隔离性(Isolation):持久性(Durability):示例&am…