529 lines
18 KiB
Python
529 lines
18 KiB
Python
# decompyle3 version 3.9.0
|
|
# Python bytecode version base 3.7.0 (3394)
|
|
# Decompiled from: Python 3.7.16 (default, Mar 30 2023, 01:25:49)
|
|
# [GCC 12.2.1 20220924]
|
|
# Embedded file name: pylink/enums.py
|
|
import ctypes
|
|
|
|
class JLinkGlobalErrors(object):
|
|
__doc__ = 'Enumeration for the error codes which any J-Link SDK DLL API-function\n can have as a return value.'
|
|
UNSPECIFIED_ERROR = -1
|
|
EMU_NO_CONNECTION = -256
|
|
EMU_COMM_ERROR = -257
|
|
DLL_NOT_OPEN = -258
|
|
VCC_FAILURE = -259
|
|
INVALID_HANDLE = -260
|
|
NO_CPU_FOUND = -261
|
|
EMU_FEATURE_UNSUPPORTED = -262
|
|
EMU_NO_MEMORY = -263
|
|
TIF_STATUS_ERROR = -264
|
|
FLASH_PROG_COMPARE_FAILED = -265
|
|
FLASH_PROG_PROGRAM_FAILED = -266
|
|
FLASH_PROG_VERIFY_FAILED = -267
|
|
OPEN_FILE_FAILED = -268
|
|
UNKNOWN_FILE_FORMAT = -269
|
|
WRITE_TARGET_MEMORY_FAILED = -270
|
|
DEVICE_FEATURE_NOT_SUPPORTED = -271
|
|
WRONG_USER_CONFIG = -272
|
|
NO_TARGET_DEVICE_SELECTED = -273
|
|
CPU_IN_LOW_POWER_MODE = -274
|
|
|
|
@classmethod
|
|
def to_string(cls, error_code):
|
|
"""Returns the string message for the given ``error_code``.
|
|
|
|
Args:
|
|
cls (JlinkGlobalErrors): the ``JLinkGlobalErrors`` class
|
|
error_code (int): error code to convert
|
|
|
|
Returns:
|
|
An error string corresponding to the error code.
|
|
|
|
Raises:
|
|
ValueError: if the error code is invalid.
|
|
"""
|
|
if error_code == cls.EMU_NO_CONNECTION:
|
|
return 'No connection to emulator.'
|
|
if error_code == cls.EMU_COMM_ERROR:
|
|
return 'Emulator connection error.'
|
|
if error_code == cls.DLL_NOT_OPEN:
|
|
return "DLL has not been opened. Did you call '.connect()'?"
|
|
if error_code == cls.VCC_FAILURE:
|
|
return 'Target system has no power.'
|
|
if error_code == cls.INVALID_HANDLE:
|
|
return 'Given file / memory handle is invalid.'
|
|
if error_code == cls.NO_CPU_FOUND:
|
|
return 'Could not find supported CPU.'
|
|
if error_code == cls.EMU_FEATURE_UNSUPPORTED:
|
|
return 'Emulator does not support the selected feature.'
|
|
if error_code == cls.EMU_NO_MEMORY:
|
|
return 'Emulator out of memory.'
|
|
if error_code == cls.TIF_STATUS_ERROR:
|
|
return 'Target interface error.'
|
|
if error_code == cls.FLASH_PROG_COMPARE_FAILED:
|
|
return 'Programmed data differs from source data.'
|
|
if error_code == cls.FLASH_PROG_PROGRAM_FAILED:
|
|
return 'Programming error occured.'
|
|
if error_code == cls.FLASH_PROG_VERIFY_FAILED:
|
|
return 'Error while verifying programmed data.'
|
|
if error_code == cls.OPEN_FILE_FAILED:
|
|
return 'Specified file could not be opened.'
|
|
if error_code == cls.UNKNOWN_FILE_FORMAT:
|
|
return 'File format of selected file is not supported.'
|
|
if error_code == cls.WRITE_TARGET_MEMORY_FAILED:
|
|
return 'Could not write target memory.'
|
|
if error_code == cls.DEVICE_FEATURE_NOT_SUPPORTED:
|
|
return 'Feature not supported by connected device.'
|
|
if error_code == cls.WRONG_USER_CONFIG:
|
|
return 'User configured DLL parameters incorrectly.'
|
|
if error_code == cls.NO_TARGET_DEVICE_SELECTED:
|
|
return 'User did not specify core to connect to.'
|
|
if error_code == cls.CPU_IN_LOW_POWER_MODE:
|
|
return 'Target CPU is in low power mode.'
|
|
if error_code == cls.UNSPECIFIED_ERROR:
|
|
return 'Unspecified error.'
|
|
raise ValueError('Invalid error code: %d' % error_code)
|
|
|
|
|
|
class JLinkEraseErrors(JLinkGlobalErrors):
|
|
__doc__ = 'Enumeration for the error codes generated during an erase operation.'
|
|
ILLEGAL_COMMAND = -5
|
|
|
|
@classmethod
|
|
def to_string(cls, error_code):
|
|
if error_code == cls.ILLEGAL_COMMAND:
|
|
return 'Failed to erase sector.'
|
|
return super(JLinkEraseErrors, cls).to_string(error_code)
|
|
|
|
|
|
class JLinkFlashErrors(JLinkGlobalErrors):
|
|
__doc__ = 'Enumeration for the error codes generated during a flash operation.'
|
|
COMPARE_ERROR = -2
|
|
PROGRAM_ERASE_ERROR = -3
|
|
VERIFICATION_ERROR = -4
|
|
|
|
@classmethod
|
|
def to_string(cls, error_code):
|
|
if error_code == cls.COMPARE_ERROR:
|
|
return 'Error comparing flash content to programming data.'
|
|
if error_code == cls.PROGRAM_ERASE_ERROR:
|
|
return 'Error during program/erase phase.'
|
|
if error_code == cls.VERIFICATION_ERROR:
|
|
return 'Error verifying programmed data.'
|
|
return super(JLinkFlashErrors, cls).to_string(error_code)
|
|
|
|
|
|
class JLinkWriteErrors(JLinkGlobalErrors):
|
|
__doc__ = 'Enumeration for the error codes generated during a write.'
|
|
ZONE_NOT_FOUND_ERROR = -5
|
|
|
|
@classmethod
|
|
def to_string(cls, error_code):
|
|
if error_code == cls.ZONE_NOT_FOUND_ERROR:
|
|
return 'Zone not found'
|
|
return super(JLinkWriteErrors, cls).to_string(error_code)
|
|
|
|
|
|
class JLinkReadErrors(JLinkGlobalErrors):
|
|
__doc__ = 'Enumeration for the error codes generated during a read.'
|
|
ZONE_NOT_FOUND_ERROR = -5
|
|
|
|
@classmethod
|
|
def to_string(cls, error_code):
|
|
if error_code == cls.ZONE_NOT_FOUND_ERROR:
|
|
return 'Zone not found'
|
|
return super(JLinkReadErrors, cls).to_string(error_code)
|
|
|
|
|
|
class JLinkDataErrors(JLinkGlobalErrors):
|
|
__doc__ = 'Enumeration for the error codes generated when setting a data event.'
|
|
ERROR_UNKNOWN = 2147483648
|
|
ERROR_NO_MORE_EVENTS = 2147483649
|
|
ERROR_NO_MORE_ADDR_COMP = 2147483650
|
|
ERROR_NO_MORE_DATA_COMP = 2147483652
|
|
ERROR_INVALID_ADDR_MASK = 2147483680
|
|
ERROR_INVALID_DATA_MASK = 2147483712
|
|
ERROR_INVALID_ACCESS_MASK = 2147483776
|
|
|
|
@classmethod
|
|
def to_string(cls, error_code):
|
|
if error_code == cls.ERROR_UNKNOWN:
|
|
return 'Unknown error.'
|
|
if error_code == cls.ERROR_NO_MORE_EVENTS:
|
|
return 'There are no more available watchpoint units.'
|
|
if error_code == cls.ERROR_NO_MORE_ADDR_COMP:
|
|
return 'No more address comparisons can be set.'
|
|
if error_code == cls.ERROR_NO_MORE_DATA_COMP:
|
|
return 'No more data comparisons can be set.'
|
|
if error_code == cls.ERROR_INVALID_ADDR_MASK:
|
|
return 'Invalid flags passed for the address mask.'
|
|
if error_code == cls.ERROR_INVALID_DATA_MASK:
|
|
return 'Invalid flags passed for the data mask.'
|
|
if error_code == cls.ERROR_INVALID_ACCESS_MASK:
|
|
return 'Invalid flags passed for the access mask.'
|
|
return super(JLinkDataErrors, cls).to_string(error_code)
|
|
|
|
|
|
class JLinkRTTErrors(JLinkGlobalErrors):
|
|
__doc__ = 'Enumeration for error codes from RTT.'
|
|
RTT_ERROR_CONTROL_BLOCK_NOT_FOUND = -2
|
|
|
|
@classmethod
|
|
def to_string(cls, error_code):
|
|
if error_code == cls.RTT_ERROR_CONTROL_BLOCK_NOT_FOUND:
|
|
return 'The RTT Control Block has not yet been found (wait?)'
|
|
return super(JLinkRTTErrors, cls).to_string(error_code)
|
|
|
|
|
|
class JLinkHost(object):
|
|
__doc__ = 'Enumeration for the different JLink hosts: currently only IP and USB.'
|
|
USB = 1
|
|
IP = 2
|
|
USB_OR_IP = USB | IP
|
|
|
|
|
|
class JLinkInterfaces(object):
|
|
__doc__ = 'Target interfaces for the J-Link.'
|
|
JTAG = 0
|
|
SWD = 1
|
|
FINE = 3
|
|
ICSP = 4
|
|
SPI = 5
|
|
C2 = 6
|
|
|
|
|
|
class JLinkResetStrategyCortexM3(object):
|
|
__doc__ = 'Target reset strategies for the J-Link.\n\n Attributes:\n NORMAL: default reset strategy, does whatever is best to reset.\n CORE: only the core is reset via the ``VECTRESET`` bit.\n RESETPIN: pulls the reset pin low to reset the core and peripherals.\n CONNECT_UNDER_RESET: J-Link connects to target while keeping reset\n active. This is recommented for STM32 devices.\n HALT_AFTER_BTL: halt the core after the bootloader is executed.\n HALT_BEFORE_BTL: halt the core before the bootloader is executed.\n KINETIS: performs a normal reset, but also disables the watchdog.\n ADI_HALT_AFTER_KERNEL: sets the ``SYSRESETREQ`` bit in the ``AIRCR`` in\n order to reset the device.\n CORE_AND_PERIPHERALS: sets the ``SYSRESETREQ`` bit in the ``AIRCR``, and\n the ``VC_CORERESET`` bit in the ``DEMCR`` to make sure that the CPU is\n halted immediately after reset.\n LPC1200: reset for LPC1200 devices.\n S3FN60D: reset for Samsung S3FN60D devices.\n\n Note:\n Please see the J-Link SEGGER Documentation, UM8001, for full information\n about the different reset strategies.\n '
|
|
NORMAL = 0
|
|
CORE = 1
|
|
RESETPIN = 2
|
|
CONNECT_UNDER_RESET = 3
|
|
HALT_AFTER_BTL = 4
|
|
HALT_BEFORE_BTL = 5
|
|
KINETIS = 6
|
|
ADI_HALT_AFTER_KERNEL = 7
|
|
CORE_AND_PERIPHERALS = 8
|
|
LPC1200 = 9
|
|
S3FN60D = 10
|
|
|
|
|
|
class JLinkFunctions(object):
|
|
__doc__ = 'Collection of function prototype and type builders for the J-Link SDK\n API calls.'
|
|
LOG_PROTOTYPE = ctypes.CFUNCTYPE(None, ctypes.c_char_p)
|
|
UNSECURE_HOOK_PROTOTYPE = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_uint32)
|
|
FLASH_PROGRESS_PROTOTYPE = ctypes.CFUNCTYPE(None, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int)
|
|
|
|
|
|
class JLinkCore(object):
|
|
__doc__ = 'Enumeration for the different CPU core identifiers.\n\n These are the possible cores for targets the J-Link is connected to.\n Note that these are bitfields.'
|
|
NONE = 0
|
|
ANY = 4294967295
|
|
CORTEX_M1 = 16777471
|
|
COLDFIRE = 50331647
|
|
CORTEX_M3 = 50331903
|
|
CORTEX_M3_R1P0 = 50331664
|
|
CORTEX_M3_R1P1 = 50331665
|
|
CORTEX_M3_R2P0 = 50331680
|
|
SIM = 83886079
|
|
XSCALE = 100663295
|
|
CORTEX_M0 = 100663551
|
|
CORTEX_M_V8BASEL = 100729087
|
|
ARM7 = 134217727
|
|
ARM7TDMI = 117440767
|
|
ARM7TDMI_R3 = 117440575
|
|
ARM7TDMI_R4 = 117440591
|
|
ARM7TDMI_S = 117441023
|
|
ARM7TDMI_S_R3 = 117440831
|
|
ARM7TDMI_S_R4 = 117440847
|
|
CORTEX_A8 = 134217983
|
|
CORTEX_A7 = 134742271
|
|
CORTEX_A9 = 134807807
|
|
CORTEX_A12 = 134873343
|
|
CORTEX_A15 = 134938879
|
|
CORTEX_A17 = 135004415
|
|
ARM9 = 167772159
|
|
ARM9TDMI_S = 150995455
|
|
ARM920T = 153092351
|
|
ARM922T = 153223423
|
|
ARM926EJ_S = 153485823
|
|
ARM946E_S = 155582975
|
|
ARM966E_S = 157680127
|
|
ARM968E_S = 157811199
|
|
ARM11 = 201326591
|
|
ARM1136 = 188153855
|
|
ARM1136J = 188089087
|
|
ARM1136J_S = 188089343
|
|
ARM1136JF = 188090111
|
|
ARM1136JF_S = 188090367
|
|
ARM1156 = 190251007
|
|
ARM1176 = 192348159
|
|
ARM1176J = 192283391
|
|
ARM1176J_S = 192283647
|
|
ARM1176JF = 192284415
|
|
ARM1176JF_S = 192284671
|
|
CORTEX_R4 = 201326847
|
|
CORTEX_R5 = 201392383
|
|
RX = 234881023
|
|
RX610 = 218169343
|
|
RX62N = 218234879
|
|
RX62T = 218300415
|
|
RX63N = 218365951
|
|
RX630 = 218431487
|
|
RX63T = 218497023
|
|
RX621 = 218562559
|
|
RX62G = 218628095
|
|
RX631 = 218693631
|
|
RX210 = 219217919
|
|
RX21A = 219283455
|
|
RX220 = 219348991
|
|
RX230 = 219414527
|
|
RX231 = 219480063
|
|
RX23T = 219545599
|
|
RX111 = 220266495
|
|
RX110 = 220332031
|
|
RX113 = 220397567
|
|
RX64M = 221315071
|
|
RX71M = 221380607
|
|
CORTEX_M4 = 234881279
|
|
CORTEX_M7 = 234946815
|
|
CORTEX_M_V8MAINL = 235012351
|
|
CORTEX_A5 = 251658495
|
|
POWER_PC = 285212671
|
|
POWER_PC_N1 = 285147391
|
|
POWER_PC_N2 = 285147647
|
|
MIPS = 301989887
|
|
MIPS_M4K = 285278207
|
|
MIPS_MICROAPTIV = 285343743
|
|
EFM8_UNSPEC = 318767103
|
|
CIP51 = 302055423
|
|
|
|
|
|
class JLinkDeviceFamily(object):
|
|
__doc__ = 'Enumeration for the difference device families.\n\n These are the possible device families for targets that the J-Link is\n connected to.'
|
|
AUTO = 0
|
|
CORTEX_M1 = 1
|
|
COLDFIRE = 2
|
|
CORTEX_M3 = 3
|
|
SIMULATOR = 4
|
|
XSCALE = 5
|
|
CORTEX_M0 = 6
|
|
ARM7 = 7
|
|
CORTEX_A8 = 8
|
|
CORTEX_A9 = 8
|
|
ARM9 = 9
|
|
ARM10 = 10
|
|
ARM11 = 11
|
|
CORTEX_R4 = 12
|
|
RX = 13
|
|
CORTEX_M4 = 14
|
|
CORTEX_A5 = 15
|
|
POWERPC = 16
|
|
MIPS = 17
|
|
EFM8 = 18
|
|
ANY = 255
|
|
|
|
|
|
class JLinkFlags(object):
|
|
__doc__ = 'Enumeration for the different flags that are passed to the J-Link C SDK\n API methods.'
|
|
GO_OVERSTEP_BP = 1
|
|
DLG_BUTTON_YES = 1
|
|
DLG_BUTTON_NO = 2
|
|
DLG_BUTTON_OK = 4
|
|
DLG_BUTTON_CANCEL = 8
|
|
HW_PIN_STATUS_LOW = 0
|
|
HW_PIN_STATUS_HIGH = 1
|
|
HW_PIN_STATUS_UNKNOWN = 255
|
|
|
|
|
|
class JLinkSWOInterfaces(object):
|
|
__doc__ = 'Serial Wire Output (SWO) interfaces.'
|
|
UART = 0
|
|
MANCHESTER = 1
|
|
|
|
|
|
class JLinkSWOCommands(object):
|
|
__doc__ = 'Serial Wire Output (SWO) commands.'
|
|
START = 0
|
|
STOP = 1
|
|
FLUSH = 2
|
|
GET_SPEED_INFO = 3
|
|
GET_NUM_BYTES = 10
|
|
SET_BUFFERSIZE_HOST = 20
|
|
SET_BUFFERSIZE_EMU = 21
|
|
|
|
|
|
class JLinkCPUCapabilities(object):
|
|
__doc__ = 'Target CPU Cabilities.'
|
|
READ_MEMORY = 2
|
|
WRITE_MEMORY = 4
|
|
READ_REGISTERS = 8
|
|
WRITE_REGISTERS = 16
|
|
GO = 32
|
|
STEP = 64
|
|
HALT = 128
|
|
IS_HALTED = 256
|
|
RESET = 512
|
|
RUN_STOP = 1024
|
|
TERMINAL = 2048
|
|
DCC = 16384
|
|
HSS = 32768
|
|
|
|
|
|
class JLinkHaltReasons(object):
|
|
__doc__ = 'Halt reasons for the CPU.\n\n Attributes:\n DBGRQ: CPU has been halted because DBGRQ signal asserted.\n CODE_BREAKPOINT: CPU has been halted because of code breakpoint match.\n DATA_BREAKPOINT: CPU has been halted because of data breakpoint match.\n VECTOR_CATCH: CPU has been halted because of vector catch.\n '
|
|
DBGRQ = 0
|
|
CODE_BREAKPOINT = 1
|
|
DATA_BREAKPOINT = 2
|
|
VECTOR_CATCH = 3
|
|
|
|
|
|
class JLinkVectorCatchCortexM3(object):
|
|
__doc__ = 'Vector catch types for the ARM Cortex M3.\n\n Attributes:\n CORE_RESET: The CPU core reset.\n MEM_ERROR: A memory management error occurred.\n COPROCESSOR_ERROR: Usage fault error accessing the Coprocessor.\n CHECK_ERROR: Usage fault error on enabled check.\n STATE_ERROR: Usage fault state error.\n BUS_ERROR: Normal bus error.\n INT_ERROR: Interrupt or exception service error.\n HARD_ERROR: Hard fault error.\n '
|
|
CORE_RESET = 1
|
|
MEM_ERROR = 16
|
|
COPROCESSOR_ERROR = 32
|
|
CHECK_ERROR = 64
|
|
STATE_ERROR = 128
|
|
BUS_ERROR = 256
|
|
INT_ERROR = 512
|
|
HARD_ERROR = 1024
|
|
|
|
|
|
class JLinkBreakpoint(object):
|
|
__doc__ = 'J-Link breakpoint types.\n\n Attributes:\n SW_RAM: Software breakpont located in RAM.\n SW_FLASH: Software breakpoint located in flash.\n SW: Software breakpoint located in RAM or flash.\n HW: Hardware breakpoint.\n ANY: Allows specifying any time of breakpoint.\n ARM: Breakpoint in ARM mode (only available on ARM 7/9 cores).\n THUMB: Breakpoint in THUMB mode (only available on ARM 7/9 cores).\n '
|
|
SW_RAM = 16
|
|
SW_FLASH = 32
|
|
SW = 240
|
|
HW = 4294967040
|
|
ANY = 4294967280
|
|
ARM = 1
|
|
THUMB = 2
|
|
|
|
|
|
class JLinkBreakpointImplementation(object):
|
|
__doc__ = 'J-Link breakpoint implementation types.\n\n Attributes:\n HARD: Hardware breakpoint using a breakpoint unit.\n SOFT: Software breakpoint using a breakpoint instruction.\n PENDING: Breakpoint has not been set yet.\n FLASH: Breakpoint set in flash.\n '
|
|
HARD = 1
|
|
SOFT = 2
|
|
PENDING = 4
|
|
FLASH = 16
|
|
|
|
|
|
class JLinkEventTypes(object):
|
|
__doc__ = 'J-Link data event types.\n\n Attributes:\n BREAKPOINT: breakpoint data event.\n '
|
|
BREAKPOINT = 1
|
|
|
|
|
|
class JLinkAccessFlags(object):
|
|
__doc__ = 'J-Link access types for data events.\n\n These access types allow specifying the different types of access events\n that should be monitored.\n\n Attributes:\n READ: specifies to monitor read accesses.\n WRITE: specifies to monitor write accesses.\n PRIVILEGED: specifies to monitor privileged accesses.\n SIZE_8BIT: specifies to monitor an 8-bit access width.\n SIZE_16BIT: specifies to monitor an 16-bit access width.\n SIZE_32BIT: specifies to monitor an 32-bit access width.\n '
|
|
READ = 0
|
|
WRITE = 1
|
|
PRIV = 16
|
|
SIZE_8BIT = 0
|
|
SIZE_16BIT = 2
|
|
SIZE_32BIT = 4
|
|
|
|
|
|
class JLinkAccessMaskFlags(object):
|
|
__doc__ = 'J-Link access mask flags.\n\n Attributes:\n SIZE: specifies to not care about the access size of the event.\n DIR: specifies to not care about the access direction of the event.\n PRIV: specifies to not care about the access privilege of the event.\n '
|
|
SIZE = 6
|
|
DIR = 1
|
|
PRIV = 16
|
|
|
|
|
|
class JLinkStraceCommand(object):
|
|
__doc__ = 'STRACE commmands.'
|
|
TRACE_EVENT_SET = 0
|
|
TRACE_EVENT_CLR = 1
|
|
TRACE_EVENT_CLR_ALL = 2
|
|
SET_BUFFER_SIZE = 3
|
|
|
|
|
|
class JLinkStraceEvent(object):
|
|
__doc__ = 'STRACE events.'
|
|
CODE_FETCH = 0
|
|
DATA_ACCESS = 1
|
|
DATA_LOAD = 2
|
|
DATA_STORE = 3
|
|
|
|
|
|
class JLinkStraceOperation(object):
|
|
__doc__ = 'STRACE operation specifiers.'
|
|
TRACE_START = 0
|
|
TRACE_STOP = 1
|
|
TRACE_INCLUDE_RANGE = 2
|
|
TRACE_EXCLUDE_RANGE = 3
|
|
|
|
|
|
class JLinkTraceSource(object):
|
|
__doc__ = 'Sources for tracing.'
|
|
ETB = 0
|
|
ETM = 1
|
|
MTB = 2
|
|
|
|
|
|
class JLinkTraceCommand(object):
|
|
__doc__ = 'J-Link trace commands.'
|
|
START = 0
|
|
STOP = 1
|
|
FLUSH = 2
|
|
GET_NUM_SAMPLES = 16
|
|
GET_CONF_CAPACITY = 17
|
|
SET_CAPACITY = 18
|
|
GET_MIN_CAPACITY = 19
|
|
GET_MAX_CAPACITY = 20
|
|
SET_FORMAT = 32
|
|
GET_FORMAT = 33
|
|
GET_NUM_REGIONS = 48
|
|
GET_REGION_PROPS = 49
|
|
GET_REGION_PROPS_EX = 50
|
|
|
|
|
|
class JLinkTraceFormat(object):
|
|
__doc__ = 'J-Link trace formats.\n\n Attributes:\n FORMAT_4BIT: 4-bit data.\n FORMAT_8BIT: 8-bit data.\n FORMAT_16BIT: 16-bit data.\n FORMAT_MULTIPLEXED: multiplexing on ETM / buffer link.\n FORMAT_DEMULTIPLEXED: de-multiplexing on ETM / buffer link.\n FORMAT_DOUBLE_EDGE: clock data on both ETM / buffer link edges.\n FORMAT_ETM7_9: ETM7/ETM9 protocol.\n FORMAT_ETM10: ETM10 protocol.\n FORMAT_1BIT: 1-bit data.\n FORMAT_2BIT: 2-bit data.\n '
|
|
FORMAT_4BIT = 1
|
|
FORMAT_8BIT = 2
|
|
FORMAT_16BIT = 4
|
|
FORMAT_MULTIPLEXED = 8
|
|
FORMAT_DEMULTIPLEXED = 16
|
|
FORMAT_DOUBLE_EDGE = 32
|
|
FORMAT_ETM7_9 = 64
|
|
FORMAT_ETM10 = 128
|
|
FORMAT_1BIT = 256
|
|
FORMAT_2BIT = 512
|
|
|
|
|
|
class JLinkROMTable(object):
|
|
__doc__ = 'The J-Link ROM tables.'
|
|
NONE = 256
|
|
ETM = 257
|
|
MTB = 258
|
|
TPIU = 259
|
|
ITM = 260
|
|
DWT = 261
|
|
FPB = 262
|
|
NVIC = 263
|
|
TMC = 264
|
|
TF = 265
|
|
PTM = 266
|
|
ETB = 267
|
|
DBG = 268
|
|
APBAP = 269
|
|
AHBAP = 270
|
|
SECURE = 271
|
|
|
|
|
|
class JLinkRTTCommand(object):
|
|
__doc__ = 'RTT commands.'
|
|
START = 0
|
|
STOP = 1
|
|
GETDESC = 2
|
|
GETNUMBUF = 3
|
|
GETSTAT = 4
|
|
|
|
|
|
class JLinkRTTDirection(object):
|
|
__doc__ = 'RTT Direction.'
|
|
UP = 0
|
|
DOWN = 1
|
|
# okay decompiling ./pylink/enums.pyc
|