OpenOCD 源码分析

这篇文章是对 OpenOCD(Open On-Chip Debugger)源码的深度分析。首先,概述了 OpenOCD 源码的结构,解释了程序的执行流程。然后详细分析了 OpenOCD 的初始化过程,解释了指令注册的作用和具体方法。之后,文章分析了 OpenOCD 的执行环节。在最后一部分,详细讲解了程序执行的过程,并以官方的 xilinx-xc7.cfg 文件为例,详细解释了指令的执行过程。
OpenOCD 源码分析

OpenOCD 原理总结

在工作和学习中意识到调试的重要性,在硬件开发中,硬件也需要类似软件的调试手段,在 IC 设计中还会有专门的团队去做 DFT(可测性设计)工作。OpenOCD 就是一种通过软件控制特定接口,实现硬件设备的 debug,本文主要对其工作原理进行总结。
OpenOCD 原理总结
Difftest 分析与拓展
chipsalliance sv-tests 初探
ysyx 单周期 RISC-V CPU 设计

RISC-V Spike 代码分析

文档详细分析了RISC-V Spike代码,包括模拟器执行部分、仿真逻辑、指令解析、spike模块等。其中,模拟器执行部分包括了机器码翻译为指令的命令以及寄存器的定义。仿真逻辑部分详细解析了spike程序的入口函数,以及内存和指令的初始化。指令解析部分讲述了每一条指令的行为以及编码。spike模块部分详细描述了fesvr (RISC-V Frontend Server) 与 pk (proxy Kernel)的工作原理,以及设备树的具体实现和重要参数。
RISC-V Spike 代码分析