winIDEA SDK
isys::CSoCCtrl Class Reference

Description

This class provides debug session function.

#include <CSessionCtrl.h>

Inherits isys::CSessionBaseCtrl.

Public Member Functions

void attach ()
 Attaches to the specified SoC, call is valid only within session. More...
 
void detach ()
 Detaches from to the specified SoC, call is valid only within session. More...
 
void SMP_set_focused_core (uint32_t dwCoreIndex)
 Sets focused core in an SMP process. More...
 
uint32_t SMP_get_focused_core (uint32_t dwCoreIndex)
 Gets focused core index in an SMP process. More...
 
void bus_fill (uint8_t nBusIndex, uint64_t nAddress, uint64_t nNumMAUs, const std::vector< uint8_t > &rvPattern)
 Fills memory with the specified pattern. More...
 
void bus_write (uint8_t nBusIndex, uint64_t nAddress, const std::vector< uint8_t > &rvData, std::vector< uint8_t > *pvAccess=nullptr)
 Writes memory . More...
 
std::vector< uint8_t > bus_read (uint8_t nBusIndex, uint64_t nAddress, uint64_t nNumMAUs, std::vector< uint8_t > *pvAccess=nullptr)
 Reads memory. More...
 
NAccessBatch::EResult bus_access_batch (uint8_t nBusIndex, CAccessBatch &rAccessBatch)
 performs a batch memory access More...
 

Member Function Documentation

◆ attach()

void isys::CSoCCtrl::attach ( )

Attaches to the specified SoC, call is valid only within session.

Exceptions
TExceptionif operation fails.

Python example: test_soc_ctrl_attach.py

◆ bus_access_batch()

NAccessBatch::EResult isys::CSoCCtrl::bus_access_batch ( uint8_t  nBusIndex,
CAccessBatch &  rAccessBatch 
)

performs a batch memory access

Parameters
nBusIndexindex of the bus to be used
rAccessBatchaccess batch structure
Returns
the data read
Exceptions
TExceptionif operation fails.

Python example: test_soc_ctrl_bus_access_batch.py

◆ bus_fill()

void isys::CSoCCtrl::bus_fill ( uint8_t  nBusIndex,
uint64_t  nAddress,
uint64_t  nNumMAUs,
const std::vector< uint8_t > &  rvPattern 
)

Fills memory with the specified pattern.

Parameters
nBusIndexindex of the bus to be used
nAddressthe address to write to
nNumMAUsnumber of addresses to write
rvPatternthe pattern to use for fill. If it is shorter than nNumMAUs, the pattern is repeated.
Exceptions
TExceptionif operation fails.

Python example: test_soc_ctrl_bus_fill.py

◆ bus_read()

std::vector< uint8_t > isys::CSoCCtrl::bus_read ( uint8_t  nBusIndex,
uint64_t  nAddress,
uint64_t  nNumMAUs,
std::vector< uint8_t > *  pvAccess = nullptr 
)

Reads memory.

Parameters
nBusIndexindex of the bus to be used
nAddressthe address to read from
nNumMAUsnumber of MAUs
pvAccessoptional parameter - access info is returned for every accessed location
Returns
the data read
Exceptions
TExceptionif operation fails.

Python example: test_soc_ctrl_bus_read.py

◆ bus_write()

void isys::CSoCCtrl::bus_write ( uint8_t  nBusIndex,
uint64_t  nAddress,
const std::vector< uint8_t > &  rvData,
std::vector< uint8_t > *  pvAccess = nullptr 
)

Writes memory .

Parameters
nBusIndexindex of the bus to be used
nAddressthe address to write to
rvDatathe data to write
pvAccessoptional parameter - access info is returned for every accessed location
Exceptions
TExceptionif operation fails.

Python example: test_soc_ctrl_bus_write.py

◆ detach()

void isys::CSoCCtrl::detach ( )

Detaches from to the specified SoC, call is valid only within session.

Exceptions
TExceptionif operation fails.

Python example: test_soc_ctrl_detach.py

◆ SMP_get_focused_core()

uint32_t isys::CSoCCtrl::SMP_get_focused_core ( uint32_t  dwCoreIndex)

Gets focused core index in an SMP process.

Parameters
dwCoreIndexidentifies the SMP binding
Returns
index of the focused core in the current process's SMP binding
Exceptions
TExceptionif operation fails

Python example: test_soc_ctrl_smp_get_focused_core.py

◆ SMP_set_focused_core()

void isys::CSoCCtrl::SMP_set_focused_core ( uint32_t  dwCoreIndex)

Sets focused core in an SMP process.

Parameters
dwCoreIndexindex of the core to focus
Exceptions
TExceptionif operation fails or dwCoreIndex is not in the current process's SMP binding.

Python example: test_soc_ctrl_smp_set_focused_core.py