Processor interface

interface Processor {
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    execute(address, code, stackPointer, programCounter, linkRegister?, ...registers): Promise<void>;
    getState(): Promise<CoreState>;
    halt(wait?, timeout?): Promise<void>;
    isHalted(): Promise<boolean>;
    readAP(register): Promise<number>;
    readBlock(register, count): Promise<Uint32Array>;
    readBytes(register, count): Promise<Uint8Array>;
    readCoreRegister(register): Promise<number>;
    readCoreRegisters(registers): Promise<number[]>;
    readDP(register): Promise<number>;
    readMem16(register): Promise<number>;
    readMem32(register): Promise<number>;
    readMem8(register): Promise<number>;
    reconnect(): Promise<void>;
    reset(): Promise<boolean>;
    resume(wait?, timeout?): Promise<void>;
    writeAP(register, value): Promise<void>;
    writeBlock(register, values): Promise<void>;
    writeBytes(register, values): Promise<void>;
    writeCoreRegister(register, value): Promise<void>;
    writeDP(register, value): Promise<void>;
    writeMem16(register, value): Promise<void>;
    writeMem32(register, value): Promise<void>;
    writeMem8(register, value): Promise<void>;
}

Hierarchy (view full)

Implemented by

Methods

  • Connect to target device

    Returns Promise<void>

    Promise

  • Disconnect from target device

    Returns Promise<void>

    Promise

  • Exucute code at a specified memory address

    Parameters

    • address: number

      The address to put the code

    • code: Uint32Array

      The code to use

    • stackPointer: number

      The stack pointer to use

    • programCounter: number

      The program counter to use

    • Optional linkRegister: number

      The link register to use (defaults to address + 1)

    • Rest ...registers: number[]

      Values to add to the general purpose registers, R0, R1, R2, etc.

    Returns Promise<void>

  • Halt the target

    Parameters

    • Optional wait: boolean

      Wait until halted before returning

    • Optional timeout: number

      Milliseconds to wait before aborting wait

    Returns Promise<void>

    Promise

  • Whether the target is halted

    Returns Promise<boolean>

    Promise of halted state

  • Read from an access port register

    Parameters

    • register: number

      ID of register to read

    Returns Promise<number>

    Promise of register value

  • Read a block of 32-bit words from a memory access port register

    Parameters

    • register: number

      ID of register to read from

    • count: number

      The count of values to read

    Returns Promise<Uint32Array>

    Promise of register data

  • Read a block of bytes from a memory access port register

    Parameters

    • register: number

      ID of register to read from

    • count: number

      The count of values to read

    Returns Promise<Uint8Array>

    Promise of register data

  • Read from a core register

    Parameters

    Returns Promise<number>

    Promise of value

  • Read an array of core registers

    Parameters

    Returns Promise<number[]>

    Promise of register values in an array

  • Read from a debug port register

    Parameters

    • register: number

      ID of register to read

    Returns Promise<number>

    Promise of register value

  • Read a 16-bit word from a memory access port register

    Parameters

    • register: number

      ID of register to read

    Returns Promise<number>

    Promise of register data

  • Read a 32-bit word from a memory access port register

    Parameters

    • register: number

      ID of register to read

    Returns Promise<number>

    Promise of register data

  • Read an 8-bit word from a memory access port register

    Parameters

    • register: number

      ID of register to read

    Returns Promise<number>

    Promise of register data

  • Reconnect to target device

    Returns Promise<void>

    Promise

  • Reset target device

    Returns Promise<boolean>

    Promise

  • Resume a target

    Parameters

    • Optional wait: boolean

      Wait until resumed before returning

    • Optional timeout: number

      Milliseconds to wait before aborting wait

    Returns Promise<void>

    Promise

  • Write to an access port register

    Parameters

    • register: number

      ID of register to write

    • value: number

      Value to write

    Returns Promise<void>

    Promise

  • Write a block of 32-bit words to a memory access port register

    Parameters

    • register: number

      ID of register to write to

    • values: Uint32Array

      The values to write

    Returns Promise<void>

    Promise

  • Write a block of bytes to a memory access port register

    Parameters

    • register: number

      ID of register to write to

    • values: Uint8Array

      The values to write

    Returns Promise<void>

    Promise

  • Write to a core register

    Parameters

    • register: CoreRegister

      The register to write to

    • value: number

      The value to write

    Returns Promise<void>

    Promise

  • Write to a debug port register

    Parameters

    • register: number

      ID of register to write

    • value: number

      Value to write

    Returns Promise<void>

    Promise

  • Write a 16-bit word to a memory access port register

    Parameters

    • register: number

      ID of register to write to

    • value: number

      The value to write

    Returns Promise<void>

    Promise

  • Write a 32-bit word to a memory access port register

    Parameters

    • register: number

      ID of register to write to

    • value: number

      The value to write

    Returns Promise<void>

    Promise

  • Write an 8-bit word to a memory access port register

    Parameters

    • register: number

      ID of register to write to

    • value: number

      The value to write

    Returns Promise<void>

    Promise