Packages

package misc

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class Elf extends AnyRef

    Provide a many utilities (based on net.fornwall.jelf) which allows to : - Parse a ELF file - Find the address of a given symbol - Load an ELF program into a simulation DRAM

Value Members

  1. object ElfMapper extends App

    Dev tool which takes as input two file : - The ELF file of the app being executed, currently linux (/media/data2/proj/vexii/litex/buildroot/buildroot/build/rv32ima/build/linux-custom/vmlinux) - A text file formated with lines which have hexadecimal values.

    Dev tool which takes as input two file : - The ELF file of the app being executed, currently linux (/media/data2/proj/vexii/litex/buildroot/buildroot/build/rv32ima/build/linux-custom/vmlinux) - A text file formated with lines which have hexadecimal values. Those values being the PC being executed by the CPU, sampled at random intervals.

    So, this tool will generate a histogram of which function from the ELF file makes the CPU busy the most time.

    The input text file being generated by running the Litex's VexiiRiscv SoC, and extracting via jtag the CPU PC location via the src/main/tcl/openocd/trace.tcl script, which uses a custom JTAG tap instruction (0x17) to sample the CPU PC without any disturbance to the CPU.

    To enable that hardware probe, you need to have the --with-debug-probe-pc0 added to the litex's --vexii-args parameters

  2. object ElfTest extends App