spike 是 risc-v 的模擬器,讓 risc-v 的指令可以跑在任意的機器上,而不需要處理器有支援。本文主要在於紀錄如何在spike原有的基礎上,加上新的指令,以及如何測試新的指令。
大致上的 spike 流程為
c source code -> riscv-gcc -> riscv object code -> spike -> pk -> run on cpu
| #include <iostream> | |
| #include <clang-c/Index.h> | |
| #include <clang-c/Platform.h> | |
| void printDiagnostics(CXTranslationUnit translationUnit); | |
| void printTokenInfo(CXTranslationUnit translationUnit,CXToken currentToken); | |
| void printCursorTokens(CXTranslationUnit translationUnit,CXCursor currentCursor); | |
| CXChildVisitResult cursorVisitor(CXCursor cursor, CXCursor parent, CXClientData client_data); |