simulavr  1.1.0
AvrDevice_attiny85 Class Reference

AVR device class for ATTiny85, see AvrDevice_attinyX5. More...

#include <attiny25_45_85.h>

Inheritance diagram for AvrDevice_attiny85:

Public Member Functions

 AvrDevice_attiny85 ()
 Creates the device for ATTiny85, see AvrDevice_attinyX5. More...
 
- Public Member Functions inherited from AvrDevice_attinyX5
 AvrDevice_attinyX5 (unsigned ram_bytes, unsigned flash_bytes, unsigned ee_bytes)
 
 ~AvrDevice_attinyX5 ()
 
- Public Member Functions inherited from AvrDevice
 AvrDevice (unsigned int ioSpaceSize, unsigned int IRamSize, unsigned int ERamSize, unsigned int flashSize, unsigned int pcSize=2)
 
virtual ~AvrDevice ()
 
void AddToResetList (Hardware *hw)
 
void AddToCycleList (Hardware *hw)
 
void RemoveFromCycleList (Hardware *hw)
 Removes from the cycle list, if possible. More...
 
void Load (const char *n)
 Load flash, eeprom, signature, fuses from elf file, wrapper for LoadBFD or LoadSimpleELF. More...
 
void ReplaceIoRegister (unsigned int offset, RWMemoryMember *)
 
bool ReplaceMemRegister (unsigned int offset, RWMemoryMember *)
 
RWMemoryMemberGetMemRegisterInstance (unsigned int offset)
 
void RegisterTerminationSymbol (const char *symbol)
 
PinGetPin (const char *name)
 
int Step (bool &untilCoreStepFinished, SystemClockOffset *nextStepIn_ns=0)
 
void Reset ()
 
void SetClockFreq (SystemClockOffset f)
 
SystemClockOffset GetClockFreq ()
 
void RegisterPin (const std::string &name, Pin *p)
 
void DeleteAllBreakpoints (void)
 Clear all breakpoints in device. More...
 
const std::string & GetFname (void)
 Return filename from loaded program. More...
 
const std::string & GetDeviceName (void)
 Return device name. More...
 
unsigned int GetDeviceSignature (void)
 Return device signature. More...
 
void SetDeviceNameAndSignature (const std::string &name, unsigned int signature)
 Set device signature and name. More...
 
unsigned int GetMemTotalSize (void)
 Get configured total memory space size. More...
 
unsigned int GetMemIOSize (void)
 Get configured IO memory space size. More...
 
unsigned int GetMemRegisterSize (void)
 Get configured register space size. More...
 
unsigned int GetMemIRamSize (void)
 Get configured internal RAM size. More...
 
unsigned int GetMemERamSize (void)
 Get configured external RAM size. More...
 
unsigned char GetRWMem (unsigned addr)
 Get a value of RW memory cell. More...
 
bool SetRWMem (unsigned addr, unsigned char val)
 Set a value to RW memory cell. More...
 
unsigned char GetCoreReg (unsigned addr)
 Get a value from core register. More...
 
bool SetCoreReg (unsigned addr, unsigned char val)
 Set a value to core register. More...
 
unsigned char GetIOReg (unsigned addr)
 Get a value from IO register (without offset of 0x20!) More...
 
bool SetIOReg (unsigned addr, unsigned char val)
 Set a value to IO register (without offset of 0x20!) More...
 
bool SetIORegBit (unsigned addr, unsigned bitaddr)
 Set a bit value to lower IO register (without offset of 0x20!) More...
 
bool ClearIORegBit (unsigned addr, unsigned bitaddr)
 Clear a bit value to lower IO register (without offset of 0x20!) More...
 
unsigned GetRegX (void)
 Get value of X register (16bit) More...
 
unsigned GetRegY (void)
 Get value of Y register (16bit) More...
 
unsigned GetRegZ (void)
 Get value of Z register (16bit) More...
 
void DebugOnJump ()
 When a call/jump/cond-jump instruction was executed. For debugging. More...
 
- Public Member Functions inherited from SimulationMember
virtual ~SimulationMember ()
 
- Public Member Functions inherited from TraceValueRegister
 TraceValueRegister (TraceValueRegister *parent, const std::string &name)
 Create a TraceValueRegister, with a scope prefix built on parent scope + name. More...
 
 TraceValueRegister ()
 Create a TraceValueRegister, with a empty scope name, single device application. More...
 
virtual ~TraceValueRegister ()
 
const std::string GetTraceValuePrefix (void)
 Returns the scope prefix. More...
 
const std::string GetScopeName (void)
 Returns the scope name. More...
 
void RegisterTraceValue (TraceValue *t)
 Registers a TraceValue for this register. More...
 
void UnregisterTraceValue (TraceValue *t)
 Unregisters a TraceValue, remove it from register. More...
 
TraceValueRegisterGetScopeGroupByName (const std::string &name)
 Get a here registered TraceValueRegister by it's name. More...
 
virtual TraceValueGetTraceValueByName (const std::string &name)
 Get a here registered TraceValue by it's name. More...
 
TraceValueRegisterFindScopeGroupByName (const std::string &name)
 Seek for a TraceValueRegister by it's name. More...
 
TraceValueFindTraceValueByName (const std::string &name)
 Seek for a TraceValue by it's name. More...
 
TraceSetGetAllTraceValues (void)
 Get all here registered TraceValue's only (not with descending values) More...
 
TraceSetGetAllTraceValuesRecursive (void)
 Get all here registered TraceValue's with descending values. More...
 

Additional Inherited Members

- Public Attributes inherited from AvrDevice_attinyX5
HWPort portb
 port B (only 6 bit) More...
 
GPIORegistergpior0_reg
 GPIOR0 Register. More...
 
GPIORegistergpior1_reg
 GPIOR1 Register. More...
 
GPIORegistergpior2_reg
 GPIOR2 Register. More...
 
ExternalIRQHandlerextirq
 external interrupt support More...
 
IOSpecialReggimsk_reg
 GIMSK IO register. More...
 
IOSpecialReggifr_reg
 GIFR IO register. More...
 
IOSpecialRegmcucr_reg
 MCUCR IO register. More...
 
IOSpecialRegpcmsk_reg
 PCMSK IO register. More...
 
CLKPRRegisterclkpr_reg
 CLKPR IO register. More...
 
OSCCALRegisterosccal_reg
 OSCCAL IO register. More...
 
IOSpecialReg gtccr_reg
 GTCCR IO register. More...
 
HWPrescaler prescaler0
 prescaler unit for timer 0 (10 bit w. reset/sync and only sys clock) More...
 
PrescalerMultiplexerExt premux0
 prescaler multiplexer for timer 0 More...
 
HWTimer8_2Ctimer0
 timer 0 unit More...
 
TimerIRQRegistertimer01irq
 timer interrupt unit for timer 0 and 1 More...
 
IOSpecialRegpllcsr_reg
 PLLCSR IO register. More...
 
HWTimerTinyX5timer1
 timer 1 unit More...
 
HWAdmuxadmux
 adc multiplexer unit More...
 
HWARefaref
 adc reference unit More...
 
HWAdad
 adc unit More...
 
HWAcompacomp
 analog compare unit More...
 
HWUSI_BRusi
 usi unit More...
 
- Public Attributes inherited from AvrDevice
int trace_on
 
Breakpoints BP
 
Exitpoints EP
 
unsigned int PC
 
unsigned int cPC
 When mupti-cycle instruction is "processed" this holds its address, PC holds the next instruction. More...
 
const unsigned int PC_size
 
unsigned int dataAddressMask
 which bits in address are significant More...
 
AvrFlashFlash
 
FlashProgrammingspmRegister
 
AvrFusesfuses
 
AvrLockBitslockbits
 
HWEepromeeprom
 
Datadata
 a hack for symbol look-up More...
 
HWIrqSystemirqSystem
 
AddressExtensionRegisterrampz
 RAMPZ address extension register. More...
 
AddressExtensionRegistereind
 EIND address extension register. More...
 
bool abortOnInvalidAccess
 Flag, that simulation abort if an invalid access occured, default is false. More...
 
TraceValueCoreRegister coreTraceGroup
 
bool deferIrq
 Almost always false. More...
 
unsigned int newIrqPc
 
unsigned int actualIrqVector
 
Pin v_supply
 represents supply voltage level, needed for analog peripherals More...
 
Pin v_bandgap
 represents bandgap (ref) voltage level, needed for analog peripherals More...
 
bool flagIWInstructions
 ADIW and SBIW instructions are available (not on most tiny's!) More...
 
bool flagJMPInstructions
 CALL and JMP instructions are available (only on devices with bigger flash) More...
 
bool flagIJMPInstructions
 ICALL and IJMP instructions are available (not on attiny1x devices) More...
 
bool flagEIJMPInstructions
 EICALL and EIJMP instructions are available (only on some devices with bigger flash) More...
 
bool flagLPMInstructions
 LPM and SPM instructions are available (not on some tiny devices) More...
 
bool flagELPMInstructions
 ELPM instructions are available (only on devices with bigger flash) More...
 
bool flagMULInstructions
 (F)MULxx instructions are available More...
 
bool flagMOVWInstruction
 MOVW instruction is available. More...
 
bool flagTiny10
 core is a tiny4/5/9/10, change used clocks on some instructions and disables instructions More...
 
bool flagTiny1x
 core is a tiny1x (but not tiny10!), change used clocks on some instructions and disables instructions More...
 
bool flagXMega
 core is a XMEGA device, change used clocks on some instructions More...
 
int DebugRecentJumps [20]
 Addresses of last few 'call' and 'jump' executed. For debugging. More...
 
int DebugRecentJumpsIndex
 Index to address of the most recent jump. More...
 
RWMemoryMember ** rw
 The whole memory: R0-R31, IO, Internal RAM. More...
 
HWStackstack
 
HWSregstatus
 the status register itself More...
 
RWSregstatusRegister
 the memory interface for status More...
 
HWWadowado
 WDT timer. More...
 
std::vector< Hardware * > hwResetList
 
std::vector< Hardware * > hwCycleList
 
DumpManagerdumpManager
 
- Protected Member Functions inherited from TraceValueRegister
virtual size_t _tvr_getValuesCount (void)
 Get the count of all TraceValues, that are registered here and descending. More...
 
virtual void _tvr_insertTraceValuesToSet (TraceSet &t)
 Insert all TraceValues into TraceSet, that registered here and descending. More...
 
- Protected Attributes inherited from AvrDevice
SystemClockOffset clockFreq
 Period of a tick (1/F_OSC) in [ns]. More...
 
std::map< std::string, Pin * > allPins
 
std::string actualFilename
 
int cpuCycles
 Count of cycles before next instruction is executed (i.e. countdown) More...
 

Detailed Description

AVR device class for ATTiny85, see AvrDevice_attinyX5.

Definition at line 98 of file attiny25_45_85.h.

Constructor & Destructor Documentation

◆ AvrDevice_attiny85()

AvrDevice_attiny85::AvrDevice_attiny85 ( )
inline

Creates the device for ATTiny85, see AvrDevice_attinyX5.

Definition at line 101 of file attiny25_45_85.h.


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