INexusDriver interface

www.kxcad.net Home > Electronic Index > Altium(Protel) Index


Your Ad Here

Overview

 

INexusDriver's Methods

{Top Level}

Function    GetNexusDevice : INexusDevice;

Function    SetNexusDevice(ANexusDevice : INexusDevice) : LongBool;

Function    Finalize                                    : LongBool;

Function    GetBitmapHandle                             : THandle;

Function    SaveProcessorState                          : LongBool;

Function    RestoreProcessorState                       : LongBool;

Procedure   CreateCustomViewer;

Function    GetCustomViewer : IInstrumentView;

Function    Supports                   (Action            : PChar) : LongBool;

Procedure   ShowAboutDialog;

Function    VendorToolsDescriptor : WideString;         

Function    VendorToolsPresent    : LongBool;           

Function    VendorToolsUpToDate   : LongBool;           

 

{Processor Registers}

Function    SetProcessorRegisterValue(RegisterIndex : Integer;  Value : LongWord ) : LongBool;

Function    GetProcessorRegisterValue(RegisterIndex : Integer ) : LongWord;

Function    GetProcessorRegisterWidth(RegisterIndex  Integer  ) : LongWord;

Function    GetProcessorRegisterName (RegisterIndex  Integer  ) : WideString;

Function    GetProcessorRegisterShortName (RegisterIndex : Integer) : WideString;

Function    GetProcessorRegisterCount  : Integer;            

Function    GetRegisterIndex_PC        : Integer;            

Function    GetRegisterIndex_SP        : Integer;            

 

{Software Breakpoints}

Function  AddSoftBreakpoint(MemorySpace      : Integer;

                              Address           : LongWord) : LongWord;

Function  RemoveSoftBreakpoint(MemorySpace      : Integer;

                               Address          : LongWord;

                               Replaced         : LongWord): LongBool;

 

{Memory Spaces}

Function    GetMemorySpaceWidth         (MemorySpaceIndex : Integer) : LongWord;

Function    GetMemorySpaceLength        (MemorySpaceIndex : Integer) : LongWord;

Function    GetMemorySpaceKind          (MemorySpaceIndex : Integer) : TMemoryKind;

Function    GetMemorySpaceBytesPerUnit  (MemorySpaceIndex : Integer) : LongWord;

Function    GetMemorySpaceName          (MemorySpaceIndex : Integer) : WideString;

Function    GetMemorySpaceShortName     (MemorySpaceIndex : Integer) : WideString;

Function    GetMemorySpaceCount      : Integer'

Function    GetMemorySpace_Program   : Integer;

Function    MemoryRead  (MemorySpaceIndex : Integer;

                         Buffer           : PMemoryArray;

                         Address          : LongWord;

                         Length           : Integer             ) : LongBool;

Function    MemoryWrite (MemorySpaceIndex : Integer;

                         Buffer           : PMemoryArray;

                         Address          : LongWord;

                         Length           : Integer             ) : LongBool;

Function    RunDiagnostic : LongBool;

 

{Physical Device Functions}

Function    ResetDevice                         : LongBool;    

Function    GetDeviceState                      : TDeviceState;

Function    ProgramDevice(FileName : WideString): Integer;      

Function    ReadUserCode                        : LongWord;     

 

{Process Flow Functions}

Function    FlowStage_Build                     : IProcessFlow;

Function    FlowStage_Download                  : IProcessFlow;

Function    CoreGen_OutputExtension             : WideString;

Example

Procedure ResetProcessor;

Var

    NexusWorkBench    : INexusWorkbench;

    NexusDevice       : INexusDevice;

    DeviceLink        : IDeviceLink;

Begin

    NexusWorkBench := GetNexusWorkbench;

    DeviceLink := NexusWorkBench.GetCurrentHardDevice;

    NexusDevice := DeviceLink.GetNexusDevice;

    NexusDevice.ResetDevice;

End;

Your Ad Here