This interface extends debug functionality of IConnectDebug with some advanced operations. More...
#include <i_Connect.h>
Classes | |
| struct | SDownload |
| Structure with download configuration. More... | |
Public Types | |
| enum | EAccessFlags { fMonitor = isys::IConnectDebug::EAccessFlags::fMonitor , fRealTime = isys::IConnectDebug::EAccessFlags::fRealTime , fMemMask = isys::IConnectDebug::EAccessFlags::fMemMask , fCore = isys::IConnectDebug::EAccessFlags::fCore , fSFR = isys::IConnectDebug::EAccessFlags::fSFR , fSoC = isys::IConnectDebug::EAccessFlags::fSoC , fModule = isys::IConnectDebug::EAccessFlags::fModule , fRegMask = isys::IConnectDebug::EAccessFlags::fRegMask , fCacheNever = isys::IConnectDebug::EAccessFlags::fCacheNever , fCacheDefault = isys::IConnectDebug::EAccessFlags::fCacheDefault , fCacheStop = isys::IConnectDebug::EAccessFlags::fCacheStop , fCacheCode = isys::IConnectDebug::EAccessFlags::fCacheCode , fCacheMask = isys::IConnectDebug::EAccessFlags::fCacheMask , fNoRefresh = isys::IConnectDebug::EAccessFlags::fNoRefresh , fDirect = isys::IConnectDebug::EAccessFlags::fDirect , fAccessFlagsMask = isys::IConnectDebug::EAccessFlags::fAccessFlagsMask } |
| enum | EBreakpointFlags { bAddress = isys::IConnectDebug::EBreakpointFlags::bAddress , bSymbol = isys::IConnectDebug::EBreakpointFlags::bSymbol , bSource = isys::IConnectDebug::EBreakpointFlags::bSource , bAddrMask = isys::IConnectDebug::EBreakpointFlags::bAddrMask , bHW = isys::IConnectDebug::EBreakpointFlags::bHW , bSet = isys::IConnectDebug::EBreakpointFlags::bSet , bClear = isys::IConnectDebug::EBreakpointFlags::bClear , bEnable = isys::IConnectDebug::EBreakpointFlags::bEnable , bDisable = isys::IConnectDebug::EBreakpointFlags::bDisable , bAll = isys::IConnectDebug::EBreakpointFlags::bAll , bReapply = isys::IConnectDebug::EBreakpointFlags::bReapply , bSetMask = isys::IConnectDebug::EBreakpointFlags::bSetMask , bHW_accAny = isys::IConnectDebug::EBreakpointFlags::bHW_accAny , bHW_accRD = isys::IConnectDebug::EBreakpointFlags::bHW_accRD , bHW_accWR = isys::IConnectDebug::EBreakpointFlags::bHW_accWR , bHW_accRW = isys::IConnectDebug::EBreakpointFlags::bHW_accRW , bHW_accFetch = isys::IConnectDebug::EBreakpointFlags::bHW_accFetch , bHW_accMask = isys::IConnectDebug::EBreakpointFlags::bHW_accMask , bHW_EntireObject = isys::IConnectDebug::EBreakpointFlags::bHW_EntireObject , bHW_SizeDefault = isys::IConnectDebug::EBreakpointFlags::bHW_SizeDefault , bHW_Size1 = isys::IConnectDebug::EBreakpointFlags::bHW_Size1 , bHW_Size2 = isys::IConnectDebug::EBreakpointFlags::bHW_Size2 , bHW_Size4 = isys::IConnectDebug::EBreakpointFlags::bHW_Size4 , bHW_Size8 = isys::IConnectDebug::EBreakpointFlags::bHW_Size8 , bHW_SizeMask = isys::IConnectDebug::EBreakpointFlags::bHW_SizeMask , bHW_DataMask = isys::IConnectDebug::EBreakpointFlags::bHW_DataMask , bHW_DataLSB0 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB0 , bHW_DataLSB1 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB1 , bHW_DataLSB2 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB2 , bHW_DataLSB3 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB3 , bHW_DataLSB4 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB4 , bHW_DataLSB5 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB5 , bHW_DataLSB6 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB6 , bHW_DataLSB7 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB7 } |
| Obtains status of the CPU. More... | |
| enum | ECodeCacheOp { ccOpRead = isys::IConnectDebug2::ECodeCacheOp::ccOpRead , ccOpWrite = isys::IConnectDebug2::ECodeCacheOp::ccOpWrite , ccOpLoad = isys::IConnectDebug2::ECodeCacheOp::ccOpLoad , ccOpSave = isys::IConnectDebug2::ECodeCacheOp::ccOpSave , ccOpGet = isys::IConnectDebug2::ECodeCacheOp::ccOpGet , ccOpVerify = isys::IConnectDebug2::ECodeCacheOp::ccOpVerify , ccOpVerifySave = isys::IConnectDebug2::ECodeCacheOp::ccOpVerifySave , ccOpMask = isys::IConnectDebug2::ECodeCacheOp::ccOpMask , ccSrcLoaded = isys::IConnectDebug2::ECodeCacheOp::ccSrcLoaded , ccSrcInFiles = isys::IConnectDebug2::ECodeCacheOp::ccSrcInFiles , ccSrcFiltered = isys::IConnectDebug2::ECodeCacheOp::ccSrcFiltered , ccSrcMask = isys::IConnectDebug2::ECodeCacheOp::ccSrcMask , ccSaveFormatMotorolaS37 = isys::IConnectDebug2::ECodeCacheOp::ccSaveFormatMotorolaS37 , ccSaveFormatIntelHex = isys::IConnectDebug2::ECodeCacheOp::ccSaveFormatIntelHex , ccSaveFormatBinary = isys::IConnectDebug2::ECodeCacheOp::ccSaveFormatBinary , ccSaveFormatMask = isys::IConnectDebug2::ECodeCacheOp::ccSaveFormatMask , ccSaveBytes10 = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytes10 , ccSaveBytes20 = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytes20 , ccSaveBytes40 = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytes40 , ccSaveBytes80 = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytes80 , ccSaveBytesMask = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytesMask , ccNoData = isys::IConnectDebug2::ECodeCacheOp::ccNoData } |
| enum | ECore { cLaunch = 0x00000001 , cPrimaryIs0 = 0x00000002 } |
| Flags for dwCoreFlags parameter of Core function. More... | |
| enum | EDownload { dIndexMask = 0x000000FF , dActionMask = 0x00000700 , daDownload = 0x00000100 , daDLFromList = 0x00000200 , daAddToList = 0x00000300 , daGet = 0x00000400 , daRemove = 0x00000500 , daRemoveAll = 0x00000600 , dListMask = 0x00003000 , dListMain = 0x00000000 , dListTarget = 0x00001000 , dRealTime = 0x00010000 , dAbsolutePath = 0x00020000 } |
| Flags to be used with IConnectDebug2::Download() method. More... | |
| enum | EEvaluate { efDefaultMemAreaDisplay = isys::IConnectDebug::EEvaluate::efDefaultMemAreaDisplay , efNoMemAreaDisplay = isys::IConnectDebug::EEvaluate::efNoMemAreaDisplay , efVagueFloatEqual = isys::IConnectDebug::EEvaluate::efVagueFloatEqual , efIgnorePointerAssignType = isys::IConnectDebug::EEvaluate::efIgnorePointerAssignType , efType2 = isys::IConnectDebug::EEvaluate::efType2 , efAllowTernaryOperator = isys::IConnectDebug::EEvaluate::efAllowTernaryOperator } |
| enum | EGetAddressFlags { gafExpression = isys::IConnectDebug::EGetAddressFlags::gafExpression , gafVariables = isys::IConnectDebug::EGetAddressFlags::gafVariables , gafLabels = isys::IConnectDebug::EGetAddressFlags::gafLabels , gafFunctions = isys::IConnectDebug::EGetAddressFlags::gafFunctions , gafEnumMask = isys::IConnectDebug::EGetAddressFlags::gafEnumMask , gafEnumIndexMask = isys::IConnectDebug::EGetAddressFlags::gafEnumIndexMask , gafEnumIndexOfs = isys::IConnectDebug::EGetAddressFlags::gafEnumIndexOfs , gafType2 = isys::IConnectDebug::EGetAddressFlags::gafType2 , gafUseFile = isys::IConnectDebug::EGetAddressFlags::gafUseFile , gafFileMask = isys::IConnectDebug::EGetAddressFlags::gafFileMask , gafFileOfs = isys::IConnectDebug::EGetAddressFlags::gafFileOfs } |
| enum | EMemoryAccessFlags |
| Used in combination with EAccessFlags. More... | |
| enum | EMethodIndex { } |
| Enumeration of methods. More... | |
| enum | EModify { mfModifyToResult = 0x01000000 , mfModifyNoReadBack = 0x02000000 } |
| Defines modifications. More... | |
| enum | ERunControlFlags { rNothing = isys::IConnectDebug::ERunControlFlags::rNothing , rReset = isys::IConnectDebug::ERunControlFlags::rReset , rResetAndRun = isys::IConnectDebug::ERunControlFlags::rResetAndRun , rDownload = isys::IConnectDebug::ERunControlFlags::rDownload , rStop = isys::IConnectDebug::ERunControlFlags::rStop , rRun = isys::IConnectDebug::ERunControlFlags::rRun , rStep = isys::IConnectDebug::ERunControlFlags::rStep , rStepOver = isys::IConnectDebug::ERunControlFlags::rStepOver , rStepInst = isys::IConnectDebug::ERunControlFlags::rStepInst , rStepOverInst = isys::IConnectDebug::ERunControlFlags::rStepOverInst , rStepHigh = isys::IConnectDebug::ERunControlFlags::rStepHigh , rStepOverHigh = isys::IConnectDebug::ERunControlFlags::rStepOverHigh , rRunUntil = isys::IConnectDebug::ERunControlFlags::rRunUntil , rRunUntilReturn = isys::IConnectDebug::ERunControlFlags::rRunUntilReturn , rGoto = isys::IConnectDebug::ERunControlFlags::rGoto , rSnapshot = isys::IConnectDebug::ERunControlFlags::rSnapshot , rVerify = isys::IConnectDebug::ERunControlFlags::rVerify , rDownloadNoCode = isys::IConnectDebug::ERunControlFlags::rDownloadNoCode , rAttach = isys::IConnectDebug::ERunControlFlags::rAttach , rDetach = isys::IConnectDebug::ERunControlFlags::rDetach , rSlowRunOff = isys::IConnectDebug::ERunControlFlags::rSlowRunOff , rSlowRunOn = isys::IConnectDebug::ERunControlFlags::rSlowRunOn , rRunMask = isys::IConnectDebug::ERunControlFlags::rRunMask , rWaitForStop = isys::IConnectDebug::ERunControlFlags::rWaitForStop , rWaitTimeout10s = isys::IConnectDebug::ERunControlFlags::rWaitTimeout10s , rWaitTimeout1s = isys::IConnectDebug::ERunControlFlags::rWaitTimeout1s , rWaitTimeout3s = isys::IConnectDebug::ERunControlFlags::rWaitTimeout3s , rWaitTimeout100s = isys::IConnectDebug::ERunControlFlags::rWaitTimeout100s , rWaitTimeoutInf = isys::IConnectDebug::ERunControlFlags::rWaitTimeoutInf , rWaitTimeoutMask = isys::IConnectDebug::ERunControlFlags::rWaitTimeoutMask , rPollingOff = isys::IConnectDebug::ERunControlFlags::rPollingOff , rPollingOn = isys::IConnectDebug::ERunControlFlags::rPollingOn , rPollingMask = isys::IConnectDebug::ERunControlFlags::rPollingMask , rTristateOff = isys::IConnectDebug::ERunControlFlags::rTristateOff , rTristateOn = isys::IConnectDebug::ERunControlFlags::rTristateOn , rTristateMask = isys::IConnectDebug::ERunControlFlags::rTristateMask , rTargetHWConnectOff = isys::IConnectDebug::ERunControlFlags::rTargetHWConnectOff , rTargetHWConnectOn = isys::IConnectDebug::ERunControlFlags::rTargetHWConnectOn , rTargetHWConnectMask = isys::IConnectDebug::ERunControlFlags::rTargetHWConnectMask } |
| enum | ESourceFlags { sExact = 0x00000001 , sAbsolutePath = 0x00000002 , sReportSize = 0x00000004 , sSrcAuto = 0x00000000 , sSrcSymFile = 0x00000010 , sSrcLocated = 0x00000020 , sSrcMask = 0x00000030 } |
| Defines source flags. More... | |
| enum | EStatusFlags { tCPU = 0x00000000 , tMask = 0x0000000F , rCurrent = 0x00000000 , rRefresh = 0x00000010 , rMask = 0x000000F0 , sWantStopReason = 0x00000100 } |
| Defines status flags. More... | |
| enum | ESymbolFlags { sVariables = isys::IConnectDebug::ESymbolFlags::sVariables , sLabels = isys::IConnectDebug::ESymbolFlags::sLabels , sFunctions = isys::IConnectDebug::ESymbolFlags::sFunctions , sLines = isys::IConnectDebug::ESymbolFlags::sLines , sConstants = isys::IConnectDebug::ESymbolFlags::sConstants , sSourceCode = isys::IConnectDebug::ESymbolFlags::sSourceCode , sScopeExact = isys::IConnectDebug::ESymbolFlags::sScopeExact , sScopeNarrow = isys::IConnectDebug::ESymbolFlags::sScopeNarrow , sScopeWide = isys::IConnectDebug::ESymbolFlags::sScopeWide , sScopeMask = isys::IConnectDebug::ESymbolFlags::sScopeMask } |
Public Member Functions | |
| virtual isys::HResult | BatchAccess (DWORD dwBatchAccessFlags, const struct SBatchAccessHeader *pBatchAccessHeader, const struct SBatchAccessItem *pBatchAccessItems, SBatchAccessItemResult *pBatchAccessItemResults)=0 |
| DEPRECATED: replaced by isys::CAccessBatch. | |
| virtual isys::HResult | Core (DWORD dwCoreFlags, BYTE byCore, LPSTR pszCoreID, DWORD dwCoreIDLen)=0 |
| Core function manipulates secondary cores of the CPU. | |
| virtual isys::HResult | Evaluate (DWORD dwAccessFlags, const char *pszExpression, LPSTR pszResult, DWORD dwResultLen, SValue *pValue, SType *pType)=0 |
| Evaluates an expression. | |
| virtual isys::HResult | GetAddress (DWORD dwGetAddressFlags, const char *pszExpression, BYTE *pbyMemArea, ADDRESS *paAddress, ADDRESS *paSizeMAUs, SType *pType)=0 |
| Returns address and size of an object, like a global symbol, function, etc. | |
| virtual isys::HResult | GetAddress64 (DWORD dwGetAddressFlags, const char *pszExpression, BYTE *pbyMemArea, ADDRESS_64 *paAddress, ADDRESS_64 *paSizeMAUs, SType *pType)=0 |
| Get 64-bit address of object. | |
| virtual isys::HResult | GetAddressSource (DWORD dwSourceFlags, ADDRESS aAddress, LPSTR pszFileName, DWORD dwFileNameLen, DWORD *pdwLine)=0 |
| Returns the source (line number and file name) matching to an address. | |
| virtual isys::HResult | GetAddressSource64 (DWORD dwSourceFlags, ADDRESS_64 aAddress, LPSTR pszFileName, DWORD dwFileNameLen, DWORD *pdwLine)=0 |
| Get file and line numberof source corresponding to instruction at address aAddress. | |
| virtual isys::HResult | GetSourceAddress (DWORD dwSourceFlags, const char *pszFileName, DWORD dwLine, ADDRESS *paAddress, DWORD *pdwNumAddresses)=0 |
| Returns the address(es) of a source line. | |
| virtual isys::HResult | GetSourceAddress64 (DWORD dwSourceFlags, const char *pszFileName, DWORD dwLine, ADDRESS_64 *paAddress, DWORD *pdwNumAddresses)=0 |
| Get addresses to which source line translates. | |
| virtual isys::HResult | GetSymbol (DWORD dwSymbolFlags, BYTE byMemArea, ADDRESS aAddress, LPSTR pszName, DWORD dwNameLen)=0 |
| Returns the name of the symbol on the specified address. | |
| virtual isys::HResult | GetSymbol64 (DWORD dwSymbolFlags, BYTE byMemArea, ADDRESS_64 aAddress, LPSTR pszName, DWORD dwNameLen)=0 |
| Get symbol at 64-bit address. | |
| virtual isys::HResult | Modify (DWORD dwModifyFlags, const char *pszExpression, LPSTR pszResult, DWORD dwResultLen, const SValue *pValue, const SType *pType)=0 |
| Modifies pszExpression to pValue or pszResult, if mfModifyToResult is set. | |
| virtual isys::HResult | ReadMemory (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS aAddress, ADDRESS aNumMAUs, BYTE *pbyBuf, BYTE byBytesPerMAU, BYTE *pbyAccessInfo)=0 |
| Reads memory from the target system. | |
| virtual isys::HResult | ReadMemory64 (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS_64 aAddress, ADDRESS_64 aNumMAUs, BYTE *pbyBuf, BYTE byBytesPerMAU, BYTE *pbyAccessInfo)=0 |
| Trace memory reads at aAddress, from aAddress to aAddress + aNumMAUS - 1. | |
| virtual isys::HResult | ReadRegister (DWORD dwAccessFlags, const char *pszRegisterName, SValue *pValue, SType *pType)=0 |
| Reads the specified register. | |
| virtual isys::HResult | ReadValue (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS aAddress, SValue *pValue, const SType *pType)=0 |
| Reads a value from the target system. | |
| virtual isys::HResult | ReadValue64 (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS_64 aAddress, SValue *pValue, const SType *pType)=0 |
| Read value from memory at address aAddress. | |
| virtual isys::HResult | RunControl (DWORD dwRunControlFlags, BYTE byMemArea, ADDRESS aAddress)=0 |
| Performs a run control operation. | |
| virtual isys::HResult | RunControl64 (DWORD dwRunControlFlags, BYTE byMemArea, ADDRESS_64 aAddress)=0 |
| Obtains status of the CPU. | |
| virtual isys::HResult | SetBreakpoint (DWORD dwBreakpointFlags, BYTE byMemArea, ADDRESS aAddress, const char *pszAddress, DWORD dwLine)=0 |
| Controls breakpoint setting. | |
| virtual isys::HResult | SetBreakpointCond (DWORD dwBreakpointFlags, BYTE byMemArea, ADDRESS aAddress, const char *pszAddress, DWORD dwLine, DWORD dwCondCount, const char *pszCondExpression)=0 |
| Controls conditional breakpoint setting. | |
| virtual isys::HResult | SetBreakpointCond64 (DWORD dwBreakpointFlags, BYTE byMemArea, ADDRESS_64 aAddress, const char *pszAddress, DWORD dwLine, DWORD dwCondCount, const char *pszCondExpression)=0 |
| Set conditions for breakpoint at aAddress. | |
| virtual isys::HResult | WriteMemory (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS aAddress, ADDRESS aNumMAUs, const BYTE *pbyBuf, BYTE byBytesPerMAU, BYTE *pbyAccessInfo)=0 |
| Writes memory to the target system. | |
| virtual isys::HResult | WriteMemory64 (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS_64 aAddress, ADDRESS_64 aNumMAUs, const BYTE *pbyBuf, BYTE byBytesPerMAU, BYTE *pbyAccessInfo)=0 |
| Trace memory writes at aAddress, from aAddress to aAddress + aNumMAUs - 1. | |
| virtual isys::HResult | WriteRegister (DWORD dwAccessFlags, const char *pszRegisterName, const SValue *pValue, const SType *pType)=0 |
| Writes the specified register. | |
| virtual isys::HResult | WriteValue (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS aAddress, const SValue *pValue, const SType *pType)=0 |
| Writes a value to the target system. | |
| virtual isys::HResult | WriteValue64 (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS_64 aAddress, const SValue *pValue, const SType *pType)=0 |
| Writes a value to the target system. | |
This interface extends debug functionality of IConnectDebug with some advanced operations.
|
inherited |
| Enumerator | |
|---|---|
| fMonitor | |
| fRealTime | |
| fMemMask | |
| fCore | |
| fSFR | |
| fSoC | |
| fModule | |
| fRegMask | |
| fCacheNever | |
| fCacheDefault | |
| fCacheStop | |
| fCacheCode | |
| fCacheMask | |
| fNoRefresh | |
| fDirect | |
| fAccessFlagsMask | |
|
inherited |
Obtains status of the CPU.
Flags to be used with IConnectDebug2::Download() method.
|
inherited |
| Enumerator | |
|---|---|
| efDefaultMemAreaDisplay | |
| efNoMemAreaDisplay | |
| efVagueFloatEqual | |
| efIgnorePointerAssignType | |
| efType2 | |
| efAllowTernaryOperator | |
|
inherited |
| Enumerator | |
|---|---|
| gafExpression | |
| gafVariables | |
| gafLabels | |
| gafFunctions | |
| gafEnumMask | |
| gafEnumIndexMask | |
| gafEnumIndexOfs | |
| gafType2 | |
| gafUseFile | |
| gafFileMask | |
| gafFileOfs | |
|
inherited |
Used in combination with EAccessFlags.
With Memory Read/Write functions
|
inherited |
|
inherited |
|
inherited |
Defines source flags.
|
inherited |
|
inherited |
| Enumerator | |
|---|---|
| sVariables | |
| sLabels | |
| sFunctions | |
| sLines | |
| sConstants | |
| sSourceCode | |
| sScopeExact | |
| sScopeNarrow | |
| sScopeWide | |
| sScopeMask | |
|
pure virtual |
DEPRECATED: replaced by isys::CAccessBatch.
Performs multiple memory accesses, using deterministic delays.
| dwBatchAccessFlags | see SBatchAccessHeader::EFlags, flags that start with prefix 'fl' |
| pBatchAccessHeader | see SBatchAccessHeader |
| pBatchAccessItems | pointer to an array of items defining the type and time of an individual access. Size of array is given in pBatchAccessHeader->m_dwNumItems. |
| pBatchAccessItemResults | pointer to an array of objects that will receive the results of every individual access. Size of array is given in pBatchAccessHeader->m_dwNumItems. |
|
pure virtual |
Core function manipulates secondary cores of the CPU.
| dwCoreFlags | use ECore |
| byCore | index of the secondary core |
| pszCoreID | returns the workspace name of the core instance of winIDEA |
| dwCoreIDLen | length of the pszCoreID string |
|
pure virtualinherited |
Evaluates an expression.
Result is placed in pszResult and/or pValue/pType
| dwAccessFlags | Use IConnectDebug::EAccessFlags and IConnectDebug::EEvaluate flags. IConnectDebug::EAccessFlags determine what kind of memory access is permitted if required to resolve the expression, while IConnectDebug::EEvaluate flags define result format. |
| pszExpression | Any C syntax expression. |
| pszResult | Pointer to a char buffer that will receive the result of the evaluation. If this parameter is NULL no string value is returned. |
| dwResultLen | Length of the pszResult buffer. |
| pValue | Pointer to a SValue type variable that will receive the value. If this parameter is NULL no simple type value is returned. If this parameter is non NULL and the pszExpression doesn't evaluate to a simple type, the function will fail. See IConnectDebug::SValue |
| pType | Pointer to a variable that will receive the type. |
|
pure virtualinherited |
Returns address and size of an object, like a global symbol, function, etc.
| dwGetAddressFlags |
| ||||||||||||
| pszExpression | An expression that describes a location in memory (an L-value). If symbol enumeration is used, the name of the global symbol. | ||||||||||||
| pbyMemArea | Pointer to a BYTE type variable that will receive the memory area of the object. | ||||||||||||
| paAddress | Pointer to an ADDRESS type variable that will receive the address of the object. | ||||||||||||
| paSizeMAUs | Pointer to an ADDRESS type variable that will receive the size of the object. | ||||||||||||
| pType | Pointer to a SType type variable that will receive the type of the object. |
|
pure virtual |
Get 64-bit address of object.
| dwGetAddressFlags | Address Flags. |
| pszExpression | An expression that describes a location in memory (an L-value). If symbol enumeration is used, the name of the global symbol. |
| pbyMemArea | Pointer to a BYTE type variable that will receive the memory area of the object. |
| paAddress | Pointer to an ADDRESS type variable that will receive the address of the object. |
| paSizeMAUs | Pointer to an ADDRESS type variable that will receive the size of the object. |
| pType | Pointer to a SType type variable that will receive the type of the object. |
|
pure virtualinherited |
Returns the source (line number and file name) matching to an address.
| dwSourceFlags | See IConnectDebug::ESourceFlags. |
| aAddress | Address. |
| pszFileName | Pointer to char array buffer that will receive the file name. |
| dwFileNameLen | Length of the array pointed to by pszFileName. |
| pdwLine | Pointer to DWORD type variable that will receive the line number. |
|
pure virtual |
Get file and line numberof source corresponding to instruction at address aAddress.
| dwSourceFlags | See IConnectDebug::ESourceFlags. |
| aAddress | Address of instruction. |
| pszFileName | Pointer to char array buffer that will receive the file name. |
| dwFileNameLen | Length of the array pointed to by pszFileName. |
| pdwLine | Pointer to DWORD type variable that will receive the line number. |
|
pure virtualinherited |
Returns the address(es) of a source line.
| dwSourceFlags | IConnectDebug::ESourceFlags. |
| pszFileName | Name of the file. |
| dwLine | Line number. |
| paAddress | Pointer to an array of ADDRESS type variables that will receive the addresses to which the source line translates. |
| pdwNumAddresses | Points to a DWORD type variable that:
|
|
pure virtual |
Get addresses to which source line translates.
| dwSourceFlags | IConnectDebug::ESourceFlags. |
| pszFileName | Name of the file. |
| dwLine | Line number. |
| paAddress | Pointer to an array of ADDRESS type variables that will receive the addresses to which the source line translates. |
| pdwNumAddresses | Points to a DWORD type variable that:
|
|
pure virtualinherited |
Returns the name of the symbol on the specified address.
| dwSymbolFlags | Specifies symbol classes to consider. See IConnectDebug::ESymbolFlags |
| byMemArea | Memory area of the object. |
| aAddress | Address of the object. |
| pszName | Pointer to a char buffer that will receive the name of the symbol. |
| dwNameLen | Length of the pszName buffer. |
|
pure virtual |
Get symbol at 64-bit address.
| dwSymbolFlags | Specifies symbol classes to consider. See IConnectDebug::ESymbolFlags |
| byMemArea | Memory area of the object. |
| aAddress | Address of the object. |
| pszName | Pointer to a char buffer that will receive the name of the symbol. |
| dwNameLen | Length of the pszName buffer. |
|
pure virtualinherited |
Modifies pszExpression to pValue or pszResult, if mfModifyToResult is set.
Result is returned in pszResult unless NULL or 0 == dwResultLen. The expression must evaluate to a lvalue.
Example 1:
To set the value of iCounter to 42, we can use pValue parameter:
SValue valueData; SType valueType; valueData.m_INT16 = 42; valueType.m_byType = SType::tSigned; valueType.m_byBitSize = 16; Modify(IConnectDebug::fMonitor, "iCounter", NULL, 0, &valueData, &valueType);
Example 2:
To modify counters[3] according to the following statement:
counters[3] = counters[0] + counters[1];
we can set the following:
pszExpression = "counters[3]"; pszResult = "counters[0] + counters[1]";
| dwModifyFlags | Same as Evaluate with addition of mfModifyToResult. If set, pValue and pType are ignored, pszResult must specify the new value |
| pszExpression | Any C syntax expression that evaluates to a lvalue. |
| pszResult | Pointer to a char buffer that will receive the result of the evaluation. If this parameter is NULL no string value is returned. In case of an error, the pszResult will contain the error string. |
| dwResultLen | Maximum length of the pszResult buffer returned. This value can be zero, even when pszResult is non-NULL (used with the mfModifyToResult flag) |
| pValue | Pointer to a SValue type variable containing the value to write to pszExpression. This parameter is not used if mfModifyToResult flag is used. |
| pType | Pointer to a SType type variable containing the type info of pValue. This parameter is not used if mfModifyToResult flag is used. |
|
pure virtualinherited |
Reads memory from the target system.
| dwAccessFlags | Use IConnectDebug::EAccessFlags | EMemoryAccessFlags |
| byMemArea | Memory space. Definitions for individual CPUs are provided in MemArea.h |
| aAddress | Address of the memory location of the first access. |
| aNumMAUs | Number of MAUs (memory addressable units) to read. |
| pbyBuf | The buffer to receive the read out data. Note that for memory areas with MAU size other than 8 bits (PIC Program, ARM CP, etc), the pbyBuf must be large enough to accommodate all data. Data is placed in consecutive locations in the buffer, i.e. the MAU from aAddress is placed first, MAU from aAddress+1 is placed next etc. |
Within a MAU the byte ordering is LSB. For the 14 bit maProgramPIC16XX area a read from address 10 would yield the following format:
ADDR = 10 ADDR = 11 ADDR = 12
==================== ===================== ====================
(7-0) xx(13-8) (7-0) xx(13-8) (7-0) xx(13-8)
pbyBuf[0] pbyBuf[1] pbyBuf[2] pbyBuf[3] pbyBuf[4] pbyBuf[5]
| byBytesPerMAU | Number of BYTE type locations required to fit one MAU (memory addressable unit). The number of bytes required for every MAU is: |
| MAU Size | Bytes Required per MAU |
|---|---|
| 1 - 8 | 1 |
| 9 - 16 | 2 |
| 17 - 32 | 4 |
winIDEA will check this parameter and return ICONNECT_E_SIZE in case of mismatch.
| pbyAccessInfo | The buffer to receive information about access to every individual location. One byte must be allocated per MAU. If this parameter is NULL, no access information will be returned. |
|
pure virtual |
Trace memory reads at aAddress, from aAddress to aAddress + aNumMAUS - 1.
Access information is saved to pbyAccessInfo.
| dwAccessFlags | Use IConnectDebug::EAccessFlags |
| byMemArea | Memory space. Definitions for individual CPUs are provided in MemArea.h |
| aAddress | Address of the memory location of the first access. |
| aNumMAUs | Number of MAUs (memory addressable units) to read. |
| pbyBuf | Buffer to receive access data. |
| byBytesPerMAU | Number ob bytes per MAU for storage of access information. |
| pbyAccessInfo | The buffer to receive information about access to every individual location. One byte must be allocated per MAU. If this parameter is NULL, no access information will be returned. |
|
pure virtualinherited |
Reads the specified register.
| dwAccessFlags | See IConnectDebug::EAccessFlags for available flags, except fCacheCode |
| pszRegisterName | Name of the register to read. |
| pValue | Pointer to a SValue type variable that will receive the value. |
| pType | Contains the type info of pValue. |
|
pure virtualinherited |
Reads a value from the target system.
This function resembles ReadMemory but additionally it formats the value according to the type specified (including endian conversions).
| dwAccessFlags | Use IConnectDebug::EAccessFlags, except fCore, and fSFR. |
| byMemArea | Memory space. Definitions for individual CPUs are provided in MemArea.h |
| aAddress | Address of the memory location of the first access. |
| pValue | Pointer to a SValue type variable that will receive the value. |
| pType | Pointer to a SType type variable containing the type info of pValue. |
|
pure virtual |
Read value from memory at address aAddress.
| dwAccessFlags | Use IConnectDebug::EAccessFlags, except fCore, and fSFR. |
| byMemArea | Memory space. Definitions for individual CPUs are provided in MemArea.h |
| aAddress | Address of the memory location of the first access. |
| pValue | Pointer to a SValue type variable that will receive the value. |
| pType | Pointer to a SType type variable containing the type info of pValue. |
|
pure virtualinherited |
Performs a run control operation.
Note that IConnectDebug::rRun, IConnectDebug::rRunUntil and IConnectDebug::rRunUntilReturn functions are 'non-blocking' - when they return the CPU might still be running. rWaitForStop flag yields blocking operation'. If the wait expires, ICONNECT_E_TIMEOUT is returned
| dwRunControlFlags | Specifies which register domain to access. See IConnectDebug::ERunControlFlags |
| byMemArea | Determines the address space of the breakpoint. |
| aAddress | Address used by IConnectDebug::rRunUntil and IConnectDebug::rGoto commands. |
|
pure virtual |
Obtains status of the CPU.
| dwRunControlFlags | Specifies which register domain to access. See IConnectDebug::ERunControlFlags |
| byMemArea | Determines the address space of the breakpoint. |
| aAddress | Address used by IConnectDebug::rRunUntil and IConnectDebug::rGoto commands. |
|
pure virtualinherited |
Controls breakpoint setting.
| dwBreakpointFlags | Determines the breakpoint operation. See IConnectDebug::EBreakpointFlags |
| byMemArea | Determines the address space of the breakpoint. This value is used only if bAddress flag is used. |
| aAddress | Determines the address of the breakpoint. This value is used only if bAddress flag is used. |
| pszAddress | Determines the address of the breakpoint: - If bSymbol flag is used this string is interpreted as a symbol (function name, code label).
|
| dwLine | If bSource flag is used, dwLine specifies the line number. If bHW flag is used, dwLine specifies the access data value |
|
pure virtual |
Controls conditional breakpoint setting.
| dwBreakpointFlags | Determines the breakpoint operation. See IConnectDebug::EBreakpointFlags |
| byMemArea | Determines the address space of the breakpoint. This value is used only if bAddress flag is used. |
| aAddress | Determines the address of the breakpoint. This value is used only if bAddress flag is used. |
| pszAddress | Determines the address of the breakpoint: - If bSymbol flag is used this string is interpreted as a symbol (function name, code label).
|
| dwLine | If bSource flag is used, dwLine specifies the line number. |
| dwCondCount | specifies the number of times the condition expression must be non-zero for BP to hit. if set to zero, the BP will hit on first occurrence |
| pszCondExpression | the expression to evaluate on each hit if NULL or empty, only dwCondCount applies |
|
pure virtual |
Set conditions for breakpoint at aAddress.
| dwBreakpointFlags | Determines the breakpoint operation. See IConnectDebug::EBreakpointFlags |
| byMemArea | Determines the address space of the breakpoint. This value is used only if bAddress flag is used. |
| aAddress | Determines the address of the breakpoint. This value is used only if bAddress flag is used. |
| pszAddress | Determines the address of the breakpoint: - If bSymbol flag is used this string is interpreted as a symbol (function name, code label).
|
| dwLine | If bSource flag is used, dwLine specifies the line number. |
| dwCondCount | specifies the number of times the condition expression must be non-zero for BP to hit. if set to zero, the BP will hit on first occurrence |
| pszCondExpression | the expression to evaluate on each hit if NULL or empty, only dwCondCount applies |
|
pure virtualinherited |
Writes memory to the target system.
| dwAccessFlags | Use IConnectDebug::EAccessFlags | EMemoryAccessFlags except fCacheXXX. |
| byMemArea | Memory space. Definitions for individual CPUs are provided in MemArea.h |
| aAddress | Address of the memory location of the first access. |
| aNumMAUs | Number of MAUs (memory addressable units) to read. |
| pbyBuf | The buffer to receive the read out data. Note that for memory areas with MAU size other than 8 bits (PowerPC SPR, ARM CP, etc), the pbyBuf must be large enough to accommodate all data. Data is placed in consecutive locations in the buffer, i.e. the MAU from aAddress is placed first, MAU from aAddress+1 is placed next etc. |
Within a MAU the byte ordering is LSB.
| byBytesPerMAU | Number of BYTE type locations required to fit one MAU (memory addressable unit). The number of bytes required for every MAU is: |
| MAU Size | Bytes Required per MAU |
|---|---|
| 1 - 8 | 1 |
| 9 - 16 | 2 |
| 17 - 32 | 4 |
winIDEA will check this parameter and return ICONNECT_E_SIZE in case of mismatch. If byBytesPerMAU==1 is requested on non-1 byte per MAU area and the requested aNumMAUs is a multiple of it, the request is accepted and processed
| pbyAccessInfo | The buffer to receive information about access to every individual location. One byte must be allocated per MAU. If this parameter is NULL, no access information will be returned. |
|
pure virtual |
Trace memory writes at aAddress, from aAddress to aAddress + aNumMAUs - 1.
Access information is saved to pbyAccessInfo.
| dwAccessFlags | Use IConnectDebug::EAccessFlags, except fCacheXXX. |
| byMemArea | Memory space. Definitions for individual CPUs are provided in MemArea.h |
| aAddress | Address of the memory location of the first access. |
| aNumMAUs | Number of MAUs (memory addressable units) to read. |
| pbyBuf | Buffer to receive access data. |
| byBytesPerMAU | Number ob bytes per MAU for storage of access information. |
| pbyAccessInfo | The buffer to receive information about access to every individual location. One byte must be allocated per MAU. If this parameter is NULL, no access information will be returned. |
|
pure virtualinherited |
Writes the specified register.
| dwAccessFlags | See IConnectDebug::EAccessFlags for available flags, except fCacheCode |
| pszRegisterName | Name of the register to write to. |
| pValue | Stores a value to be written to the register. |
| pType | Contains the type info of pValue. |
|
pure virtualinherited |
Writes a value to the target system.
This function resembles WriteMemory but additionally it formats the value according to the type specified (including endian conversions).
| dwAccessFlags | Use IConnectDebug::EAccessFlags, except fCore, fSFR, and fCacheXXX. |
| byMemArea | Memory space. Definitions for individual CPUs are provided in MemArea.h |
| aAddress | Address of the memory location of the first access. |
| pValue | Pointer to a SValue type variable containing the value to write. |
| pType | Pointer to a SType type variable containing the type info of pValue. |
|
pure virtual |
Writes a value to the target system.
This function resembles WriteMemory but additionally it formats the value according to the type specified (including endian conversions).
| dwAccessFlags | Use IConnectDebug::EAccessFlags, except fCore, fSFR, and fCacheXXX. |
| byMemArea | Memory space. Definitions for individual CPUs are provided in MemArea.h |
| aAddress | Address of the memory location of the first access. |
| pValue | Pointer to a SValue type variable containing the value to write. |
| pType | Pointer to a SType type variable containing the type info of pValue. |