command_string cwAddCommandHistoryEntry (command_string) |
Adds the command 'command_string' to the command history. |
cwAddMenuCommand (menu_name_string, item_name_string, code_string, accelerator) |
Creates a menu entry in the menus of CoolWatcher. If menu_name_string does not correspond to any menu, it is created. The entry has item_name_string as name. When activated, the menu entry executes code_string. An accelerator can be attached to this entry. See the Qt documentation for a list of keyboard keys that can be used to define accelerators. |
Adds a separator in the menu called 'menu_name_string'. |
cwAddRubyWatch (str_ruby_expression, str_label) |
Adds a watch on the ruby_expression (with label 'str_label') |
cwAddScriptButton (toolbarname_string, code_string, pixmap_string_array, tooltip_string) |
Adds a button to the toolbar 'toolbarname_string' (which is created if not exists). When the button is pressed, 'code_string' is executed by the Ruby interpreter. The default pixmap can be replaced by giving an unempty 'pixmap_string_array' which must be in the XPM format (see XPM format documentation |
cwAddToggleButton (toolbarname_string, button_name_string, toggled_at_start_bool, show_button_name_bool, pixmap_string_array, tooltip_string) |
Adds a toggle button to the toolbar 'toolbarname_string' (which is created if not exists). The button is created in 'on' state if 'toggled_at_start_bool' is true. The button name is shown beside the button if 'show_button_name_bool' is true. The default pixmap can be replaced by giving an unempty 'pixmap_string_array' which must be in the XPM format (see XPM format documentation |
cwAddWatch (chip_or_soft_variable) |
Adds a watch on chip_or_soft_variable |
cwBuildModem2GGui () |
Setup the Modem2G
interface for CoolWatcher. |
cwBuildStdGui () |
Setup the standard
interface for CoolWatcher. |
cwBuildSvnCheckerGui () |
Setup the SVN Checker
interface for CoolWatcher. |
cwClear () |
Clears CoolWatcher script output |
cwClearWatches () |
Clears CoolWatcher watch table |
cwDefaultOpen () |
Ask which COM port to open
and save it as default one. |
str cwDumpWatches () |
Returns a string representation of the current watches with their values. |
string_array cwGetCommandHistory () |
Gets the table containing the complete command history. |
str cwGetOpenFileName (display_string, path_string, filter_string) |
Opens a dialog box asking for a file to load, with 'display_string' as dialog title, path_string as default path from where to load, and filter_string as file format filter (e.g. '(*.bmp;*.jpg)') |
str cwGetProfileEntry (profile_entry_string, default_value) |
Gets the entry value of the profile entry 'profile_entry_string'. Returns default_value if the profile_entry_string does not exist in the current profile. |
str cwGetSaveFileName (display_string, path_string, filter_string) |
Opens a dialog box asking for a file to save, with 'display_string' as dialog title, path_string as default path where to save, and filter_string as file format filter (e.g. '(*.bmp;*.jpg)') |
cwHideGuiElement (gui_element) |
Hides the specified GUI Widget of CoolWatcher. gui_element can be one of the following : WatchArea, ModuleLibrary, TypedefLibrary, CommandLine, DebugArea, DescriptionArea, OutputArea, or DrawArea |
cwInsertWatchesFromStringArray (array_of_string_of_watches) |
Adds a list of watches from array_of_string_of_watches |
bool cwIsButtonToggled (button_name_string) |
Returns true if the button is on. Otherwise, returns false. |
cwLoadWatches () |
Load the list of watches from a file to the current Watches window. |
cwQuit () |
Quits CoolWatcher. |
cwRefreshWatches () |
Toggles the refresh of the watches. |
cwSaveWatches () |
Save the list of watches in the current Watches window to a file. |
cwSetProfileEntry (profile_entry_string, value) |
Adds an entry with 'profile_entry_string' as name and 'value' as value in the current loaded profile. Useful if various profiles use generic script which must load custom parameters. |
cwSetProgress (num_steps, num_total, format="%p%") |
Sets progress bar to num_steps over num_total. Shows it if num_steps is in the range 0 to num_total, else, hide it. |
cwSetTitle (string_title) |
Sets the caption of the title bar CoolWatcher's main window. |
cwSetToolbarOrientation (toolbarname_string, orientation) |
Change the orientation of the toolbar 'toolbarname_string'. Orientation can be one of the following constants : DockLeft, DockRight, DockTop, or DockBottom |
cwShowGuiElement (gui_element) |
Shows the specified GUI Widget of CoolWatcher. gui_element can be one of the following : WatchArea, ModuleLibrary, TypedefLibrary, CommandLine, DebugArea, DescriptionArea, OutputArea, or DrawArea |
modem2GHandleEvents () |
Add some event handlers for Modem2G. |
busreset () |
Reset the whole chip but halt XCPU - the memory content survives. |
calib () |
Tells whether the phone has been calibrated. |
checkForGreenstoneAhbMasterBug () |
Tells whether the chip crashed because of an AHB Master bug. |
chipID () |
Show chip id |
chipLastResetTime () |
Returns the last time at which the reset event has been detected. |
crestart (connection=$CURRENTCONNECTION,bool_xcpufreeze=false,bool_powerStayOn=false,bool_reEnableUart=true,bool_intRegOnly=false) |
Same as restart except that it takes a connection as an additional parameter, in order to perform a reset on whatever connection you want. |
cunfreeze (connection=$CURRENTCONNECTION) |
Same as 'unfreeze' except that you can chose the connection on which to perform the unfreeze. |
date () |
Display the time and date of the phone in a human readable format. Tell when the calendar has never been programmed. |
dbgrst () |
Restarts the chip by accessing debug host internal registers only. Xcpu will be unfrozen, the power will be kept on during the restart, and the trace Uart will be reenabled after restart. |
diag () |
Returns the status of the system CPU. |
diagb () |
Returns the status of the BCPU. |
gdbEnable (enable = 1) |
Enable GDB. |
gdbSwitchContext (id, flag=0, sp=0) |
Switch the context in GDB (for backtrace, etc).
id: Task ID or job ID
flag: 0 - using task ID,
1 - using job ID,
2 - using context before current IRQ,
3 - using task or IRQ stack pointer,
4 - using job stack pointer,
sp: stack pointer to show the context |
getAlarm () |
Check if an alarm has been reached. |
getDbgPortConfig () |
Returns the configuration of the debug port. |
hver () |
Returns the version of the hardware binary of the FPGA. It also says if the chip is a FPGA or a FPGA_USB. |
lowpower () |
Check whether the phone is in low power or not. |
lpsForceNoSleep (enable = 1) |
Force the chip (HAL-LPS module) not to sleep. |
noxfbpreset () |
Cancel XCPU breakpoint at hard reset boot up time. |
pagespy (start_add, end_add_excluded, on_writes = 1, on_reads = 0) |
Set a page spy (0) from the address start_add (included) to the address end_add_excluded (excluded). Use the command 'pagespycheck' to check if this page has been hit. |
pagespycheck () |
Check if the page spy (0) set by the command 'pagespy' has been hit. |
restart (bool_xcpufreeze=false,bool_powerStayOn=false,bool_reEnableUart=true,bool_intRegOnly=false) |
Restarts the chip. If 'bool_xcpufreeze' is true, it is frozen until a call to 'unfreeze'.
If 'bool_powerStayOn' is true, the power is kept on during the restart. If 'bool_reEnableUart' is true, the trace Uart will be reenabled after restart. If 'bool_intRegOnly' is true, only debug host internal registers will be accessed during the restart. |
rst (bool_xcpufreeze=false,bool_powerStayOn=false,bool_reEnableUart=true) |
Restarts the chip. If 'bool_xcpufreeze' is true, it is frozen until a call to 'unfreeze'.
If 'bool_powerStayOn' is true, the power is kept on during the restart. If 'bool_reEnableUart' is true, the trace Uart will be reenabled after restart. |
setAnAlarm (inNSec) |
Reset the calendar to zero, clear the current alarm status and program an alarm at inNSec seconds. |
sver () |
Prints the version information of the software modules. |
sxsIdleHookEnable (enable = 1) |
Enable or disable SXS idle hook functions to debug XCV, PMD, ABB and FM. |
sxsRun (functionAddress, param0=0, param1=0, param2=0, param3=0, connection=$CURRENTCONNECTION) |
Execute a function on the target (RPC) via SXS RMC, with 4 maximum number of parameters and no return value. |
sxsRunRetVal (functionAddress, param0=0, param1=0, param2=0, param3=0, connection=$CURRENTCONNECTION) |
Execute a function on the target (RPC) via SXS RMC, with 4 maximum number of parameters and return value. |
sxsTaskList (connection=$CURRENTCONNECTION) |
List all SX task name. |
testram () |
test ram. |
traceSwitchPort (port = -1) |
Switch current trace port. 0=host, 1=usb, 2=ap, -1=get_current_port |
turnoff () |
Turn off the phone (set the Wakeup line to low). |
unfreeze () |
Unfreezes the chip. |
xfbpreset () |
Force XCPU breakpoint at hard reset boot up time (one-time only). |
$CURRENTCONNECTION cbreak () |
Send a serial break on the current com port. |
cclose () |
Closes the socket to the CoolHost corresponding to $CURRENTCONNECTION. |
$CURRENTCONNECTION ckill () |
Quits the CoolHost program handling the current com port. |
$CURRENTCONNECTION copen (NUM,BR=BR_AUTOMATIC,abortOnError=true) |
Opens a CoolHost or a socket to a CoolHost on the COM port 'NUM' and with the baudrate 'BR'. Returns the constructed connection. Caution : if successful, this function modifies $CURRENTCONNECTION. |
creconnect () |
Reconnect current com port. |
$CURRENTCONNECTION jopen (NUM,BR=115200,abortOnError=true) |
Opens a jadeCoolHost or a socket to a jadeCoolHost on the COM port 'NUM' and with the baudrate 'BR'. Returns the constructed connection. Caution : if successful, this function modifies $CURRENTCONNECTION. |
$TRACEPLUGCONNECTION jtopen (NUM,BR=460800) |
Opens a coolhost for managing traces for jade. |
$CURRENTCONNECTION reop (abortOnError=true) |
Re-opens the current com port. |
showAllEvents (enable=1) |
Print a event once it is popped out. |
$CURRENTCONNECTION uopen (abortOnError=true) |
Opens a CoolHost or a socket to a CoolHost on the USB (TODO : this function needs more parameters). Returns the constructed connection. Caution : if successful, this function modifies $CURRENTCONNECTION. |
fastSectorEraser (flash_programmer_filename, sector_list, disable_event_sniffer = true) |
Do a fastpf to erase all the sectors whose address present in the integer array 'sector_list'. |
fastpf (flash_programmer_filename, writeBootsector=FastPf::FULLFASTPF, verify=true, disable_event_sniffer=true) |
Do a fastpf from files. 'flash_programmer_filename' is the path of the compiled flash programmer (compiled as a ramrun for the particular flash type you are going to use). 'lod_filename' is the path to the compiled source code to be 'fastpfed'. Possible values for writeBootSector are FastPf::NOBOOTSECTORFASTPF, FastPf::BOOTSECTORFASTPF, and FastPf::FULLFASTPF. |
fastpfVerify (flash_programmer_filename, lod_filename, writeBootsector=FastPf::FULLFASTPF, indepth=true, disable_event_sniffer = true) |
Do a fastpf verify with a specified flash programmer and lod file. |
fastpfXfer (connection, flash_programmer_filename, lod_filename, writeBootSector, verify) |
Low level fastpf, its purpose is to be integrated into script, and not launched in an interpreter. The 'connection' parameter should be a CHHostConnection or any heir of this class (see 'rbbase.rb'). 'flashProgrammerPackets' are LODPackets, and should be loaded with the 'LOD_Read()' function, as so as 'codeFilePackets'. They are respectively ruby objects representing the LOD files of the flashprogrammer, and the code to be fastpfed. If writeBootSector is 'true', the boot sector will be squashed. Else, it will be preserved. |
setFastpfIntensiveVerify (true_or_false) |
Changes the behaviour of fastpf by enabling/disabling the RAM checking step just after writing each block into RAM. |
value Integer.R () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.R16 () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.R32 () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.R8 () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
[array_of_bytes] Integer.RB (bytestoread) |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.RU () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.r () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.r16 () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.r32 () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.r8 () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
[array_of_bytes] Integer.rb (bytestoread) |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
string Integer.rs (bytestoread) |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
value Integer.ru () |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
val R (addr) |
Reads a 32-bit word at address 'addr'. Does not print the result. |
val R16 (addr) |
Reads a 16-bit word at address 'addr'. Does not print the result. |
val R32 (addr) |
Reads a 32-bit word at address 'addr'. Does not print the result. |
val R8 (addr) |
Reads a 16-bit word at address 'addr'. Does not print the result. |
[array_of_bytes] RB (addr,bytes_to_read) |
Reads a block of 'bytestoread' bytes at address 'addr'. Does not print the result. |
val RI (innerreg) |
Reads the value of the internal register 'innerreg'. Does not print the result. |
string RS (addr,bytes_to_read) |
Reads a string of max size 'bytestoread' bytes at address 'addr' Does not print the result. |
bool dump (str_filename, address, nbwords) |
Dumps 'nbwords' 32-bits words from memory, starting at address 'address', inside file 'str_filename'. If the filename ends with '.lod' the lod file format will be used, else the binary file format will be used. |
bool dumpfast (str_filename, address, nbwords) |
Dumps 'nbwords' 32-bits words in batch read mode from memory, starting at address 'address', inside file 'str_filename'. If the filename ends with '.lod' the lod file format will be used, else the binary file format will be used. |
bool dumpsuperfast (str_filename, address, nbwords) |
Dumps 'nbwords' 32-bits words by library in batch read mode from memory, starting at address 'address', inside file 'str_filename'. If the filename ends with '.lod' the lod file format will be used, else the binary file format will be used. |
bool elfdump (str_filename,xml_fileneme) |
dump memory according to the information in 'xml_fileneme' and build elf file 'str_filename' from the memory |
bool fastdump (str_filename, address, nbwords) |
Dumps 'nbwords' 32-bits words from memory, starting at address 'address', inside file 'str_filename'. If the filename ends with '.lod' the lod file format will be used, else the binary file format will be used. |
val r (addr) |
Reads a 32-bit word at address 'addr'. Prints the result in hex. |
val r16 (addr) |
Reads a 16-bit word at address 'addr'. Prints the result in hex. |
val r32 (addr) |
Reads a 32-bit word at address 'addr'. Prints the result in hex. |
val r8 (addr) |
Reads a 16-bit word at address 'addr'. Prints the result in hex. |
[array_of_bytes] rb (addr,bytes_to_read) |
Reads a block of 'bytestoread' bytes at address 'addr'. Prints the result in hex. |
val ri (innerreg) |
Reads the value of the internal register 'innerreg'. Prints the result in hex. |
string rs (addr,bytes_to_read) |
Reads a string of max size 'bytestoread' bytes at address 'addr'. Prints the string. |
bool verifybin (address,str_filename) |
Verifies if the lod file 'str_filename' matches the memory |
bool verifylod (str_filename) |
Verifies if the lod file 'str_filename' matches the memory |
bool TargetXtor.enterHostMonitor () |
Put the target in the host monitor mode. That implies a reset of the target, which is put in a state waiting for host command.
The function returns TRUE if the monitor could be opened. FALSE otherwise |
TargetXtor.exitHostMonitor () |
When the target is in the host monitor mode, exit and carry on normal execution |
TargetXtor.new (connectionToCopy=$CURRENTCONNECTION) |
Creates a TargetXtor object that will perform its operations on a dedicated connection which is a copy of connectionToCopy (usually $CURRENTCONNECTION. |
TargetXtor.session (connection=$CURRENTCONNECTION) |
{|session| ... } Class method. Opens a session on the target executor, closes it at the end. |session| is the opened TargetXtor (yielded to perform things on the target executor in the block of code). Exemple: TargetXtor.session{ |s| s.exitHostMonitor() } will enter the host monitor, and immediately exit it. |
TargetXtor.setExtdHandler (pc, (exectutionReturnedValue)) |
Set the field in memory where the target
expects to find the PC for the extended remote
execution handler. |
0, (exectutionReturnedValue) TargetXtor.targetExecute (pc, sp, param, timeOutStart(5), timeOutEnd(5)) |
Execute when possible on the target the code at [pc] with the stack pointer set at
[sp]. If [sp]=0, the current stack is used. One [parameter] is passed
to the called function.
[timeOutStart] defines the time out before
which the target should inform that it has started the execution
of the specified code. [timeOutEnd] is the time after that event
is received during we waits for the "end of execution"
acknowledgement from the target.
Those timeout parameters are optionals.
The status of the exection as well as the value returned
by the function call are returned.
This function is for
a code execution at the will of the target. That is immediately
in the host monitor or on idle time if the target is
normally running. |
0 TargetXtor.targetExecuteAndJump (pc, sp, param, timeOutStart(5)) |
Execute when possible on the target the code at [pc] with the stack pointer set at
[sp]. If [sp]=0, the current stack is used. One [parameter] is passed
to the called function. This code is expected never to return. This is
useful to start a 'Ramrun' or launching the calibration stub.
[timeOutStart] defines the time out before
which the target should inform that it has started the execution
of the specified code.
This function is for a code execution at the will of the target.
That is immediately
in the host monitor or on idle time if the target is
normally running. |
0, (exectutionReturnedValue) TargetXtor.targetExecuteExtd (cmd, field_0, field_1, field_2, field_3, timeOutStart(5),
timeOutEnd(5), terminate(true), immediate(false)) |
Send the [cmd] command to the extended command executor on the
target. The four fields [field_0] ... [field_3] usage depend
on the extended monitor used.
[timeOutStart] defines the time ut before
which the target should inform that it has started the execution
of the specified command. [timeOutEnd] is the time after that event
is received during which we wait for the "end of execution"
acknowledgement from the target.
[immediate] is used to select if the execution of the command
should interrupt the current processing on the target [true]
or wait for an oportunity to execute on idle or during a monitor
[false, default value].
The status of the exection is returned.
|
0, (exectutionReturnedValue) TargetXtor.targetExecuteGeneric (cmd, field_0, field_1, field_2, field_3,
timeOutStart(5), timeOutEnd(5), terminate(true), immediate(false)) |
[This function is Private].
Send the [cmd] command to the host monitor. If this command is
not supported by the standard handler, it will be passed to the
extended command executor on the target, if one has previously
been defined by TargetXtor.setExtdHandler, or ignored otherwise.
The four fields [field_0] ... [field_3] usage depend
on the extended monitor used, if an extended monitor is used.
Otherwise, they are respectively interpreted by the standard
handler as PC, SP, The Parameter and pointer to the returned value.
[timeOutStart] defines the time out before
which the target should inform that it has started the execution
of the specified command.
If the terminate parameter is true, we expected the executed function
will end within a finished time, and [timeOutEnd] is the time after
the execution has started
during which we wait for the "end of execution"
acknowledgement from the target.
If the terminate parameter is false, we don't wait for the end of
execution event, as it will never come.
[immediate] is used to select if the execution of the command
should interrupt the current processing on the target [true]
or wait for an oportunity to execute on idle or during a monitor
[false, default value].
The status of the exection is returned.
|
0, (exectutionReturnedValue) TargetXtor.targetExecuteImmediate (pc, sp, param, timeOutStart(5), timeOutEnd(5)) |
Execute immediatlely on the target the code at [pc] with the stack pointer set at
[sp]. If [sp]=0, the current stack is used. One [parameter] is passed
to the called function.
[timeOutStart] defines the time out before
which the target should inform that it has started the execution
of the specified code. [timeOutEnd] is the time after that event
is received during we waits for the "end of execution"
acknowledgement from the target.
The status of the exection as well as the value returned
by the function call are returned.
This function is for executing code immediately. |
remoteExecInIrq (pc, sp, param) |
Execute a piece of codes with stack pointer and one parameter specified. Current stack will be used if stack pointer is 0. |
remoteExecInIrq1 (pc) |
Execute a piece of codes with current stack. No parameter is passed. |
Integer.w (val) |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
Integer.w16 (val) |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
Integer.w32 (val) |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
Integer.w8 (val) |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
Integer.wb ([array_of_bytes]) |
This method is provided for convenience. See corresponding function (the Integer value is the address where this operation is performed) |
bool ld (str_filename,bool_verify=false) |
Loads a lod file and verifies the loading operation if bool_verify==true |
bool ldbin (address,str_filename,bool_verify=false) |
Loads a binary file and verifies the loading operation if bool_verify==true.
for example 8809 and 8809e ldbin 0xa1e00000,xcpu.bin ldbin 0xa1e80000, bcpu.bin |
bool ldbinbcpu (str_filename) |
ldbin 0xa1e80000,bcpu.bin |
bool ldbinxcpu (str_filename) |
ldbin 0xa1e00000,xcpu.bin |
w (addr,val) |
Writes a 32-bit word at address 'addr'. |
w16 (addr,val) |
Writes a 16-bit word at address 'addr'. |
w32 (addr,val) |
Writes a 32-bit word at address 'addr'. |
w8 (addr,val) |
Writes a 8-bit word at address 'addr'. |
wb (addr,[array_of_bytes]) |
Writes a block of bytes (each element of the array is a byte) at address addr.' |
wi (innerreg,val) |
Writes a 8-bit word in the internal register 'innerreg'. |