winIDEA SDK
isys::IConnectDebug Struct Reference

Description

This struct defines flags used by isystem.connect API.

#include <i_ConnectTypes.h>

Public Types

enum  EAccessFlags {
  fMonitor = 0x00000000 , fRealTime = 0x00000001 ,
  fMemMask = 0x00000003 , fCore = 0x00000000 ,
  fSFR = 0x00000004 , fSoC = 0x00000008 ,
  fModule = 0x0000000C , fRegMask = 0x0000000C ,
  fCacheNever = 0x00000000 , fCacheDefault = 0x00000010 ,
  fCacheStop = 0x00000020 , fCacheCode = 0x00000030 ,
  fCacheMask = 0x00000030 , fNoRefresh = 0x00000040 ,
  fDirect = 0x00000080 , fAccessFlagsMask = 0x000000FF
}
 Determines what kind of memory access is used. More...
 
enum  EGetAddressFlags {
  gafExpression = 0x00000000 , gafVariables = 0x00001000 ,
  gafLabels = 0x00002000 , gafFunctions = 0x00004000 ,
  gafEnumMask = 0x0000F000 , gafEnumIndexMask = 0x00FF0000 ,
  gafEnumIndexOfs = 16 , gafType2 = 0x00010000 ,
  gafUseFile = 0x80000000 , gafFileMask = 0x7F000000 ,
  gafFileOfs = 24
}
 Used in combination with EAccessFlags. More...
 
enum  EEvaluate {
  efDefaultMemAreaDisplay = 0x00000000 , efNoMemAreaDisplay = 0x01000100 ,
  efVagueFloatEqual = 0x00000200 , efIgnorePointerAssignType = 0x00000400 ,
  efType2 = 0x00010000 , efAllowTernaryOperator = 0x00020000
}
 Used in combination with EAccessFlags. More...
 
enum  ESymbolFlags {
  sVariables = 0x00000001 , sLabels = 0x00000002 ,
  sFunctions = 0x00000004 , sLines = 0x00000008 ,
  sConstants = 0x00000010 , sSourceCode = 0x00000080 ,
  sScopeExact = 0x00000000 , sScopeNarrow = 0x00004000 ,
  sScopeWide = 0x00008000 , sScopeMask = 0x0000C000
}
 Used when retrieving symbol information. More...
 
enum  EBreakpointFlags {
  bAddress = 0x00000000 , bSymbol = 0x00000001 ,
  bSource = 0x00000002 , bAddrMask = 0x00000003 ,
  bHW = 0x00000008 , bSet = 0x00000000 ,
  bClear = 0x00000010 , bEnable = 0x00000020 ,
  bDisable = 0x00000030 , bAll = 0x00000040 ,
  bReapply = 0x00000080 , bSetMask = 0x000000F0 ,
  bHW_accAny = 0x00000000 , bHW_accRD = 0x00010000 ,
  bHW_accWR = 0x00020000 , bHW_accRW = 0x00030000 ,
  bHW_accFetch = 0x00040000 , bHW_accMask = 0x00070000 ,
  bHW_EntireObject = 0x00080000 , bHW_SizeDefault = 0x00000000 ,
  bHW_Size1 = 0x00100000 , bHW_Size2 = 0x00200000 ,
  bHW_Size4 = 0x00300000 , bHW_Size8 = 0x00400000 ,
  bHW_SizeMask = 0x00F00000 , bHW_DataMask = 0x0000FF00 ,
  bHW_DataLSB0 = 0x00000100 , bHW_DataLSB1 = 0x00000200 ,
  bHW_DataLSB2 = 0x00000400 , bHW_DataLSB3 = 0x00000800 ,
  bHW_DataLSB4 = 0x00001000 , bHW_DataLSB5 = 0x00002000 ,
  bHW_DataLSB6 = 0x00004000 , bHW_DataLSB7 = 0x00008000
}
 Used for breakpoint handling. More...
 
enum  ERunControlFlags {
  rNothing = 0x00000000 , rReset = 0x00000001 ,
  rResetAndRun = 0x00000002 , rDownload = 0x00000003 ,
  rStop = 0x00000004 , rRun = 0x00000005 ,
  rStep = 0x00000006 , rStepOver = 0x00000007 ,
  rStepInst = 0x00000008 , rStepOverInst = 0x00000009 ,
  rStepHigh = 0x0000000A , rStepOverHigh = 0x0000000B ,
  rRunUntil = 0x0000000C , rRunUntilReturn = 0x0000000D ,
  rGoto = 0x0000000E , rSnapshot = 0x0000000F ,
  rVerify = 0x00000010 , rDownloadNoCode = 0x00000011 ,
  rAttach = 0x00000012 , rDetach = 0x00000013 ,
  rSlowRunOff = 0x00000014 , rSlowRunOn = 0x00000015 ,
  rRunMask = 0x0000003F , rWaitForStop = 0x00000080 ,
  rWaitTimeout10s = 0x00000000 , rWaitTimeout1s = 0x00000400 ,
  rWaitTimeout3s = 0x00000400 , rWaitTimeout100s = 0x00000800 ,
  rWaitTimeoutInf = 0x00000C00 , rWaitTimeoutMask = 0x00000C00 ,
  rPollingOff = 0x00000100 , rPollingOn = 0x00000200 ,
  rPollingMask = 0x00000300 , rTristateOff = 0x00001000 ,
  rTristateOn = 0x00002000 , rTristateMask = 0x00003000 ,
  rTargetHWConnectOff = 0x00004000 , rTargetHWConnectOn = 0x00008000 ,
  rTargetHWConnectMask = 0x0000C000
}
 For C++ code only. More...
 

Member Enumeration Documentation

◆ EAccessFlags

Determines what kind of memory access is used.

If no flags are specified (value 0 is used), fMonitor, no caching is the default behavior.

Enumerator
fMonitor 

Use regular memory access.

fRealTime 

Use real time access.

fMemMask 

mask for fMonitor and fRealTime values

fCore 

CPU core register or memory access.

fSFR 

Special function register, used only in ReadRegister() and WriteRegister(), ignored in other functions.

fSoC 

SoC bus access, memory area is the bus index to access.

fModule 

SoC module access, memory area is the module index to access.

fCacheNever 

do not cache the access

fCacheDefault 

cache according to server settings

fCacheStop 

cache while the CPU is stopped

fCacheCode 

get code from cached download

fCacheMask 

mask for fCacheXXX values

fNoRefresh 

do not refresh winIDEA GUI after write operation

fDirect 

access memory directly, bypass any programmable devices

fAccessFlagsMask 

higher bits used by individual functions specifically

◆ EBreakpointFlags

Used for breakpoint handling.

Enumerator
bAddress 

Use the aAddress as breakpoint address.

bSymbol 

Use the pszAddress as breakpoint address.

bSource 

Use the pszAddress and dwLine as breakpoint address.

bAddrMask 

mask for address type values

bHW 

it's a HW BP (set/enable/disable apply) if bSet is used, the bHW_XXXX flags are considered

bSet 

Set a breakpoint.

bClear 

Clear a breakpoint.

bEnable 

Enable a breakpoint.

bDisable 

Disable a breakpoint.

bAll 

Use in combination with bClear, bDisable, bEnable and bReapply.

When used, it applies to all configured breakpoints.

bReapply 

reapplies BP if it is active currently

bSetMask 

mask for breakpoint action values

bHW_accAny 

any access to the symbol/address

bHW_accRD 

read access to the symbol/address

bHW_accWR 

write access to the symbol/address

bHW_accRW 

read or write access to the symbol/address

bHW_accFetch 

instruction fetch from the symbol/address

bHW_accMask 

mask to extract access

bHW_EntireObject 

cover entire object specified in symbol

bHW_SizeDefault 

default access size

bHW_Size1 

access size is 1 MAU

bHW_Size2 

access size is 2 MAU

bHW_Size4 

access size is 4 MAU

bHW_Size8 

access size is 8 MAU

bHW_SizeMask 

mask to extract access size

bHW_DataMask 

data mask - the bits set determine which byte of dwLine is used for data value comparison (00 = no data, FF = all)

bHW_DataLSB0 

LSB0 data byte is considered.

bHW_DataLSB1 

LSB1 data byte is considered.

bHW_DataLSB2 

LSB2 data byte is considered.

bHW_DataLSB3 

LSB3 data byte is considered.

bHW_DataLSB4 

LSB4 data byte is considered.

bHW_DataLSB5 

LSB5 data byte is considered.

bHW_DataLSB6 

LSB6 data byte is considered.

bHW_DataLSB7 

LSB7 data byte is considered.

◆ EEvaluate

Used in combination with EAccessFlags.

Enumerator
efDefaultMemAreaDisplay 

if set, setting in winIDEA is used for mem area display

efNoMemAreaDisplay 

if set, memory area is not displayed with pointers and addresses.

It changed from 0x01000000 to 0x01000100, eventually 0x00000100

efVagueFloatEqual 

if vague, 1e-5 tolerance is considered equal

efIgnorePointerAssignType 

if set, pointer type compatibility is not checked on assignments to pointer type

efType2 

if set pType is interpreted as SType2

efAllowTernaryOperator 

the ? and : are valid in expression

◆ EGetAddressFlags

Used in combination with EAccessFlags.

Enumerator
gafExpression 

No enumeration, address of any L-value expression can be retrieved.

gafVariables 

enum variables (data objects)

gafLabels 

enum global code labels

gafFunctions 

enum function objects

gafEnumMask 

mask for gafXXX values

gafEnumIndexMask 

mask for enum index.

Set this, if there is more than one symbol with the same name

gafEnumIndexOfs 

bit offset of the enum index, can be used as shift count.

gafType2 

valid only with gafExpression, if set pType is interpreted as SType2

gafUseFile 

enum specific partition only

gafFileMask 

which partition to use

gafFileOfs 

bit offset of the partition

◆ ERunControlFlags

For C++ code only.

Enumerator
rNothing 

do nothing

rReset 

Reset the CPU.

rResetAndRun 

Reset the CPU, then runs immediately.

rDownload 

Download the executable.

rStop 

Stop the CPU.

rRun 

Run the CPU.

rStep 

Execute a single step instruction or high level step depending on context.

rStepOver 

rStep, do not enter subroutine calls

rStepInst 

Execute a single instruction step.

rStepOverInst 

rStepInst, do not enter subroutine calls

rStepHigh 

Execute a high level step.

rStepOverHigh 

rStepHigh, do not enter function calls

rRunUntil 

Run until aAddress.

rRunUntilReturn 

Run until current function returns.

rGoto 

Preset execution point to aAddress.

rSnapshot 

refresh the IDE

rVerify 

perform verify, S_OK/ICONNECT_E_ERROR/ICONNECT_E_NOT_AVAILABLE return

rDownloadNoCode 

Download without code - initialize target and load symbols.

rAttach 

hot-attach to the target

rDetach 

hot-detach from the target

rSlowRunOff 

switch slow run off. Return: S_OK on success, S_FALSE if already configured, E_NOTIMPL if not implemented, ICONNECT_E_NOT_AVAILABLE if changing is currently not available

rSlowRunOn 

switch slow run on Return: S_OK on success, S_FALSE if already configured, E_NOTIMPL if not implemented, ICONNECT_E_NOT_AVAILABLE if changing is currently not available

rRunMask 

mask for rXXX values

rWaitForStop 

wait for CPU to stop after the current command.

rWaitTimeout10s 

wait 10s for stop

rWaitTimeout1s 

wait 1s for stop. [deprecated] now 3s

rWaitTimeout3s 

wait 3s for stop

rWaitTimeout100s 

wait 100s for stop

rWaitTimeoutInf 

wait infinitely for stop

rWaitTimeoutMask 

mask for rWaitTimeoutXXX values

rPollingOff 

disable periodic polling

rPollingOn 

enable periodic polling (default)

rPollingMask 

mask for rPollingXXX values

rTristateOff 

switch tristate mode off (connect debugger to target)

rTristateOn 

switch tristate mode on (disconnect debugger from target)

rTristateMask 

mask for rTristateXXX values

rTargetHWConnectOff 

physically disconnect from target

rTargetHWConnectOn 

physically connect to target

rTargetHWConnectMask 

mask for rTargetHWConnectXXX values

◆ ESymbolFlags

Used when retrieving symbol information.

Enumerator
sVariables 

Global variables (data objects)

sLabels 

Global code labels.

sFunctions 

High level functions.

sLines 

Source lines.

sConstants 

Global constants.

sSourceCode 

Source line text.

sScopeExact 

return symbol whose starting address matches aAddress exactly

sScopeNarrow 

return symbol which spans over aAddress. For structured types or arrays the narrow scope is returned, e.g. A.B[3].C

sScopeWide 

return symbol which spans over aAddress. For structured types or arrays the wide scope is returned, e.g. A