Update Kelvin debug doc with the sim_kelvin .bin file support Match the support in https://spacebeaker.googlesource.com/shodan/sim/kelvin/+/0dc5a8526bc5445aae704f10e76ab3bc0ada94cd Change-Id: Ia8507e86bb5b6f48ad4041a0a4c64c0d927377c9
diff --git a/KelvinIssDebugging.md b/KelvinIssDebugging.md index 8266441..bfb41c2 100644 --- a/KelvinIssDebugging.md +++ b/KelvinIssDebugging.md
@@ -8,15 +8,17 @@ [MPACT_Sim](https://github.com/google/mpact-sim) and supports all the kelvin instructions. It is used for single-core testing and debugging. -Running the Kelvin SW binary can be done with the following CLIs +Running the Kelvin SW binary (ELF or the rendered `.bin` file) can be done with +the following CLIs ```bash source build/setup.sh m kelvin_sim -sim_kelvin <elf file path> +sim_kelvin <elf/bin file path> ``` -The bash function detects the file type by ELF's *magic_bytes* and launches the `kelvin_sim`. `kelvin_sim` runs the exetuable, and depends on the terminator ops +The bash function detects the file type by ELF's *magic_bytes* and launches the +`kelvin_sim`. `kelvin_sim` runs the executable, and depends on the terminator ops `mpause` or `ebreak`, it prints out different messages before exit the simulator. Illegal instruction also terminates the simulation, with the fault PC printed out. @@ -38,12 +40,14 @@ placeholder model running non-SIMD binaries so we can test the integrated system behaviors +**NOTE: Running vector-op program in renode is not supported yet.** + Running the Kelvin SW binary can be done with the following CLIs ```bash source build/setup.sh m renode -sim_kelvin <location of the kelvin SW .bin file> +sim_kelvin_renode <location of the kelvin SW .bin file> ``` The `.bin` file is the binary blob of the loadable segment parsed by @@ -61,7 +65,7 @@ ```bash source build/setup.sh -sim_kelvin <.bin file> debug +sim_kelvin_renode <.bin file> debug ``` At the second shell session, run GDB as @@ -83,5 +87,5 @@ **Note**: Once GDB is attached to the Renode simuation, you can start stepping the execution without `run` or set up the breakpoint at the entry of the -executable. In fact, the first breakpoint can be captured relieably if it is ___after___ -the entry address. +executable. In fact, the first breakpoint can be captured reliably if it is + ___after___ the entry address.