Files
fail/simulators/ovp/test1/platform/beforeInstruction.hpp

46 lines
1.5 KiB
C++

#ifndef BEFORE_INSTRUCTION_HPP
#define BEFORE_INSTRUCTION_HPP
#include "icm/icmCpuManager.hpp"
using namespace icmCpuManager;
/**
* Prints all the registers for an ARM Cortex M3 processor.
* @param processor The processor (must be an ARM Cortex M3)
*/
void printArmCortexM3Registers(icmProcessorObject processor);
/**
* Reads a register and stores its content in an Uns32 variable.
* @param processor The processor for which to read the register
* @param regName The name of the register as a string
* @param value The address of where to store the register's content
*/
Bool readRegister(icmProcessorObject processor, char *regName, Uns32 &value);
/**
* Writes the value given as an Uns32 variable to a register.
* @param processor The processor for which to write the variable
* @param regName The name of the register as a string
* @param newValue The address of the new value to be written to the register
*/
Bool writeRegister(icmProcessorObject processor, char *regName, Uns32 &newValue);
/**
* Adds a breakpoint for simulateUntilBreakpoint
* @param breakAddr The address to be added as a breakpoint
*/
void addBreakpoint(Addr breakAddr);
/**
* Simulates until breakpoint,
* or the entire application file at once if no breakpoint was added.
* Returns the address of the next instruction,
* or zero if simulation did not stop at a breakpoint.
* @param processor The processor to run the simulation on
*/
Addr simulateUntilBP(icmProcessorObject processor);
#endif