libmicroemu 0.2.0
ARM Microcontroller Emulator Library
Loading...
Searching...
No Matches
libmicroemu::internal::Emulator< TCpuStates > Class Template Reference

Public Types

using SpecRegOps = SpecRegOps<TCpuStates, StaticLogger>
 
using RegOps = RegOps<TCpuStates, SpecRegOps, StaticLogger>
 
using CpuAccessor = CpuAccessor<TCpuStates, RegOps, SpecRegOps>
 
using SysCtrlBlock = SysCtrlBlock<CpuAccessor, StaticLogger>
 
using SysTick = SysTick<CpuAccessor, ExceptionTrigger, StaticLogger>
 
using EndConv = LittleToLittleEndianConverter
 
using Flash = MemRo<0U, CpuAccessor, EndConv>
 
using Ram0 = MemRw<1U, CpuAccessor, EndConv>
 
using Ram1 = MemRwOptional<2U, CpuAccessor, EndConv>
 
using Peripherals
 
using Bus
 
using Semihosting = Semihosting<CpuAccessor, Bus, StaticLogger>
 
using PcOps = PcOps<CpuAccessor, Bus, ExceptionReturn, StaticLogger>
 
using ExcOps = ExceptionsOps<CpuAccessor, PcOps, StaticLogger>
 
using ItOps = IfThenOps<CpuAccessor>
 
using CpuOps = CpuOps<ItOps, PcOps, ExcOps, ExceptionTrigger>
 
using Fetcher = Fetcher<CpuAccessor, Bus>
 
using Decoder = Decoder<CpuAccessor, ItOps>
 
using Executor = Executor<CpuAccessor, Bus, CpuOps, StaticLogger>
 
using ResetLogic = ResetLogic<CpuAccessor, Bus, CpuOps, StaticLogger>
 
using Processor = Processor<CpuAccessor, Bus, CpuOps, Fetcher, Decoder, Executor, StaticLogger>
 

Public Member Functions

 Emulator (TCpuStates &cpu_states)
 
void SetFlashSegment (const u8 *seg_ptr, me_size_t seg_size, me_adr_t seg_vadr)
 
void SetRam1Segment (u8 *seg_ptr, me_size_t seg_size, me_adr_t seg_vadr)
 
void SetRam2Segment (u8 *seg_ptr, me_size_t seg_size, me_adr_t seg_vadr)
 
Bus BuildBus ()
 
Result< void > Reset ()
 
void SetEntryPoint (u32 entry_point)
 
ExecResult Exec (i64 instr_limit, FPreExecStepCallback cb_pre_exec, FPostExecStepCallback cb_post_exec)
 

Member Typedef Documentation

◆ Bus

template<typename TCpuStates>
using libmicroemu::internal::Emulator< TCpuStates >::Bus
Initial value:
Bus<
CpuAccessor, ExceptionTrigger, StaticLogger,
Flash,
Ram0,
Ram1,
Peripherals
>
Static logger class.
Definition logger.h:25

◆ Peripherals

template<typename TCpuStates>
using libmicroemu::internal::Emulator< TCpuStates >::Peripherals
Initial value:
MemMapRw<3U, 0xE0000000U, 0xFFFFU,
CpuAccessor, ExceptionTrigger, StaticLogger,
SysCtrlBlock,
SysTick
>
Definition mem_map_rw.h:133

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