30 分钟快速上手:Spike RISC-V 模拟器从源码编译到跑通第一个程序
30 分钟快速上手Spike RISC-V 模拟器从源码编译到跑通第一个程序【免费下载链接】riscv-isa-simSpike, a RISC-V ISA Simulator项目地址: https://gitcode.com/GitHub_Trending/ri/riscv-isa-sim验证自研 RISC-V 核、排查某条指令的行为你都需要一个可信的参考模型。Spike 就是这样一个 RISC-V ISA 模拟器它在软件里直接运行 RISC-V 程序还原真实 CPU 的行为。本文把源码编译、验证、跑通第一个程序这几步走一遍顺带把常用参数和常见坑整理成表照着做就能上手。 30 秒认识 Spike RISC-V 模拟器是什么功能级 RISC-V ISA 模拟器功能模型只模拟指令算出什么结果不建模时序可模拟 1 个或多个 RISC-V 核hart。能干什么覆盖 RV32/RV64 基线到 M/A/F/D/C、向量 V、加密 Zk*、特权级 M/S/U、虚拟化 H 等一大批扩展还能接 OpenOCD gdb 做调试。适合谁RISC-V 核设计者拿它当行为对照、操作系统/内核开发者、指令集学习者。源码按模块划分想深入时好定位riscv/insns/放每条指令的实现spike_main/是主程序入口fesvr/负责系统调用和 I/O。要加自定义指令主要看第一个目录。 安装路线二选一二进制直装或源码编译二进制直装部分发行版或 riscv 工具链包里有预编译的 spike拿到就能用适合只想跑程序的人。源码编译能拿到最新主线特性也方便改代码、加指令耗时几分钟。选择建议只跑现成测试程序二进制就够要验证新扩展或加自定义指令走源码编译——本文就是这条路线。⚙️ 源码编译三步走三条命令搞定先装系统依赖设备树编译器 Boost 库Debian/Ubuntu 一条命令sudo apt install device-tree-compiler libboost-regex-dev libboost-system-dev然后依次执行三步# 1) 拉源码 git clone https://gitcode.com/GitHub_Trending/ri/riscv-isa-sim cd riscv-isa-sim # 2) 配置装到 $HOME/riscv ./configure --prefix$HOME/riscv # 3) 编译并安装 make -j$(nproc) make install装完把 bin 目录加进 PATHexport PATH$PATH:$HOME/riscv/bin。用 yum 的系统把依赖那步换成yum install dtc libboost-devel即可。✅ 验证 RISC-V 模拟器安装成功$ spike --help Spike RISC-V ISA Simulator 1.1.1-dev usage: spike [host options] target program [target options]终端第一行打印出Spike RISC-V ISA Simulator 1.1.1-dev就装好了。--help同时列出全部可用参数等于一份参数速查后面跑错了可以先回来对一遍。 spike 第一次运行跑一个 hello 程序写个最短的hello.c#include stdio.h int main() { printf(Hello, RISC-V!\n); return 0; }编译成 RISC-V ELF再用pk运行。pk是代理内核给标准输入输出这类系统调用提供一个最小运行环境没有它 printf 无处落地riscv64-unknown-elf-gcc -o hello hello.c spike pk hello # 预期输出Hello, RISC-V!默认跑 1 个核想试多核加-p比如spike -p2 pk hello就是双核。 spike 常用参数速查参数作用示例-pn模拟核数hart 数量spike -p2 pk hello-mn目标内存大小MiB默认 2048spike -m1024 pk hello-d进入交互式调试模式spike -d pk hello-l输出逐条指令执行日志spike -l --logrun.txt pk hello--isa串指定 ISA 串默认 rv64imafdc_zicntr_zihpmspike --isarv64imafdc ...--instructionsn执行 n 条指令后自动停spike --instructions1000 ...-g记录 PC 命中直方图找热点代码spike -g pk hello️ 排坑手册Spike RISC-V 模拟器常见问题问题一现象装完后终端敲spike报command not found原因安装前缀的 bin 目录没进 PATH解法export PATH$PATH:$HOME/riscv/bin并写进 shell 启动文件持久化问题二现象configure 阶段报device-tree-compiler not found原因缺 dtc设备树编译器解法Debian/Ubuntu 用sudo apt install device-tree-compilerCentOS 用yum install dtc问题三现象编译阶段报 boost 相关的 undefined reference 或找不到头文件原因Boostregex/system开发库没装解法sudo apt install libboost-regex-dev libboost-system-dev问题四现象spike pk hello报执行失败或找不到 pk原因riscv-pk代理内核没装或没和 spike 放在同一路径解法装好 riscv-pk把pk可执行文件放进 spike 同目录或 PATH 接下来去哪README.md支持的扩展清单和完整构建说明configure.ac构建系统配置入口ci-tests/hello.cCI 自检用的最小示例【免费下载链接】riscv-isa-simSpike, a RISC-V ISA Simulator项目地址: https://gitcode.com/GitHub_Trending/ri/riscv-isa-sim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

C++游戏开发实战:从零构建2D迷你农场RPG游戏框架

C++游戏开发实战:从零构建2D迷你农场RPG游戏框架

这次我们来看一个用 C 开发“迷你农场 RPG”游戏的项目。对于想从零开始学习游戏开发,特别是想用 C 这种底层语言来构建一个完整游戏循环的开发者来说,这是一个非常棒的实践案例。它不像 Unity 或 Godot 那样有现成的编辑器,而是从窗口创建、…

2026/8/24 3:02:59 阅读更多 →
C++游戏开发实战:从零构建迷你农场RPG,掌握面向对象与游戏循环

C++游戏开发实战:从零构建迷你农场RPG,掌握面向对象与游戏循环

最近在尝试用 C 开发一个轻量级的游戏项目,发现很多教程要么过于简单(比如只有一个控制台贪吃蛇),要么直接跳到复杂的图形引擎,中间缺少一个平滑的过渡。为了填补这个空白,我决定动手实现一个“迷你农场 RP…

2026/8/24 3:02:59 阅读更多 →
零代码构建AI学习智能体:从问答机到专属学习伙伴的实践指南

零代码构建AI学习智能体:从问答机到专属学习伙伴的实践指南

你有没有过这样的经历:想用AI来辅助学习某个新领域,比如学一门编程语言、准备一个专业考试,或者研究一个复杂课题?你打开ChatGPT,输入问题,它给你一段回答。再问一个,再给一段。几个回合下来&am…

2026/8/24 3:02:59 阅读更多 →

最新新闻

AI智能体框架对比:Hermes Agent与OpenClaw的核心差异与应用场景

AI智能体框架对比:Hermes Agent与OpenClaw的核心差异与应用场景

1. 项目概述:从现象到本质的深度拆解最近在AI智能体这个圈子里,一个叫 Hermes Agent 的项目火得有点离谱。短短五天时间,就在 GitHub 上狂揽超过三万颗星,这个增长速度在开源社区里堪称现象级。与此同时,另一个名字——…

2026/8/25 10:47:51 阅读更多 →
OpenClaw与Hermes Agent深度对比:自动化引擎与智能协作平台选型指南

OpenClaw与Hermes Agent深度对比:自动化引擎与智能协作平台选型指南

1. 项目概述:当AI工具开始“站队”最近在AI Agent的圈子里,两个名字被频繁地放在一起讨论,甚至形成了一种“非此即彼”的对立感:OpenClaw和Hermes Agent。表面上看,它们都是用来构建和运行AI智能体的框架或平台&#x…

2026/8/25 10:47:51 阅读更多 →
OpenClaw与Hermes Agent:AI Agent开发中的控制与自治范式选择

OpenClaw与Hermes Agent:AI Agent开发中的控制与自治范式选择

1. 项目概述:当工具开始“思考” 最近在AI Agent的圈子里,OpenClaw和Hermes Agent这两个名字被频繁地放在一起比较。表面上看,它们都是帮你构建智能体(Agent)的框架或工具,但如果你深入去用,会发…

2026/8/25 10:47:51 阅读更多 →
AI编程实战:零代码构建Todo List应用,探索人机协作新范式

AI编程实战:零代码构建Todo List应用,探索人机协作新范式

1. 项目缘起:一次“偷懒”引发的深度探索最近,我身边不少朋友都在讨论AI编程助手,从GitHub Copilot到各种国产工具,大家似乎都在用它来“提效”。说实话,我之前一直是个“原教旨主义”程序员,总觉得代码必须…

2026/8/25 10:47:51 阅读更多 →
AI编程助手三角协作框架:Claude Code与OpenClaw的实战协同策略

AI编程助手三角协作框架:Claude Code与OpenClaw的实战协同策略

1. 从工具到伙伴:AI编程助手的进化与博弈最近在深度使用Claude Code和OpenClaw这两个AI编程工具时,我产生了一个强烈的感受:我们正处在一个从“工具使用”到“伙伴协作”的临界点上。过去,我们输入指令,工具给出结果&a…

2026/8/25 10:47:51 阅读更多 →
从智慧高速到数字化转型:交通行业价值回归与实战路径

从智慧高速到数字化转型:交通行业价值回归与实战路径

1. 项目概述:一场关于“智慧高速”的行业思辨最近在行业交流群里,一个话题引发了激烈的讨论,甚至有点“火药味”。话题的源头,正是“智慧高速”的建设热潮似乎正在转向一个更宽泛、更基础的概念——“数字化转型”。不少一线从业者…

2026/8/25 10:46:51 阅读更多 →

日新闻

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/25 0:00:34 阅读更多 →
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

2026/8/25 0:00:34 阅读更多 →
数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

数学建模竞赛论文写作指南:从模型构建到学术表达的核心技能

1. 项目概述:从“会做”到“会写”的竞赛核心跃迁“全国大学生数学建模竞赛”,这个名字对理工科学生来说,分量极重。每年,无数团队在三天三夜的时间里,为一个开放性问题绞尽脑汁,从建立模型、求解算法到编程…

2026/8/25 0:00:34 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/24 20:22:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →