Options
All
  • Public
  • Public/Protected
  • All
Menu

Arm Debug Interface class

Hierarchy

Implements

Index

Constructors

constructor

  • ADI constructor

    Parameters

    • transport: Transport

      Debug transport to use

    • Optional mode: DEFAULT | SWD | JTAG

      Debug mode to use (default 0)

    • Optional clockFrequency: number

      Communication clock frequency to use (default 10000000)

    Returns ADI

  • ADI constructor

    Parameters

    • proxy: Proxy

      Proxy to use

    Returns ADI

Methods

Protected concatTypedArray

  • concatTypedArray(arrays: Uint32Array[]): Uint32Array
  • Parameters

    • arrays: Uint32Array[]

    Returns Uint32Array

connect

  • connect(): Promise<void>

disconnect

  • disconnect(): Promise<void>

readAP

  • Read from an access port register

    Parameters

    Returns Promise<number>

    Promise of register value

Protected readAPCommand

readBlock

  • readBlock(register: number, count: number): Promise<Uint32Array>
  • 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

readDP

  • Read from a debug port register

    Parameters

    Returns Promise<number>

    Promise of register value

Protected readDPCommand

readMem16

  • readMem16(register: number): Promise<number>
  • 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

Protected readMem16Command

readMem32

  • readMem32(register: number): Promise<number>
  • 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

Protected readMem32Command

Protected readMem32Sequence

  • readMem32Sequence(register: number, count: number): Promise<Uint32Array>
  • Read a sequence of 32-bit words from a memory access port register, without crossing TAR auto-increment boundaries

    Parameters

    • register: number

      ID of register to read from

    • count: number

      The count of values to read

    Returns Promise<Uint32Array>

    Promise of register data

readMem8

  • readMem8(register: number): Promise<number>
  • 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

Protected readMem8Command

reconnect

  • reconnect(): Promise<void>

reset

  • reset(): Promise<boolean>

Protected transferSequence

  • transferSequence(operations: DAPOperation[][]): Promise<Uint32Array>

Protected waitDelay

  • waitDelay(fn: () => Promise<boolean>, timeout?: number, timer?: number): Promise<void>
  • Continually run a function until it returns true

    Parameters

    • fn: () => Promise<boolean>

      The function to run

        • (): Promise<boolean>
        • Returns Promise<boolean>

    • timeout: number = 0

      Optional timeout to wait before giving up and throwing

    • timer: number = DEFAULT_WAIT_DELAY

      The milliseconds to wait between each run

    Returns Promise<void>

    Promise

writeAP

  • writeAP(register: APRegister, value: number): Promise<void>
  • Write to an access port register

    Parameters

    • register: APRegister

      AP register to write

    • value: number

      Value to write

    Returns Promise<void>

    Promise

Protected writeAPCommand

  • writeAPCommand(register: number, value: number): DAPOperation[]

writeBlock

  • writeBlock(register: number, values: Uint32Array): Promise<void>
  • 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

writeDP

  • writeDP(register: DPRegister, value: number): Promise<void>
  • Write to a debug port register

    Parameters

    • register: DPRegister

      DP register to write

    • value: number

      Value to write

    Returns Promise<void>

    Promise

Protected writeDPCommand

  • writeDPCommand(register: number, value: number): DAPOperation[]

writeMem16

  • writeMem16(register: number, value: number): Promise<void>
  • 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

Protected writeMem16Command

  • writeMem16Command(register: number, value: number): DAPOperation[]

writeMem32

  • writeMem32(register: number, value: number): Promise<void>
  • 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

Protected writeMem32Command

  • writeMem32Command(register: number, value: number): DAPOperation[]

Protected writeMem32Sequence

  • writeMem32Sequence(register: number, values: Uint32Array): Promise<void>
  • Write a sequence of 32-bit words to a memory access port register, without crossing TAR auto-increment boundaries

    Parameters

    • register: number

      ID of register to write to

    • values: Uint32Array

      The values to write

    Returns Promise<void>

    Promise

writeMem8

  • writeMem8(register: number, value: number): Promise<void>
  • 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

Protected writeMem8Command

  • writeMem8Command(register: number, value: number): DAPOperation[]