Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Submodules

...

Anchor
libnxembeddedtools.remoteapi.abstract.Interface
libnxembeddedtools.remoteapi.abstract.Interface
class libnxembeddedtools.remoteapi.abstract.Interface
libnxembeddedtools.remoteapi.abstract.MemoryTypelibnxembeddedtools.remoteapi.abstract

Bases: ABC

Interface thatdescribes the hardware interface between the PC and the board.

Info

Object implementing this class should be construct via the get() method.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.dumpMemory
libnxembeddedtools.remoteapi.abstract.Interface.dumpMemory
dumpMemory(memType, address, count, outFile, append=False)

Dump memory into a file.

Parameters:
  • memType (MemoryType) – Access type to perform.

  • address (int) – First address to be read.

  • outFile (str) – Path of the file where to dump the memory.

  • count (int) – Number of word to read.

  • append (Boolean) – Open the filed in append mode.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.halt
libnxembeddedtools.remoteapi.abstract.Interface.halt
abstract halt(core)

Halt the specified core.

Parameters:

core (int) – Core to halt

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.loadELF
libnxembeddedtools.remoteapi.abstract.Interface.loadELF
abstract loadELF(image, core)

Load an ELF on the selected core.

Parameters:
  • image (str) – Path of the ELF to load.

  • core (int) – Core where to load the ELF file.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.loadImage
libnxembeddedtools.remoteapi.abstract.Interface.loadImage
abstract loadImage(image, core, address)

Load a binary on the specified core.

Parameters:
  • image (str) – Path of the binary to load.

  • core (int) – Core where to load the binary file.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.readMemoryreadCoprocessor
libnxembeddedtools.remoteapi.abstract.Interface.readMemoryreadCoprocessor
abstract readMemory(memType, address, count=1, wordLen=32)
Read some memory from the target
readCoprocessor(core, coprocId, op1, crn, crm, op2)

Read a coprocessor register.

Parameters:
  • memType core (MemoryTypeint) – Access type Core used to perform .the read;

  • address coprocId (int) – First address Coprocessor to be read.;count

  • op1 (int) – Number of word to read.wordLen op1 to use;

  • crn (int) – Word length in bits.

Returns:

Memory read from the target.

Return type:list(int)
  • crn to use;

  • crm (int) – crm to use;

  • op2 (int) – op2 to use.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.readRegisterreadMemory
libnxembeddedtools.remoteapi.abstract.Interface.readRegisterreadMemory
abstract readRegister(core, namereadMemory(memType, address, count=1, wordLen=32)

Read a register some memory from the selected coretarget.

Parameters:core
  • memType (MemoryType) – Access type to perform.

  • address (int) – Core from which to want to read the registername (str) – Name of the register you want to readFirst address to be read.

  • count (int) – Number of word to read.

  • wordLen (int) – Word length in bits.

Returns:

The value of the registerMemory read from the target.

Return type:

int

Raises:

Exception – if the register can’t be found.

WarningSelected core should be halted before reading a register. You should call halt() method before this.

list(int)

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.removeBreakpointreadRegister
libnxembeddedtools.remoteapi.abstract.Interface.removeBreakpointreadRegister
abstract removeBreakpointreadRegister(core, address name)

Remove Read a breakpoint register from the specified selected core.

Parameters:
  • core (int) – Core where the breakpoint is placed.address (int) – Address of the breakpointfrom which to want to read the register

  • name (str) – Name of the register you want to read.

Returns:

The value of the register

Return type:

int

Raises:

Exception – if the register can’t be found.

Warning

Selected core should be halted before reading a register. You should call halt() method before this.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.resumeremoveBreakpoint
libnxembeddedtools.remoteapi.abstract.Interface.resumeremoveBreakpoint
abstract resumeremoveBreakpoint(core, address)

Resume Remove a breakpoint from the specified core.

Parameters:
  • core (int) – Core

to
  • where the breakpoint is placed.

  • address (int) – Address of the breakpoint.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.resume
libnxembeddedtools.remoteapi.abstract.Interface.resume
abstract resume(core)

Resume the specified core.

Parameters:

core (int) – Core to resume

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.sendCmd
libnxembeddedtools.remoteapi.abstract.Interface.sendCmd
abstract sendCmd(core, cmd)

Send debugger command to execute on the specified core.

Parameters:
  • core (int) – Core to send the command to.

  • cmd (str) –

    .

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.setBreakpointsetARMMode
libnxembeddedtools.remoteapi.abstract.Interface.setBreakpointsetARMMode
abstract setBreakpoint setARMMode(core, address, length)

Set the current core on ARM execution mode.

Parameters:

core (int) – Core you want to switch execution.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.setBreakpoint
libnxembeddedtools.remoteapi.abstract.Interface.setBreakpoint
abstract setBreakpoint(core, address, length)

Set a breakpoint on the core at the specified address.

Parameters:
  • core (int) – Core where to place the breakpoint.

  • address (int) – Address of the breakpoint.

  • length (int) – Length of the access in bytes.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.setThumbMode
libnxembeddedtools.remoteapi.abstract.Interface.setThumbMode
setThumbMode(core)

Set the current core on Thumb execution mode.

Parameters:

core (int) – Core you want to switch execution.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.step
libnxembeddedtools.remoteapi.abstract.Interface.step
abstract step(core)

Perform a step (single instruction) on the specified core.

Parameters:

core (int) – Core to resume

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.waitHalt
libnxembeddedtools.remoteapi.abstract.Interface.waitHalt
abstract waitHalt(core, timeout)

Wait for the halt state on the specified core.

Parameters:
  • core (int) – Core to halt.

  • timeout (int) – Timeout in ms.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.wakeupCore
libnxembeddedtools.remoteapi.abstract.Interface.wakeupCore
abstract wakeupCore(core)

Wake up the specified core.

Parameters:

core (int) – Core to wake up.

Info

Core 0 is always waked up.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.writeFilewriteCoprocessor
libnxembeddedtools.remoteapi.abstract.Interface.writeFilewriteCoprocessor
writeFile abstract writeCoprocessor(memTypecore, address coprocId, inputFile, byteorder='little', offset=0, size=-1)
Write memory on the whith values from the source file
op1, crn, crm, op2, value)

Read a coprocessor register.

Parameters:
  • memType core (MemoryTypeint) – Access type Core used to perform .the read;

  • address coprocId (int) – First address Coprocessor to be read.;inputFile

  • op1 (strint) – File path.

  • byteorder (str) – Byteorder of the file (‘big’ or ‘little’).

  • offset op1 to use;

  • crn (int) – crn to use;

  • crm (int) – crm to use;

  • op2 (int) – Offset in the file where to begin.size op2 to use;

  • value (int) – Size to read from the filevalue to write.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.writeMemorywriteFile
libnxembeddedtools.remoteapi.abstract.Interface.writeMemorywriteFile
abstract writeMemory writeFile(memType, address, data, wordLen=32, inputFile, byteorder='little', offset=0, size=-1)

Write memory on the targetwhith values from the source file.

Parameters:
  • memType (MemoryType) – Access type to perform.

  • address (int) – First address to be read.data

  • inputFile (list) – Data to write.wordLen str) – File path.

  • byteorder (str) – Byteorder of the file (‘big’ or ‘little’).

  • offset (int) – Word length in bitsOffset in the file where to begin.

  • size (int) – Size to read from the file.

Anchor
libnxembeddedtools.remoteapi.abstract.Interface.writeRegisterwriteMemory
libnxembeddedtools.remoteapi.abstract.Interface.writeRegisterwriteMemory
abstract writeRegisterwriteMemory(corememType, address, name data, value wordLen=32)

Write a register from the selected corememory on the target.

Parameters:
  • core memType (intMemoryType) – Core from which to want to write the registername (str) – Name of the register you want Access type to perform.

  • address (int) – First address to be read.

  • data (list) – Data to write.value

  • wordLen (int) – Value you want to write in the registerWord length in bits.

Raises:

Exception – if the register can’t be found.

Warning

Selected core should be halted before reading a register. You should call halt() method before this.

Anchor
Anchor
libnxembeddedtools.remoteapi.abstract.Interface.writeRegister
libnxembeddedtools.remoteapi.abstract.Interface.writeRegister
abstract writeRegister(core, name, value)

Write a register from the selected core.

Parameters:
  • core (int) – Core from which to want to write the register

  • name (str) – Name of the register you want to write.

  • value (int) – Value you want to write in the register.

Raises:

Exception – if the register can’t be found.

Warning

Selected core should be halted before reading a register. You should call halt() method before this.

...

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType
libnxembeddedtools.remoteapi.abstract.MemoryType
class libnxembeddedtools.remoteapi.abstract.MemoryType(value)

Bases: Enum

Enumeration that describe the type of memory acces to perform on the interface.

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_APB
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_APB
MEMORY_APB = 1

Memory Access from the APB available on the DAP

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_AXI
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_AXI
MEMORY_AXI = 2

Memory Access from the AXI available on the DAP

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_CORE_0
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_CORE_0
MEMORY_CORE_0 = 3

Memory Access from the core 0 of the SoC

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_CORE_1
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_CORE_1
MEMORY_CORE_1 = 4

Memory Access from the core 1 of the SoC

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_CORE_2
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_CORE_2
MEMORY_CORE_2 = 5

Memory Access from the core 2 of the SoC

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_CORE_3
libnxembeddedtools.remoteapi.abstract.MemoryType.MEMORY_CORE_3
MEMORY_CORE_3 = 6

Memory Access from the core 3 of the SoC

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.getCore
libnxembeddedtools.remoteapi.abstract.MemoryType.getCore
static getCore(memType)

Get the core corresponding to a memory access.

Parameters:

memType (MemoryType) – Memory type to check

Returns:

Core number corresponding to the access, None if the access is not from a core.

Return type:

int

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.getFromCore
libnxembeddedtools.remoteapi.abstract.MemoryType.getFromCore
static getFromCore(core)

Get the memory access type corresponding to a particluar core.

Parameters:

core (int) – Core to get access type from.

Returns:

corresponding to the core or None if an invalid core is passed as parameter.

Return type:

MemoryType

Anchor
libnxembeddedtools.remoteapi.abstract.MemoryType.isCoreAccess
libnxembeddedtools.remoteapi.abstract.MemoryType.isCoreAccess
static isCoreAccess(memType)

Check if a memory type is from a core.

Parameters:

memType (MemoryType) – Memory type to check

Returns:

True if the memory type correspond to a core, False otherwise.

Return type:

Boolean

...

Info

If NX_EMBEDDED_TOOLS_IFACE is not set or if filed with incoherent value, it falls back to openocd.

...

Get an instance of Interface corresponding to the selected interface that you should use to communicate with the board.

Returns:

instance to be used to communicate with the board.

Return type:

Interface

...

libnxembeddedtools.remoteapi.lauterbach module

back to openocd.

...

Anchor
libnxembeddedtools.remoteapi.factory.get
libnxembeddedtools.remoteapi.factory.get
libnxembeddedtools.remoteapi.factory.get()

Get an instance of Interface corresponding to the selected interface that you should use to communicate with the board.

Returns:

instance to be used to communicate with the board.

Return type:

Interface

...

libnxembeddedtools.remoteapi.lauterbach module

...

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface
libnxembeddedtools.remoteapi.lauterbach.Interface
class libnxembeddedtools.remoteapi.lauterbach.Interface(verbose=False)

Bases: Interface

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.halt
libnxembeddedtools.remoteapi.lauterbach.Interface.halt
halt(core)

Halt the specified core.

Parameters:

core (int) – Core to halt

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.loadELF
libnxembeddedtools.remoteapi.lauterbach.Interface.loadELF
loadELF(image, core)

Load an ELF on the selected core.

Parameters:
  • image (str) – Path of the ELF to load.

  • core (int) – Core where to load the ELF file.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.loadImage
libnxembeddedtools.remoteapi.lauterbach.Interface.loadImage
loadImage(image, core, address)

Load a binary on the specified core.

Parameters:
  • image (str) – Path of the binary to load.

  • core (int) – Core where to load the binary file.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.readCoprocessor
libnxembeddedtools.remoteapi.lauterbach.Interface.readCoprocessor
readCoprocessor(core, coprocId, op1, crn, crm, op2)

Read a coprocessor register.

Parameters:
  • core (int) – Core used to perform the read;

  • coprocId (int) – Coprocessor to read;

  • op1 (int) – op1 to use;

  • crn (int) – crn to use;

  • crm (int) – crm to use;

  • op2 (int) – op2 to use.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.readMemory
libnxembeddedtools.remoteapi.lauterbach.Interface.readMemory
readMemory(memType, address, count=1, wordLen=32)

Read some memory from the target.

Parameters:
  • memType (MemoryType) – Access type to perform.

  • address (int) – First address to be read.

  • count (int) – Number of word to read.

  • wordLen (int) – Word length in bits.

Returns:

Memory read from the target.

Return type:

list(int)

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.readRegister
libnxembeddedtools.remoteapi.lauterbach
.Interface class libnxembeddedtools.remoteapi.lauterbach.Interface(verbose=False)

Bases: Interface

Anchorlibnxembeddedtools.remoteapi.lauterbach.Interface.haltlibnxembeddedtools.remoteapi.lauterbach.Interface.halt halt(core)

Halt the specified core.

Parameters:core (int) – Core to halt
.Interface.readRegister
readRegister(core, name)

Read a register from the selected core.

Parameters:
  • core (int) – Core from which to want to read the register

  • name (str) – Name of the register you want to read.

Returns:

The value of the register

Return type:

int

Raises:

Exception – if the register can’t be found.

Warning

Selected core should be halted before reading a register. You should call halt() method before this.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.loadELFremoveBreakpoint
libnxembeddedtools.remoteapi.lauterbach.Interface.loadELFremoveBreakpoint
loadELF removeBreakpoint(imagecore, core address)

Load an ELF on the selected Remove a breakpoint from the specified core.

Parameters:
  • image core (strint) – Path of the ELF to loadCore where the breakpoint is placed.core

  • address (int) – Core where to load the ELF fileAddress of the breakpoint.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.loadImageresume
libnxembeddedtools.remoteapi.lauterbach.Interface.loadImageresume
loadImage resume(image, core, address)

Load a binary on Resume the specified core.

Parameters:image (str) – Path of the binary to load.

core (int) – Core

where

to

load the binary file.

resume

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.readMemoryresumeAll
libnxembeddedtools.remoteapi.lauterbach.Interface.readMemoryresumeAll
readMemory(memType, address, count=1, wordLen=32)

Read some memory from the target.

Parameters:
  • memType (MemoryType) – Access type to perform.

  • address (int) – First address to be read.

  • count (int) – Number of word to read.

  • wordLen (int) – Word length in bits.

Returns:

Memory read from the target.

Return type:

list(int)

resumeAll()
Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.sendCmd
libnxembeddedtools.remoteapi.lauterbach.Interface.sendCmd
sendCmd(core, cmd)

Send debugger command to execute on the specified core.

Parameters:
  • core (int) – Core to send the command to.

  • cmd (str) –

    .

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.readRegistersetBreakpoint
libnxembeddedtools.remoteapi.lauterbach.Interface.readRegistersetBreakpoint
readRegister setBreakpoint(core, name address, length)

Read Set a register from breakpoint on the selected core at the specified address.

Parameters:
  • core (int) – Core from which to want to read the register

  • name (str) – Name of the register you want to read.

Returns:

The value of the register

Return type:

int

Raises:

Exception – if the register can’t be found.

WarningSelected core should be halted before reading a register. You should call halt() method before this
  • where to place the breakpoint.

  • address (int) – Address of the breakpoint.

  • length (int) – Length of the access in bytes.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.removeBreakpointstep
libnxembeddedtools.remoteapi.lauterbach.Interface.removeBreakpointstep
removeBreakpoint step(core, address)

Remove a breakpoint from Perform a step (single instruction) on the specified core.

Parameters:

core (int) – Core

where the breakpoint is placed.address (int) – Address of the breakpoint.

to resume

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.resumewaitHalt
libnxembeddedtools.remoteapi.lauterbach.Interface.resumewaitHalt
resume waitHalt(core, timeout)

Resume Wait for the halt state on the specified core.

Parameters:
  • core (int) – Core to

resume
  • halt.

  • timeout (int) – Timeout in ms.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.resumeAllwaitRun
libnxembeddedtools.remoteapi.lauterbach.Interface.resumeAllwaitRun
resumeAll waitRun(core, timeout)
Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.sendCmdwakeupCore
libnxembeddedtools.remoteapi.lauterbach.Interface.sendCmdwakeupCore
sendCmd wakeupCore(core, cmd)

Send debugger command to execute on Wake up the specified core.

Parameters:

core (int) – Core to

send the command to

wake up.

cmd (str) –

Info

Core 0 is always waked up.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.setBreakpointwriteCoprocessor
libnxembeddedtools.remoteapi.lauterbach.Interface.setBreakpointwriteCoprocessor
setBreakpoint writeCoprocessor(core, address, length)
Set a breakpoint on the core at the specified address
, coprocId, op1, crn, crm, op2, value)

Read a coprocessor register.

Parameters:

Perform a step (single instruction) on the specified core.

Parameters:core (int) – Core to resume
  • core (int) – Core where used to place perform the breakpoint.read;address

  • coprocId (int) – Address of the breakpoint.

  • length (int) – Length of the access in bytes.

Anchorlibnxembeddedtools.remoteapi.lauterbach.Interface.steplibnxembeddedtools.remoteapi.lauterbach.Interface.step step(core)
  • Coprocessor to read;

  • op1 (int) – op1 to use;

  • crn (int) – crn to use;

  • crm (int) – crm to use;

  • op2 (int) – op2 to use;

  • value (int) – value to write.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.waitHaltwriteMemory
libnxembeddedtools.remoteapi.lauterbach.Interface.waitHaltwriteMemory
waitHalt(core, timeout)
Wait for the halt state on the specified core
writeMemory(memType, address, data, wordLen=32)

Write memory on the target.

Parameters:
  • core memType (intMemoryType) – Core Access type to haltperform.

  • timeout address (int) – Timeout in ms.

Anchorlibnxembeddedtools.remoteapi.lauterbach.Interface.waitRunlibnxembeddedtools.remoteapi.lauterbach.Interface.waitRun waitRun(core, timeout)
  • First address to be read.

  • data (list) – Data to write.

  • wordLen (int) – Word length in bits.

Anchor
libnxembeddedtools.remoteapi.lauterbach.Interface.wakeupCorewriteRegister
libnxembeddedtools.remoteapi.lauterbach.Interface.wakeupCorewriteRegister
wakeupCore writeRegister(core, name, value)

Wake up the specified Write a register from the selected core.

Parameters:
  • core (int) – Core

to wake up.
InfoCore 0 is always waked up
  • from which to want to write the register

  • name (str) – Name of the register you want to write.

  • value (int) – Value you want to write in the register.

Raises:

Exception – if the register can’t be found.

Warning

Selected core should be halted before reading a register. You should call halt() method before this.

Anchor
libnxembeddedtools.remoteapi.lauterbach.
Interface.writeMemory
toT32CoprocEncoding
libnxembeddedtools.remoteapi.lauterbach.toT32CoprocEncoding
libnxembeddedtools.remoteapi.lauterbach.
Interface.writeMemory writeMemory(memType, address, data, wordLen=32)

Write memory on the target.

Parameters:
  • memType (MemoryType) – Access type to perform.

  • address (int) – First address to be read.

  • data (list) – Data to write.

  • wordLen (int) – Word length in bits
    toT32CoprocEncoding(op1, crn, crm, op2)

    ...

    libnxembeddedtools.remoteapi.openocd module

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface
    libnxembeddedtools.remoteapi.openocd.Interface
    class libnxembeddedtools.remoteapi.openocd.Interface(verbose=False)

    Bases: Interface

    This class is dedicated to the communication with the openocd deamon.

    Anchor
    libnxembeddedtools.remoteapi.lauterbachopenocd.Interface.writeRegisterhalt
    libnxembeddedtools.remoteapi.lauterbachopenocd.Interface.writeRegisterhalt
    writeRegister(core, name, value)

    Write a register from the selected core.

    Parameters:
    • core (int) – Core from which to want to write the register

    • name (str) – Name of the register you want to write.

    • value (int) – Value you want to write in the register.

    Raises:

    Exception – if the register can’t be found.

    WarningSelected core should be halted before reading a register. You should call halt() method before this.
    halt(core)

    Halt the specified core.

    Parameters:

    core (int) – Core to halt

    Anchor
    libnxembeddedtools.remoteapi.openocd

    ...

    anchor
    .Interface.loadELF
    libnxembeddedtools.remoteapi.openocd.Interface
    libnxembeddedtools.remoteapi.openocd.Interface class libnxembeddedtools.remoteapi.openocd.Interface(verbose=False)

    Bases: Interface

    This class is dedicated to the communication with the openocd deamon
    .loadELF
    loadELF(image, core)

    Load an ELF on the selected core.

    Parameters:
    • image (str) – Path of the ELF to load.

    • core (int) – Core where to load the ELF file.

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.haltloadImage
    libnxembeddedtools.remoteapi.openocd.Interface.haltloadImage
    halt loadImage(image, core, address)

    Halt Load a binary on the specified core.

    Parameters:
    • image (str) – Path of the binary to load.

    Parameters:
    • core (int) – Core where to

    halt
    • load the binary file.

    Parameters:
  • image (str) – Path of the ELF to load.

  • core (int) – Core where to load the ELF file
    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.loadELFreadCoprocessor
    libnxembeddedtools.remoteapi.openocd.Interface.loadELFreadCoprocessor
    loadELF(image, core)

    Load an ELF on the selected core.

    readCoprocessor(core, coprocId, op1, crn, crm, op2)

    Read a coprocessor register.

    Parameters:
    • core (int) – Core used to perform the read;

    • coprocId (int) – Coprocessor to read;

    • op1 (int) – op1 to use;

    • crn (int) – crn to use;

    • crm (int) – crm to use;

    • op2 (int) – op2 to use.

    Parameters:
  • image (str) – Path of the binary to load.

  • core (int) – Core where to load the binary file.
    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.loadImagereadMemory
    libnxembeddedtools.remoteapi.openocd.Interface.loadImage
    loadImage(image, core, address)

    Load a binary on the specified core.

    .readMemory
    readMemory(memType, address, count=1, wordLen=32)

    Read some memory from the target.

    Parameters:
    • memType (MemoryType) – Access type to perform.

    • address (int) – First address to be read.

    • count (int) – Number of word to read.

    • wordLen (int) – Word length in bits.

    Returns:

    Memory read from the target.

    Return type:

    list(int)

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.readMemoryreadRegister
    libnxembeddedtools.remoteapi.openocd.Interface.readMemoryreadRegister
    readMemory readRegister(memType, address, count=1, wordLen=32core, register)

    Read some memory a register from the targetselected core.

    Parameters:
    • memType core (MemoryTypeint) – Access type to perform.

    • address (int) – First address to be read.

    • count (int) – Number of word to read.

    • wordLen (int) – Word length in bitsCore from which to want to read the register

    • name (str) – Name of the register you want to read.

    Returns:

    Memory read from the target.The value of the register

    Return type:list(int)

    int

    Raises:

    Exception – if the register can’t be found.

    Warning

    Selected core should be halted before reading a register. You should call halt() method before this.

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.readRegisterremoveBreakpoint
    libnxembeddedtools.remoteapi.openocd.Interface.readRegisterremoveBreakpoint
    readRegister removeBreakpoint(core, register address)

    Read Remove a register breakpoint from the selected specified core.

    Parameters:
    • core (int) – Core from which to want to read the register

    • name (str) – Name of the register you want to read.

    Returns:

    The value of the register

    Return type:

    int

    Raises:

    Exception – if the register can’t be found.

    WarningSelected core should be halted before reading a register. You should call halt() method before this.
    • where the breakpoint is placed.

    • address (int) – Address of the breakpoint.

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.resume
    libnxembeddedtools.remoteapi.openocd.Interface.resume
    resume(core)

    Resume the specified core.

    Parameters:

    core (int) – Core to resume

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.removeBreakpointsendCmd
    libnxembeddedtools.remoteapi.openocd.Interface.removeBreakpointsendCmd
    removeBreakpoint sendCmd(core, address cmd)

    Remove a breakpoint from Send debugger command to execute on the specified core.

    Parameters:
    • core (int) – Core where the breakpoint is placedto send the command to.address

    • cmd (intstr) – Address of the breakpoint

      .

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.resumesetBreakpoint
    libnxembeddedtools.remoteapi.openocd.Interface.resumesetBreakpoint
    resume setBreakpoint(core, address, length)

    Resume Set a breakpoint on the core at the specified coreaddress.

    Parameters:
    • core (int) – Core

    to resume
    • where to place the breakpoint.

    • address (int) – Address of the breakpoint.

    • length (int) – Length of the access in bytes.

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.sendCmdstep
    libnxembeddedtools.remoteapi.openocd.Interface.sendCmdstep
    sendCmd step(core, cmd)

    Send debugger command to execute Perform a step (single instruction) on the specified core.

    Parameters:

    core (int) – Core to

    send the command to.

    cmd (str) –

    .

    resume

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.setBreakpointwaitHalt
    libnxembeddedtools.remoteapi.openocd.Interface.setBreakpointwaitHalt
    setBreakpoint waitHalt(core, address, length timeout)

    Set a breakpoint Wait for the halt state on the specified core at the specified address.

    Parameters:
    • core (int) – Core where to place the breakpointhalt.address

    • timeout (int) – Address of the breakpoint.length (int) – Length of the access in bytesTimeout in ms.

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.stepwakeupCore
    libnxembeddedtools.remoteapi.openocd.Interface.stepwakeupCore
    step wakeupCore(core)

    Perform a step (single instruction) on Wake up the specified core.

    Parameters:

    core (int) – Core to resumewake up.

    Info

    Core 0 is always waked up.

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.waitHaltwriteCoprocessor
    libnxembeddedtools.remoteapi.openocd.Interface.waitHaltwriteCoprocessor
    waitHalt writeCoprocessor(core, timeout)

    Wait for the halt state on the specified core.

    Parameters:core
    , coprocId, op1, crn, crm, op2, value)

    Read a coprocessor register.

    Parameters:
    • core (int) – Core used to perform the read;

    • coprocId (int) – Coprocessor to read;

    • op1 (int) – op1 to use;

    • crn (int) – crn to use;

    • crm (int) – Core crm to halt.use;timeout

    • op2 (int) – Timeout in ms.

    Anchorlibnxembeddedtools.remoteapi.openocd.Interface.wakeupCorelibnxembeddedtools.remoteapi.openocd.Interface.wakeupCore wakeupCore(core)

    Wake up the specified core.

    Parameters:core
    • op2 to use;

    • value (int) –

    Core to wake up.
    InfoCore 0 is always waked up
    • value to write.

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.writeMemory
    libnxembeddedtools.remoteapi.openocd.Interface.writeMemory
    writeMemory(memType, address, data, wordLen=32)

    Write memory on the target.

    Parameters:
    • memType (MemoryType) – Access type to perform.

    • address (int) – First address to be read.

    • data (list) – Data to write.

    • wordLen (int) – Word length in bits.

    Anchor
    libnxembeddedtools.remoteapi.openocd.Interface.writeRegister
    libnxembeddedtools.remoteapi.openocd.Interface.writeRegister
    writeRegister(core, register, value)

    Write a register from the selected core.

    Parameters:
    • core (int) – Core from which to want to write the register

    • name (str) – Name of the register you want to write.

    • value (int) – Value you want to write in the register.

    Raises:

    Exception – if the register can’t be found.

    Warning

    Selected core should be halted before reading a register. You should call halt() method before this.

    ...