Embedded Artistry Framework
Embedded Systems C++ Framework
Public Member Functions | Static Public Member Functions | Private Types | List of all members
SimulatorProcessor Class Reference

#include <simulator_processor.hpp>

Inheritance diagram for SimulatorProcessor:
Inheritance graph

Public Member Functions

 SimulatorProcessor ()
 Default constructor. More...
 
 ~SimulatorProcessor ()
 Default destructor. More...
 
void init_ ()
 
void reset_ ()
 
constexpr const std::string_view & name () const noexcept
 Returns the Virtual HW Platform's name. More...
 
constexpr const char * name_cstr () const noexcept
 Returns the platform name as a cstring for C API compatibility. More...
 
void init () noexcept
 Initialize the processor. More...
 
void reset () noexcept
 Reset the chip. More...
 

Static Public Member Functions

static void earlyInitHook_ ()
 
static void earlyInitHook () noexcept
 Perform any special initialization steps. More...
 

Private Types

using ProcessorBase = embvm::VirtualProcessorBase< SimulatorProcessor >
 

Member Typedef Documentation

◆ ProcessorBase

Constructor & Destructor Documentation

◆ SimulatorProcessor()

SimulatorProcessor::SimulatorProcessor ( )
inline

Default constructor.

◆ ~SimulatorProcessor()

SimulatorProcessor::~SimulatorProcessor ( )

Default destructor.

Member Function Documentation

◆ earlyInitHook()

static void embvm::VirtualProcessorBase< SimulatorProcessor >::earlyInitHook ( )
inlinestaticnoexceptinherited

Perform any special initialization steps.

The earlyInitHook_() function must be implemented by the derived class as a static function.

These functions run before the C Run-time setup functions are called, and normal functionality (e.g. OS concepts) are not available.

Early initialization steps represent any super early code that needs to execute. For example, DRAM might need to be initialized before the boot process can relocate memory to its proper location in memory.

These functions are declared static to prevent you from easily using drivers within their confines

◆ earlyInitHook_()

static void SimulatorProcessor::earlyInitHook_ ( )
inlinestatic

◆ init()

void embvm::VirtualProcessorBase< SimulatorProcessor >::init ( )
inlinenoexceptinherited

Initialize the processor.

The initProcessor_() function must be implemented by the derived class.

Perform any steps necessary for initializing the processor & processor peripheral devices for use.

Note that this is only intended to be processor initialization. Platform initialization nis handled by the init() function.

This function will likely invoke the VirtualProcessor::init() function, but the order and actual initialization process is left to the derived class.

◆ init_()

void SimulatorProcessor::init_ ( )

◆ name()

constexpr const std::string_view& embvm::VirtualProcessorBase< SimulatorProcessor >::name ( ) const
inlinenoexceptinherited

Returns the Virtual HW Platform's name.

◆ name_cstr()

constexpr const char* embvm::VirtualProcessorBase< SimulatorProcessor >::name_cstr ( ) const
inlinenoexceptinherited

Returns the platform name as a cstring for C API compatibility.

◆ reset()

void embvm::VirtualProcessorBase< SimulatorProcessor >::reset ( )
inlinenoexceptinherited

Reset the chip.

The reset_() function must be implemnted by the derived class.

A soft reset is intended to reset the program to the beginning without performing a full power cycle.

◆ reset_()

void SimulatorProcessor::reset_ ( )
inline

The documentation for this class was generated from the following files: