metaonly module xdc.rov.Model

The ROV Model is the core of ROV. The Model must be started in order to retrieve ROV views for any modules

The Model has a compatibility key. Any changes or additions to the public interfaces of the ROV core will result in a bump of the model version number.
Configuration settings sourced in xdc/rov/Model.xdc
 
config Model.vers  // module-wide

ROV API version number

Configuration settings
Model.vers = Int 5;
 
DETAILS
Model.start will throw an exception if the version parameter does not equal the Model's current version. The version number is changed based on modifications to the public APIs (in xdc.rov.Program) that would potentially break compatibility with clients.
This allows the Model to verify compatibility with its client.
 
Model.getICallBackInst()  // module-wide

Get the progress update callback of a started ROV model

Configuration settings
Model.getICallBackInst() returns ICallBack.Instance
 
DETAILS
This function must be called after start().
RETURNS
Returns the ICallback instance that is used by ROV to report progress during startup of the ROV model.
 
Model.getICallStackInst()  // module-wide

Called by clients to get the optional call stack parser

Configuration settings
Model.getICallStackInst() returns ICallStack.Instance
 
RETURNS
Returns null in the event that there is no call stack parser; i.e., there is no implementation of this functionality in the current Model context.
 
Model.getIOFReaderInst()  // module-wide

Returns a Java-based object file reader specific to the executable

Configuration settings
Model.getIOFReaderInst() returns Any
 
DETAILS
This function is an internal function used to obtain the underlying OMF reader that is typically used to implement ISymbolTable.
Note: this function must be called AFTER either getRecap() or start()
The OMF reader is used by ROV tools extract target information from executable; normally this information is specified by the RTSC config recap file but, if it's absent, it may be possible to get the information from the executable itself. It is also used to perform advanced symbol table management; e.g., adding additional symbols from object files representing code in a device's ROM.
RETURNS
Returns a reference to an internal executable-specific Object Module Format (OMF) reader.
 
Model.getISymbolTableInst()  // module-wide

Get the symbol table reader use in the model

Configuration settings
Model.getISymbolTableInst() returns ISymbolTable.Instance
 
DETAILS
This function must be called after start().
RETURNS
Returns the ISymbolTable instance that is used by ROV to lookup symbolic names for addresses or values of named symbols.
 
Model.getMemoryImageInst()  // module-wide

Get the memory reader of a started ROV model

Configuration settings
Model.getMemoryImageInst() returns Any
 
DETAILS
This function must be called after start().
RETURNS
Returns the IMemoryImage instance used by ROV to read target memory.
 
Model.getModuleList()  // module-wide

Get all modules configured for the executable used to start ROV

Configuration settings
Model.getModuleList() returns Any
 
RETURNS
This function returns a JavaScript object representing the package hierarchy and the modules, including the views they support.
 
Model.getRecap()  // module-wide

Finds and loads the recap file associated with a specified executable

Configuration settings
Model.getRecap(Any execPath) returns Any
 
ARGUMENTS
execPath — full path to the executable
DETAILS
The recap file is a serialization of the executable's configuration created implicitly by the RTSC configuration tool.
This function finds that file and loads the recap file via xdc.loadCapsule(). In addition, using the target information contained in the recap file, this function initializes an appropriate binary Object mMdule Format (OMF) reader which is used by some ROV tools to provide enhanced functionality; e.g., support for multiple symbol table files.
RETURNS
The return value is the capsule returned by xdc.loadCapsule() after loading the recap file.
 
Model.getStartFileList()  // module-wide

Get an array of all input files used to startup the model

Configuration settings
Model.getStartFileList() returns Any
 
DETAILS
This function is used to generate a list of all files needed to re-create the ROV model outside any IDE.
Note: this list does NOT include files referenced by these startup files. All referenced files are found along the package path which must be separately specified.
RETURNS
Returns an array of absolute paths of files read during the startup of the ROV model.
 
Model.setICallStackInst()  // module-wide

Called only during Model initialization

Configuration settings
Model.setICallStackInst(ICallStack.Instance cs) returns Void
 
DETAILS
This method is called to "bind" an optional stack call stack parser and is called by the same client that calls Model.start().
 
Model.start()  // module-wide

Start the ROV Model

Configuration settings
Model.start(Int vers, String executable, Any recap, ISymbolTable.Instance sym, Any mem, ICallBack.Instance callBack) returns Void
 
ARGUMENTS
vers — Model.start will throw an exception if the version parameter does not equal the Model's current version.
executable — The path to the executable file
recap — Capsule of the ROV recap file. Retrieve this with xdc.loadCapsule(recapFilePath).
sym — an object that implements the xdc.rov.ISymbolTable interface used to read symbols defined by the executable
mem — an object that implements the xdc.rov.IMemoryImage interface used to read target memory
callBack — an object that implements the xdc.rov.ICallback interface used to report progress status
DETAILS
The ROV Model requires instances of an ISymbolTable, an IMemoryImage, and an ICallBack. It also requires the ROV recap file, which can be located using the xdc.rta.Recap module.
ROV tools initialize the ROV model as follows:
  1. recap = getRecap(exec)
  2. getIOFReaderInst() (optional)
  3. start(..., exec, ..., recap, ...)
  4. setICallStackInst() (optional)
generated on Tue, 13 Oct 2020 04:41:51 GMT