Home

C166/ST10 CrossView Pro Debugger User`s Manual

image

Contents

1. TMS oll o vcc TDO o of GND CPU_CLOCK o l o GND TDI o o RESET TRST o o Brk _OUT TCLK on te GND Brk_IN o3 ot OCDS E TRAP o5 o 8 Key no Pin Figure OCDS 2 Infineon JTAG Connector V1 2 The connector layout is similar to the connector of the USB wiggler used for debugging with OCDS via DAS Signal description Table OCDS 3 contains the Infineon JTAG connector signals The direction is specified as follows O output from the CPU processor board to the debugger I input to the CPU processor board from the debugger OCDS 12 Execution Environment 7 Signal Name Direction Pin Number Comment TDO O 3 IEEE 1149 1 TDI 7 IEEE 1149 1 TMS 1 IEEE 1149 1 TCLK 11 IEEE 1149 1 TRST 9 IEEE 1149 1 Brk_IN 13 Brk_OUT O 10 RESET l 8 Open collector CPU_CLOCK O 5 Optional TRAP O 15 TriCore only OCDS_E l 14 TriCore only Must be held down during reset GND 4 6 12 VCC O 2 I O ring voltage of CPU Key 16 Mechanical key should be driven to GND by the debugger Table OCDS 3 Signal names of the JTAG connector Voltage All signals have the voltage of the I O ring The current voltages are 5 Volt 3 3 Volt or 2 Volt VCC Frequencies The speed of the JTAG signals must not exceed 200 of the actual CPU clock speed On chip Debug Support OCDS 13 7 1 2 IMPLEMENTATION CONSIDERATIONS Pull Up s
2. Table 3 5 Order of precedence of standard C operators The and operators appear twice since they exist as both unary and binary operators and unary operators have higher precedence than binary Division is represented by two slashes not one slash This is to avoid confusion with CrossView Pro s format specifier syntax 3 18 Chapter 3 7 Using Addresses To specify an address you may use the amp operator To determine the address of initval type amp initval If you try to use the amp operator on a local variable in a register CrossView Pro issues an error message and tells you which register holds the variable 3 7 SPECIAL EXPRESSIONS String Commands Whenever CrossView Pro encounters an expression consisting solely of a string by itself it simply echoes the string For example hello world n hello world Use this technique to place helpful debugging messages on breakpoints For example setting the following breakpoint 60 b now in for loop n sum C this cause CrossView Pro to echo the message now in for loop to display the value of sum in the Command Window and to continue when line 60 is encountered You can also enter this breakpoint and the associated commands via the Breakpoints dialog box which you can open by selecting the Breakpoints menu item from the Breakpoints menu The Period Operand As a shorthand CrossView Pro supports a special operand
3. Default Z 2 Make your changes and press the OK button 3 From the Build menu select Scan All Dependencies 4 Click on the Execute Make command button The following button is the execute Make button which is located in the toolbar If there are any unsaved files EDE will ask you in a separate dialog if you want to save them before starting the build 1 40 Chapter 1 How to View the Results of a Build Once the files have been processed you can inspect the generated messages You can see which commands and corresponding output captured which have been executed by the build process in the Build tab TASKING program builder vx y rz Build nnn SN 00000000 Compiling and assembling demo c Preprocessing addone asm Assembling addone src Preprocessing start asm Assembling start src Linking and locating to demo out Converting demo out to demo abs in IEEE 695 format How to Start the CrossView Pro Debugger Once the files have been compiled assembled linked located and formatted they can be executed by CrossView Pro To execute CrossView Pro 1 Click on the Debug application button The following button is the Debug application button which is located in the toolbar El CrossView Pro is launched CrossView Pro will automatically download the compiled file for debugging How to Start a New Project When you first use EDE you need to setup a project space and add a new project 1 Fro
4. OVERVIEW 1 1 1 1 Intr d ct n sao shay SSR R A a 1 3 1 2 CrossView Pro s Features 0 000000 eee 1 3 13 Source Level Debugging 005 1 8 1 4 How CrossView Pro Works 002000005 1 9 1 5 C166 ST10 Program Development 1 11 1 6 Getting Started s iesee teenth enn ce E OT 1 13 1 6 1 Before Starting seei eei aE BRS 1 13 1 6 2 Setting Up the Execution Environment 1 14 1 6 3 Starting CrossView Pro 0 0 eee 1 15 1 6 3 1 CrossView Pro Target Settings 0 1 16 1 6 3 2 Configuring CrossView Pro 20 0000 1 24 1 6 3 3 Loading Symbolic Debug Information 1 25 1 6 4 Executing an Application 00 0005 1 28 1 6 5 Debugging an Application 00 1 30 1 6 6 CrossView Pro Output 0 00 00 c eee 1 32 1 6 7 Exiting CrossView Pro 26 eee 1 33 1 6 8 What You May Have Done Wrong 1 34 1 6 9 Building Your Executable 004 1 35 1 6 9 1 USING EDE p45 cet nate Aen Ae BRAG hak CAO 1 35 1 6 9 2 Using the Control Program 00 0 00005 1 42 1 6 9 3 Using the Makefile 0000 00 0 c eee eee 1 45 SOFTWARE INSTALLATION 2 1 2 1 IntrOductiOn 43 0 dia ees BAS RSS Aes 2 3 2 2 Note about Filenames 0 0 00000 eee 2 3 2 3 Configuring the X Windows Motif Environment 2 3 2 4 Using X Resourc s inasai echo ee bee tebe kek 4 2 4 COMMAND LANGUAGE 3 1 3 1 Introducti
5. Appendix B The included files can only contain functions definitions It is not possible just include a script fragment The include files are searched in the following order 1 Directory of the CXL file that contains the include statement 2 Current working directory 3 The etc CXL directory in the installation tree of the product 3 PREDEFINED FUNCTIONS The following sections list the predefined functions in CXL Several functions are only useful when using CXL for scripting the data analysis window 3 1 MATHEMATICAL FUNCTIONS CXL knows the following mathematical functions The implementation is equal to those functions in the standard C library double sin double x double cos double x double tan double x double acos double x double asin double double atan double double sinh double double cosh double double tanh double double log double x double log10 double x double exp double x double sqrt double x double ceil double x double floor double x double fabs double x double pow double x double y se Ne Ne Ne Ne Ne xx mM MM CrossView Extension Language CXL B 11 3 2 ARRAY AND STRING FUNCTIONS Upperbound of an array long upperbound array a The following string and array functions have the same implementation as in the standard C library Replace array with one of the compound types array of char strcpy char s string ct int strcemp st
6. all TASKING M XIGNAddV CrossView Extension Language CXL B 3 1_ INTRODUCTION The CXL language is used for scripting specifically for the data analysis window and simulation scripts From CXL only limited access is possible to the CrossView Pro data Usually CXL scripts are bound to a CrossView Pro command such as a graph command or a cycle breakpoint with a cxl command The CXL syntax is derived from the C syntax the basic differences from C are No preprocessor so no defines Only comments 7099 No structs or unions so the operators and gt are not supported No type definition No enums No switch statement No casts allowed Casts are performed automatically like in C No operator allowed Blocks must not be empty 1 is the minimal expression No main all the script code is to be enclosed within a f and Y pair Function prototypes and function definitions can be nested but must be preceded by the keyword sub They can be used anywhere in the source Following the scope rules a function declaration hides a previous definition when it is defined Single statements after a flow control statement if else for while should always be between braces Initializers in declarations are not allowed Modifiers such as signed unsigned register and static are not supported Floating point numbers below 1 should always be preceded by a
7. 6 THE TARGET CONFIGURATION FILE The target configuration files cfg describe the available target boards These files are text files and can be edited with any text editor Empty lines lines consisting of only white space are allowed Comment starts at an exclamation sign C and ends at the end of the line An information line has the following synopsis comment field subfield field value field subfield field value comment optional comment one of the keywords described below the usage of this part depends on the value of field see the value assigned to the field The fields listed in the configuration file are Field Description title The full name of the configuration This name will be displayed in the Target configuration field of Target Settings dialog cpu_type The name of the CPU present on the target board CrossView Pro knows four types of CPUs 167 167mac ext2mac and ext22mac 167 represents the extended architecture like the C161 C163 C164 C165 and C167 families 167mac represents the extended architecture including the MAC coprocessor like the ST10x262 and ST10x272 families ext2mac represents the second extended architectures like the XC16x and Super10 ext22mac represents the enhanced Super10 architectures Mon 35 Mon 36 Execution Environment Field Description debug_instrument_module The name of the Deb
8. and shift lt lt gt gt operators only work on data not addresses If you intended to perform the operation on the contents of the address please be sure to dereference the pointer Attempt to set breakpoint at invalid address The memory location is not available If the memory location is not out of the target chip s range you may need to map the target system s memory to allow access to this location Bad argument to the command command The argument you have given to the sio or f command is not allowed Refer to the Command Reference chapter for allowable arguments and their meanings Bad assertion number number The number number is not a valid assertion number List assertions with the la list assertions command to determine which assertion numbers are valid both expressions must be addresses for relational operator If one of the expressions is an address type both expressions for relational operators lt lt gt gt and must be address types Retry with both expressions as either addresses or arithmetic types Breakpoint is or at the address of an CrossView internal breakpoint It can not be deleted You may not install a breakpoint over an CrossView Pro internal breakpoint See Breakpoints and Assertions chapter for more information Error Messages 14 5 com return code code The MS DOS version of CrossView Pro received a status condition from the monitor communi
9. Shoi print result success result xvw Execute Shoi print result del xvw if name main test_xfw lt targ gt _com_object A 14 Appendix A 7 Events Callback Example with Events callback import win32com client Python 1 4 requires import ni first import win32ui import re seen_ready event 0 class xvw_events def OnCrossViewEvent self strUnicode global seen_ready_event print CrossViewEvent str strUnicode if re match CommandInterpreterReady str strUnicode seen_ready event 1 class Xfw lt targ gt def init self cmdline_options self COMobject win32com client DispatchWithEvents Xfw lt targ gt CommandLine xvw_events self COMobject Init cmdline options def Execute self text sequence number 0 result self COMobject Execute text sequence number convert Unicode to Python string retval result 0 str result 1 return retval if name main xvw Xfw lt targ gt sd testdirl print xvw Execute hello Python hoit while seen_ready event 0 win32ui PumpWaitingMessages 0 1 print terminating del xvw Interprocess Communication A 15 Python Makepy Utility In the examples above Python will load the type info dynamically from the COM object This is called dynamic binding or late binding in PythonCOM jargon However PythonCOM also pr
10. Display format required The display command expected an output format option that was not supplied See chapter Command Language for valid format options and their meanings Double not allow in or operator You may not use the one s complement or modulus operators on double floating point types Double not allow in bitwise operator You may not use bitwise operators amp and on double floating point types ERROR you must enter i r d CrossView Pro s line editor only supports the following commands help i insert r replace d delete and lt cr gt to execute command Establish a file context first The command executed requires an active file Verify the file you specified to CrossView Pro on start up Establish a procedure context first The command executed requires an active procedure Either execute the command from within a procedure or give a procedure name as an argument to the command Error Messages 14 9 Exiting procedure call state An unknown system signal caused the end of a command line function call Expecting stream number The following forms of the sio command expect a stream number stream sio i o file screen stream sio d stream sio p prompt Expression garbaged The symbol table contains a type that is unknown to CrossView Pro Please verify that you are using the compiler and utilities supplied to you If the condition persists please contact the TASKING Tech
11. In the In the In the In the File Options dialog you will find Desktop Allows you to specify color settings for the execution position in the Source Window and the colors used in the Memory Window to show how a memory location has been accessed by the application program You can also specify font sizes to be used in output windows Toolbar Allows you to configure the main toolbar to your personal preferences Tools menu you will find Record Playback and Log Allow you to set command recording and playback options Toolbox Setup and Macro Definitions Allow you to define macros and assign them to a push button in the Toolbox Data menu you will find Data Display Setup Allows you to specify how CrossView Pro displays data This dialog also determines if the Expression Evaluation dialog box must be bypassed or not Settings menu you will find Source Window Setup Allows you to specify the step mode symbolic disassembly automatically switching between source lines and disassembly source to be displayed in the Source Window and display code coverage information Register Window Setup Allows you to specify the registers that appear in the Register Window And you can set the display format to hexadecimal or decimal Memory Window Setup Allows you to specify the mode and size of the data and the number of data rows and columns to be shown in the Memory Window It also allows you to automatically re
12. Simulator Sim 9 5 TARGET CONFIGURATION FILE The target configuration files sim cfg describe the available simulator configurations A configuration file is a text file and can be edited with any text editor CrossView Pro searches for the target configuration file in the current directory and in the etc directory On startup CrossView Pro selects the configuration indicated with the tcfg command line option or by the Target Settings dialog and reads the target configuration file in memory This configuration can be selected using the filename or the full name title field of the configuration Empty lines lines consisting of only white space are allowed Comment starts at an exclamation sign and ends at the end of the line An information line has the following synopsis comment field field value field one of the keywords described below field value the value assigned to the field comment optional comment The known fields are Field Description title The full name of the configuration This name will be displayed in the Target configuration field of the Target Settings dialog cpu_type The name of the target CPU CrossView Pro knows four types of CPUs 167 167mac ext2mac and ext22mac 167 represents the extended architecture like the C161 C163 C164 C165 and C167 families 167mac represents the extended architecture including the MAC coprocessor like the ST10x262
13. addr mF expr expr Description The mF command fills target memory with data The value defined by exp is written to address addr in target memory Multiple exps separated by commas may be entered Each exp is written to a subsequent MAU If your target supports multiple memory spaces then addr may refer to any memory space If the sizeof a given exp occupies more than one MAU only the least significant MAU will be written to memory This command does not have any effect on code breakpoints Example To store value 0x12 at memory location 0x400 and value 0xAB at location 0x401 type 0x400 mF 0x12 OxAB d mcp mf Command Reference 13 149 mf Function Memory fill repeating the specified pattern until the specified region is filled From the Memory Window click on the Fill Memory button to open the Memory Fill dialog Enter the start address and end address inclusive of the memory region you want to fill Enter one or more expressions separated by commas and click on the OK button Eg The command syntax is addr _start mf addr_end expr expr Description The mf command fills a block of target memory with a pattern The memory region starting at address addr_start and ending at address addr end is filled with the pattern defined by exp exp Multiple exps separated by commas may be entered Each exp is written to a subsequent MAU The specified pattern is repeated until the end address of m
14. statement to be executed To single ste by one C statement we can use the s cor Figure 1 4 Command Window zi Main Local Source Window Status Bar Toolbars Status Bar 1 16 Chapter 1 CrossView Pro can be passed the name of an execution abs file When you invoke CrossView Pro from EDE EDE automatically passes the name of the absolute file project abs of the current project If do not use EDE you can do this from a command line but the native windowing system often provides alternatives Usually this involves dragging the program to be debugged onto the CrossView Pro executable from the Windows Explorer and dropping it there or associating CrossView Pro to be the application to start when double clicking an abs icon CrossView Pro will start and load the symbol information from that file 1 6 3 1 CROSSVIEW PRO TARGET SETTINGS You can specify specific CrossView Pro startup settings in the Target Settings dialog To open the Target Settings dialog e From the Target menu select Settings The Target Settings dialog box appears as shown in figure 1 5 Target Settings BE Target configuration C target etc sample1 cfg C target etc sample2 cig C target etc sample3 cig E I Show configuration titles Browse CPU type epu x Execution environments z Configuration Simulator hd Description file fe target etc target dsc 7 Browse Source directories fr ti
15. 8 12 MACROS Chapter 8 e Click on the Assign button or press the Enter key Note that double clicking on the macro name in the alphabetized list performs the third step automatically The name of the new function appears on the selected button and the connection is performed Toolbox Setup DelAIIBrk a Main Rerun Reset Return Keefe UT FREE E Figure 8 3 Setting Up the Toolbox AN Do not assign parameterized macros to the toolbox since there is no way to pass in parameter values 8 5 3 REMOVING A MACRO CONNECTION To delete a macro definition from the toolbox Gr Follow these steps e From the Tools menu select Toolbox Setup to open the Toolbox Setup dialog box e Select the desired button e Click Clear This deletes the macro definition from the toolbox COMMAND RECORDING amp PLAYBACK all TASKING M daLdVH Command Recording amp Playback 9 3 9 1 RECORDING COMMANDS CrossView Pro lets you save a series of CrossView Pro commands to the file of your choice This is record mode You can re load a saved file to repeat parts of debugging tasks or replay a debugging session up to the point where you left the last time Record mode means that all CrossView Pro commands from the keyboard mouse or menu are recorded to a disk file The debugger can read this file and execute the commands as if they were entered into the Command Window This is ca
16. The name of the RS232 pin to set the target in bootstrap mode for example DTR rs232_bootstrap_level The level when the BSL pin is active rs232_bootstrap_hold_ level The hold level when the BSL pin is active 1 21 1 22 s Chapter 1 For the JTAG OCDS connection via parallel port the following items can be added to this list Field Description monitor The filename of the monitor program for target boards using a JTAG OCDS debug interface When this field is omitted CrossView Pro will issue an error For the C165UTAH board this is the file m167ocds sre JtagDriver The filename of the JTAG API interface This interface communicates with the CrossView Pro diocds166 Debug instrument DI on one side and the actual JTAG driver installed as a service on the other side This driver actually communicates with target board via the parallel port RegisterFile The filename of the register list file dat to be used for OCDS interface This register file contains register information for the Debug Instrument like which E SFR registers are present and at which location This file must be used along with the register_file entry which contains the register information for CrossView Pro init Initialize the register specified in the subfield with the value specified in field value The register name in subfield must be known by CrossView Pro i e must be
17. 13 58 Chapter 13 7 break Function Universal breakpoint command From the Breakpoints menu select Breakpoints to add remove enable disable breakpoints a The general command line syntax is break type where option Description This is a universal breakpoint command type can be one of code data instructions cycles time sequence set delete enable disable The type can be abbreviated So t ti tim time are the same When the type field is not specified the type defaults to code Depening on the type field the where field will evaluate to an address count name breakpoint number or a sequence The available options are listed below Code breakpoints Syntax break code address option address can be any expression evaluating to an address Data breakpoints Syntax break data address option address can be any expression evaluating to an address Command Reference 13 59 Instruction count breakpoints Syntax break instructions count option count can be any expression evaluating to the number of instructions Cycle count breakpoints Syntax break cycles count option count can be any expression evaluating to the number of cycles Timer breakpoints Syntax break time ime option time can be any expression evaluating to a time value Depending on the setting of the timer_unit option this value is in seconds or timer ticks default is
18. Debug Instrument I O DIO If you have a debug instrument that supports it the debug instrument can perform input and output using GDI callback functions 10 2 I O STREAMS You can setup I O streams with the I O Simulation Setup dialog There is virtually no limit on the number of streams that can be opened or created Each type of I O stream FIO FSS DIO has its own numbering FIO 0 1 2 k FSS 0 1 2 m DIO 0 1 2 n You can map multiple streams to one terminal window For File I O you can use the ios_ commands to open or close a FIO stream on the command line Streams can be opened manually or are opened at the first call or operation that accesses a specified I O stream for Debug Instrument I O handling For FSS the target application can open streams with fopen or open calls and close streams with fclose or close calls 10 4 Chapter 10 Streams can be mapped to a terminal window and or a file that is NOT the terminal log file If a stream is mapped to a terminal window and a file the output will go to the terminal window and also to the file In case of input the input will be read from the file The read input will be echoed on the connected terminal window I O streams opened by FSS are closed when end of program is reached or if a program reset occurs I O streams opened by CrossView Pro will be rewound The windows to which the streams are mapped remain open In the I O Simulation Setup dialog y
19. From the Target menu select FLASH Setup Click Check ID g The command line syntax is fc device number Description Check the manufacturer and device identifiers of a flash device Each device has a unique manufacturer and device identification value With this command you can check if the flash device on the target board matches the device you have selected The manufacturer value is 0x01 for AMD devices and Ox1F for Atmel devices The device identifier value of the AMD flash device AM29F040 is OxA4 The fe command first checks the manufacturer identification If this succeeds the device identification is checked If the retrieved identifiers do not match this command issues an error If the flash device on the target board can be identified it will report the name of this flash device Use the fl command to see a numbered list of flash devices Example To check the manufacturer and device id of flash device number 1 type cl f d fa fd fl fp fw 13 106 Chapter 13 fd Function Delete a FLASH device From the Target menu select FLASH Setup Select a device and click Remove EEs The command line syntax is fd device number Description Delete a flash device from the list of configured flash devices Use the fl command to see a numbered list of flash devices Example To delete flash device number 0 type do f db fa fc fl Command Reference 13 107 fl Function List FLASH devic
20. MA019 041 00 00 Doc ver 10 168 C166 ST10 v8 8 CrossView Pro Debugger User s Manual A publication of Altium BV Documentation Department Copyright 2009 Altium BV All rights reserved Reproduction in whole or part is prohibited without the written consent of the copyright owner TASKING is a brand name of Altium Limited The following trademarks are acknowledged FLEXIm is a registered trademark of Macrovision Corporation Intel is a trademark of Intel Corporation Motorola is a trademark of Motorola Inc MS DOS and Windows are registered trademarks of Microsoft Corporation SUN is a trademark of Sun Microsystems Inc UNIX is a registered trademark of X Open Company Ltd All other trademarks are property of their respective owners Data subject to alteration without notice http www tasking com http www altium com The information in this document has been carefully reviewed and is believed to be accurate and reliable However Altium assumes no liabilities for inaccuracies in this document Furthermore the delivery of this information does not convey to the recipient any license to use or copy the software or documentation except as provided in an executed license agreement covering the software and documentation Altium reserves the right to change specifications embodied in this document without prior notice TABLE OF CONTENTS all TASKING M SLNALNOD Table of Contents
21. Tara Systems Bootstrap Monitor Flash Configuration File Loader Monitor Tara Guido SDA6000 b167nrb sre m167r sre f167 sre tara_sda6000 cfg TQ Components Bootstrap Monitor Flash Configuration File Loader Monitor STK16X with TQM164C b164nrb sre m164r sre f167 sre tqs_164ci_tqm164c cfg STK16X with TQM165 b167nrb sre m167r sre f167 sre tqs_165_tqm165 cfg ROM RAM Monitor Mon 55 TQ Components Bootstrap Monitor Flash Configuration File Loader Monitor STK16X with TQM167C b167nrb sre m167r sre f167 sre tqs_167cr_tqm167c cfg STK16X with TQM167LC b167nrb sre m167r sre f167 sre tqs_167cr_tqm167lc cfg STK16XU with TQM167U b167nrb sre m167r sre f167 sre tqs_167cr_tqm167u cfg STK16XU with TQM167UE b167nrb sre m167r sre f167 sre tqs_167cr_tqm167ue cfg STK16XU with TQMX161U bxc16xnrbe sre mxc16xre sre fxc16x sre tqs_xc161cj_tqmx161u cfg STK16XU with TQMX167U bxc16xnrbe sre mxc16xre sre fxc16x sre tqs_xc167ci_tqmx167u cfg Other Bootstrap Monitor Flash Configuration File Loader Monitor RAM Monitor default b167 sre m167r sre f167 sre default cfg ROM monitor C165 rom165 cfg ROM monitor C167 rom167 cfg Table Mon 9 Supported target boards The following sections contain application notes on several target boards 10 1 ERTEC EVA165 EVA167 AND EVA167AA The debugger has been developed and tested with EVA165 and EVA167 boards which support the on ch
22. e View code coverage information e View profiling timing information An example of the source window is shown in figure 4 7 n e i Zw AQ O Ho l 4 a3 01416 main Source lines P Source line step Y void main void int loopvar the loop counter long sum will be 17 sum of factorials from 0 to char cvar sample char variable initval 17 if initval gt recordvar a Breakpoint Coverage Profiling Current Status Toggles Markers Execution Position Bar Figure 4 7 CrossView Pro Source Window You can specify the step mode symbolic disassembly and source lines disassembly with the Source Window Setup dialog box Settings Source Window Setup or with Run Step Mode Alteratively you can use the drop down menus in the Source Window s status bar Using CrossView Pro 4 25 The default step modes are Source lines Window Source line step Disassembly Window Instruction step Source and Disassembly Window mode of previous window assumes the step mode of the previous Source Window setting The location of the cursor is also the viewing position The line number and address of the viewing position appears at the top left position of the Source Window This does NOT represent the current execution position Spc The current execution position appears in reverse or blue color The cursor appears as a dotted line On MS Windows the so called quick watch feature is supporte
23. include lt stdio h gt ERSA demo 5 Files typedef enum color_e Document Windows define BELL_CHAR 007 i Used to view and edit files red yellow blue Project Window Contains several tabs for viewing struct rec_s information about projects and other type Output Window Contains several tabs to display and manipulate results of EDE operations For example to view the results of builds or compiles A Fie Find A Search A Browse A Difference K Shell A Symbols OO Ot fins Lines 11 Cot 1 How to Select a Toolchain EDE supports all the TASKING toolchains When you first start EDE the correct toolchain of the product you purchased is selected and displayed in the title of the EDE desktop window If you have more than one TASKING product installed and you want to change toolchains do the following 1 From the Project menu select Select Toolchain The Select Toolchain dialog appears Overview 1 37 Select Toolchain 27 xi Product Folder ic target Toolchains Cancel TASKING lt toolchain gt lt version gt Browse Scan Disk IV Display Toolchain switched to message Delete EEE 2 Select the toolchain you want You can do this by clicking on a toolchain in the Toolchains list box and click OK If no toolchains are present use the Browse or Scan Disk button to search for a toolchain directory Use th
24. s execution begins See also system startup code MAU See minimum addressable unit 15 8 Chapter 15 memory map The configuration of an emulators memory that specifies which addresses are read only and which addresses are read write With many emulators you must first set up a memory map before using CrossView Pro for example via transparency commands minimum addressable unit For a given processor the amount of memory located between an address and the next address It is not necessarily equivalent to a word or a byte Abbreviated MAU monitoring See data monitoring object language A representation for target machine instructions with the ability to represent either relocatable or absolute address locations on line help A complete summary of all CrossView Pro commands and individual descriptions available while CrossView Pro is running on line tutorial A playback file supplied with CrossView Pro that demonstrates CrossView Pro s capabilities output buffer The location in memory where CrossView Pro directs I O simulation output See also I O Simulation patch A technique to alter program flow without recompiling the source code with CrossView Pro commands and or C expressions With CrossView Pro it is possible to use breakpoints to alter program flow by patching in new code or moving the execution position around existing code pop up window A window that appears in certain situations that overlaps t
25. xvw wt 3 A program running in background mode also stops when it encounters a breakpoint FUNCTION Stop a program in background mode COMMAND st The wt command behaves just as if you have typed the C command CrossView Pro returns with a prompt after the program hits a breakpoint However there is an interesting difference with the C command If you push the Halt button it returns with the background prompt The program that runs in the execution environment continues without interruption FUNCTION Wait for the running process to stop COMMAND wt Special Features 11 27 11 7 5 THE STACK IN BACKGROUND MODE While the execution environment runs in background CrossView Pro does not allow the use of information that comes from the stack The reason is that the running program must be stopped in order to get consistent information from the stack Stopping and afterwards continuing the program conflicts with the real time nature of the background mode If there is a need for it you can make a macro that performs the desired operations 11 7 6 LOCAL AND GLOBAL VARIABLES 6 In background mode you can continuously monitor variables However realize that local variables in CrossView Pro variables are called local if they reside on the stack cannot be monitored Instead you will see unknown name Global variables have a fixed address so CrossView Pro knows where to get their contents
26. zero For example the number 15 is treated as invalid this should be 0 15 Furthermore the syntax is like the C syntax B 4 Appendix B 7 Example sub void p function f outd outc n sub int h return 1 This is the main entry point p h sub int h return 2 p h This example would print the following output in the command window 1 2 2 THE SYNTAX OF CXL A CXL script always starts with an open brace and ends with a closing brace script here There is no main function in a CXL script the script just starts after the first open brace Comments start with a and end at the end of the line Comments are allowed anywhere in the script including before the first brace and after the last brace The C style comments are not allowed CrossView Extension Language CXL B 5 Within scripts blocks can be defined and nested just like in C Each block starts a new scope level for variables Blocks must not be empty 1 is the minimal expression There is no preprocessor like in C so you cannot use C preprocessor directives such as defines The control flow statements if else while and for are supported just like in C The statements after the control flow statement must always be included between braces For example the following expression is not allowed if
27. 13 109 fpe command 13 110 frame pointer 3 10 FSS redirection 10 7 summary of commands 13 14 FSS command 13 111 FSS_stdio_close 13 112 FSS_stdio_open 13 113 functions 3 20 listing all 6 10 listing local variables and parameters of 6 23 fw command 13 114 G g command 5 5 13 115 GDI 1 8 9 12 9 13 logging 9 13 9 15 9 17 getting started 1 13 gi command 5 6 13 116 global variables 3 8 glossary 15 1 graph command 13 117 graph_add_update command 13 118 Index Index 11 graph_clear_updates command 13 119 graph_close command 13 120 graph_debug command 13 121 graphm command 13 122 graphmn command 13 123 graphp command 13 124 GUI update suppress 13 125 gus command 13 125 Halt A 7 halt A 25 halt execution 5 9 HaltButtonPressed A 9 Help A 20 help on line 1 7 4 40 summary of help commands 13 15 hexadecimal disassembly 3 10 hexadecimal notation 3 4 history mechanism 15 6 huge 6 8 6 15 I command 13 126 I ME C167C application notes Mon 56 connecting to Mon 56 debug monitors Mon 56 I O simulation 1 5 defined 15 7 disable streams 10 7 enable streams 10 7 file system simulation 10 7 redirecting streams 10 6 setting up streams 10 4 terminal windows 4 35 ied command 13 127 ieee166 1 13 if command 13 128 ihex166 1 13 ilvl Mon 38 image part 15 7 in situ editing 6 7 6 29 init 1 21 1 22 1 23 Mon 37 OCDS 7 Init0 A 6 input output
28. 6 7 and 8 of the current source file type 4ps5 dber Command Reference 13 161 pC Function Set the viewing position to the previous covered block of statements Q Use the scroll bar and click on the desired line Ea The command line syntax is pc Description If code coverage is supported by your version of CrossView Pro this command enables you to skip to the previous block of statements that have been executed while the program was running on the target Example To move the cursor to the previous executed block type pc Gs nC nU pU 13 162 Chapter 13 a pd Function Disable turn off profiling Q From the Tools menu select Profiling if this item was set Eg The command line syntax is pd Description If profiling is supported by your version of CrossView Pro this command disables the profiling system Normally you should disable profiling if you are not interested in the profiling results as this will often improve the performance of the execution environment Example To disable profiling type P dh d Command Reference 13 163 pe Function Enable turn on profiling Q From the Tools menu select Profiling if this item was not set The command line syntax is pe Description If profiling is supported by your version of CrossView Pro this command enables the profiling system Normally you should disable profiling if you are not interested in the profiling res
29. A 6 7 Appendix A 1 3 2 METHODS This section lists the methods that are supported by the CrossView Pro COM object s default interface ICommandLine The data types and return values are expressed as COM base types For example BSTR is a wide character UNICODE string type which is the same type as Visual Basic strings mit db void Init BSTR CommandlineOptions Passes command line options to the CrossView Pro COM It is necesarry to call the Init method before you can use the CrossView Pro COM object If you do not need to pass any options invoke Init with an empty string CommandlineOptions The string with the command line options The options are written as on a regular command line The list of supported command line options can be found in the CrossView Pro User Manual See Section 4 4 Startup Options in Chapter Using CrossView Pro for a complete overview of all available command line options Execute BOOLEAN Execute BSTR Command long SequenceNumber BSTR Result Passes a command to CrossView Pro executes it and returns TRUE or FALSE after the command has been executed Command The command to be executed by CrossView Pro SequenceNumber A number that is unique for each command You can use this number to distinguish the output in the events stream If you do not use this specify a value of 0 Interprocess Communication A 7 Result The textual output of the command window encapsula
30. All breakpoints you add to the list must be enabled otherwise the sequence breakpoint itself will not hit Ea From the Command Window e Use the sequence argument of the break command with a list of breakpoints to specify the sequence For example break sequence 0 1 and 3 2 In this example the sequence breakpoint hits when probe point 0 is hit first then 1 and 3 are hit in any order and finally probe point 2 is hit FUNCTION Set a sequence breakpoint COMMAND break sequence sequence option 7 3 DELETING BREAKPOINTS You can delete a breakpoint directly from the source code using the menu items or through the Command Window To see a list of active breakpoints select Breakpoints from the Breakpoints menu or use the 1b command in the Command Window To delete a code breakpoint Click on the corresponding breakpoint toggle next to the source line in the Source Window This deletes the code breakpoint and the breakpoint toggle turns green Be aware that if more than one breakpoint was set at this position all breakpoints are deleted Q You can also follow these steps e From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box This box contains a remove function Breakpoints and Assertions 7 17 e Select the Breakpoint from the list e Click the Remove button eee Use the break delete breakpoint_number name command in the Command Window You need to know the br
31. Before CrossView Pro executes a source line of code it assesses all assertions active Since CrossView Pro is single stepping breakpoints will not be effective As long as there is at least one assertion active CrossView Pro operates in assertion mode A program running in assertion mode will be stopped when an asserted command executes the x exit assertion mode command background mode A target dependent feature in CrossView Pro that lets the execution environment run and at the same time allows you to enter a reduced set of CrossView Pro commands for example to monitor memory contents 15 4 Chapter 15 bias A value added to program code addresses to tell CrossView Pro where the application has actually been loaded into memory The bias can be set in the Load Application dialog or with the n startup option breakpoint A mechanism for stopping target program execution for example at a particular line of code see code breakpoint when a memory address is accessed see data breakpoint or at a return from a function see up level breakpoint There are two general kinds of breakpoints Hardware which the emulator or on chip debug support sets in its circuitry and software which are special instructions placed in user code Since the number of simultaneous hardware breakpoints is limited in number CrossView Pro uses both kinds by default Other types of breakpoints are for example instruction count breakpoint cycle count brea
32. Class module clsXfw lt targ gt Option Explicit members Public WithEvents oXfw lt targ gt As Xfw lt targ gt Private Sub Class Initialize End Sub Private Sub oXfw lt targ gt _CrossViewEvent ByVal strEvent As String MsgBox strEvent End Sub 6 Insert a module via the menu bar Insert Module 7 Paste the following text Module testXfw lt targ gt r Option Explicit Dim oXfw lt targ gt l As New clsXfw lt targ gt run automatically when your Addin loads and your Addin will automatically load when Word loads Public Sub AutoExec Set oXfw lt targ gt 1 oxfw lt targ gt New Xfwppc call oXfw lt targ gt 1 oxXfw lt targ gt Init End Sub Interprocess Communication 1 5 4 EXCERPT OF THE MIDL DEFINITION The ICommandLine interface is dual the ICommandLineEvents connection point interface is not Replace all occurences of Xfw lt targ gt in the example below by the name of your CrossView Pro executable to make the text applicable interface ICommandLine HRESULT Init in BSTR CommandLine HRESULT Execute in BSTR Command in long SequenceNumber out BSTR Result out retval VARIANT _BOOL Ok HRESULT Halt void HRESULT ExecuteNoWait in BSTR Command in long SequenceNumber out retval VARIANT_BOOL library CrossViewLibXfw lt targ gt dispinterface _ICommandLineEvents methods void CrossViewEvent in BSTR coclass Xfw l
33. Command Input Output Log CrossView Emulator I O or Log CrossView GDI Accesses to select the appropriate dialog box 9 16 7 Chapter 9 To suspend logging OY Click on the Suspend button g In the Command Window use the gt gt f command for suspending the logging of the Command Output Window Type gt amp f to suspend the Emulator Output Window Type gt f to suspend GDI accesses logging After you issue this command CrossView Pro does not save all subsequent commands and their computer responses To resume logging ro Click on the Resume button Ez In the Command Window use the gt gt t command to resume logging the Command Output Window Type gt amp t to resume the Emulator Output Window Type gt t to resume GDI accesses logging After you issue this command CrossView Pro saves all subsequent commands and their computer responses FUNCTION Suspend output logging logging is false COMMAND gt f FUNCTION Resume output logging logging is true COMMAND gt gt t FUNCTION Suspend target logging logging is false COMMAND gt amp f FUNCTION Resume target logging logging is true COMMAND gt amp t Command Recording amp Playback 9 17 FUNCTION Suspend GDI acesses logging logging is false COMMAND gt f FUNCTION Resume GDI acesses logging logging is true COMMAND gt t 9 4 5 CLOSING THE OUTPUT LOG FILE To close the output file PY From To
34. In the Source Window a green colored toggle shows that no breakpoint is set A red colored toggle shows that a breakpoint is installed An orange colored toggle indicates an installed but disabled breakpoint If coverage is enabled coverage markers are present to the right of the breakpoint toggles An executed line is marked and not executed lines are not marked a eE Eaa e aE EI a3 pal 01416 main Source lines x Source line step Y _ void main void int loopvar the loop counter long sum will be 17 sum of factorials from 0 to char cvar sample char variable initval 17 if initval gt recordvar a Breakpoint Coverage Profiling Current Status Toggles Markers Execution Position Bar Figure 7 1 Code Breakpoint Permanent Temporary Code Breakpoints Code breakpoints can be permanent or temporary A permanent breakpoint exists until explicitly deleted A temporary breakpoint only exists until it stops the program once Probe Points A breakpoint can be treated as a probe point When a probe point is hit the associated commands are executed and program execution is continued Probe points are used with File I O simulation and sequence breakpoints Breakpoints and Assertions 7 5 How CrossView Pro Sets Code Breakpoints CrossView Pro depends on the symbol table for information about how machine instructions map to lines of source In general the C compiler issues line symbols
35. Single step exp default is 1 C statements stepping into function calls Stepping into a function means that CrossView Pro enters the function and executes its prologue machine instructions halting at the first C statement When the end of the function is reached CrossView Pro brings you back to the line after the function call The debugger changes the source code file displayed in the Source Window if necessary AN This command is not allowed when the target runs in the background Example To step one source instruction type s To step five source instructions type 5 s Gs C S si Si 13 174 Chapter 13 7 save Function Save macros From the Tools menu select Macro Definitions to open the Macro Definitions dialog box From this dialog box you can save macros with the Save button To save macro definitions in a file other than the current one click on the Save as button g The command line syntax is save file Description Save all currently defined macros in the specified file This file is in the format of a sequence of set commands and thus can be loaded by reading it as a playback file See the lt and lt lt commands An existing save file with the same name will be overwritten Example To save the definitions of the currently defined macros in the file mac sav type save mac sav db set unset echo lt lt lt Command Reference 13 175 set Function Definitio
36. Table 4 1 CrossView Pro Startup Options Using CrossView Pro 4 11 4 4 1 WHAT YOU MAY HAVE DONE WRONG Most problems in starting up CrossView Pro for a debugging session stem from improperly setting up the execution environment or from an improper connection between the host computer and the execution environment Some execution environments require you to enter transparency mode to set the execution environment for a debugging session Check the notes for your particular execution environment and the addendum of this manual Here are some other common problems Specifying the wrong device name when invoking the debugger Specifying a baud rate different from the one the execution environment is configured to expect Not supplying power to the execution environment or an attached probe Using the wrong kind of communication cable Plugging the cable into an incorrect port Some target machines have several ports Installation of a device driver or resident applications that use the same communications port on the host system The port is already in use by another user or login process on some UNIX hosts Specifying no or an invalid cpu type with the C option Using the CAN interface requires downloading the CAN ROM Monitor first using for example the serial communication method 4 12 Chapter 4 we 4 5 THE CROSSVIEW PRO DESKTOP The CrossView Pro desktop is the screen background in which all windows i
37. These commands and the debugger s response is logged in the Command Output Window which is the upper part of the Command Window Alternatively CrossView Pro commands can be entered directly without using the menu system in the command edit field of the command window To open the Command Window e From the View menu select Command CrossView Figure 1 11 shows an example of the Command Window Commands can be typed into the command edit field bottom field or selected from the command history list middle field and edited then executed The top field is referred to as the Command Output Window Each command echoed from the command edit field is displayed with a gt prefix CrossView s response to the command is displayed below the command CrossView Command CrossView Response Output Window Command CrossView gt initval initval 17 Command Edit Field Command History List Figure 1 11 CrossView Pro Command Output You can choose to clear the command edit field after executing a command From the File menu select Options and select the Desktop tab Enable the Clear command line after executing command check box You can use the clear command to clear the Output Window Overview 1 33 1 6 7 EXITING CROSSVIEW PRO To quit a debugging session e From the File menu select Exit or close the Command Window e Inthe Options dialog that appears select in the Save tab the options you want to be save
38. Using CrossView Pro Describes the basic methods of invoking operating and exiting CrossView Pro 5 Controlling Program Execution Describes the various means of program execution 6 Accessing Code and Data Describes how to view and edit the variables in your source program 7 Breakpoints and Assertions Describes breakpoints and assertions XVIII 7 Manual Purpose and Structure 8 Defining and Using Macros Describes how to simplify a complicated procedure by creating a shorthand macro which can be used to execute any sequence of CrossView Pro or C language commands and expressions 9 Command Recording amp Playback Describes the record and playback functions of CrossView Pro 10 I O Simulation Describes how to simulate your input and output using File System Simulation FSS File I O FIO or Debug Instrument I O DIO 11 Special Features Describes special features of CrossView Pro such as the Transparency Mode RTOS Aware Debugging Coverage Profiling and the Background Mode 12 Debugging Notes Contains some notes about debugging in special situations 13 Command Reference An alphabetical list of all CrossView Pro commands Consult this chapter for specifics and the exact syntax of any CrossView Pro command 14 Error Messages Contains CrossView Pro error messages and gives advice for correcting them 15 Glossary Defines the most common terms used in embedded systems debugging Manual Purpo
39. a target configuration file You can select one of the target configuration files by using the tcfg option or by selecting the target configuration file from the Target Settings dialog Target Settings RESTRICTIONS Facilities for hardware breakpoints real time kernel support and trace are absent on these evaluation boards As a consequence the CrossView Pro commands bd and bD for data breakpoints the commands bt bti btI et and 1 t for kernel support and the command ct for C level tracing are not available Due to the binary command interface between debugger and evaluation board the gt amp command to record target communication and the o command for transparency mode are not available Profiling is only available for ICEs that support it Contact your ICE vendor to ask if they support profiling Menu and dialog items related to the mentioned commands are disabled grayed out When a breakpoint is set in an ATOMIC or EXTEND sequence CrossView Pro will set a breakpoint at the first instruction after the sequence Within an ATOMIC or EXTEND sequence class A hardware traps are not handled Therefore it is not possible to set a breakpoint within a sequence because breakpoints are set by a TRAP 2 NMI instruction which is a class A hardware trap ROM RAM Monitor Mon 5 5 THE RAM AND ROM DEBUG MONITOR For running and debugging an application on your target board with CrossView Pro a debug monito
40. otherwise turn logging on t off f or close c the log file Specifying a different file while logging is on will cause the old output file to be closed and all successive Command window output will be sent to the new file If no arguments are given the state of the recording and logging mechanism is displayed The optional forces flushing of the output after every write Because output is logged as well as commands files logged using gt gt cannot be played back like those recorded with the gt command It is possible to have both a command recording file and a screen output logging file open concurrently The log file is also closed as a side effect of the q command Log files may not be named t f or c Example To set or change screen output recording file to the file screen log and turn screen output recording on type gt gt screen log To suspend recording the screen output type gt gt f Command Reference 13 33 To resume recording the screen output in the recording file type gt gt t To stop recording the screen output and close the file type gt gt c To display the state of the recording mechanism type gt gt Gb gt gt amp I q 13 34 Chapter 13 a gt amp Function Log communications between debugger and emulator To save debugger emulator communications select Log CrossView Emulator I O from the Tools menu Type or select a file to log to and click on t
41. starting with an input file of any stage With a C source file as input cc166 calls c166 a166 and 1166 with the appropriate command line arguments The C compiler which translates C source into C source suitable for the C compiler Must be ordered separately The C cross compiler which translates a C source program into a highly optimized assembly source file A string macro preprocessor allowing macro substitution file inclusion and conditional assembly according to the Macro Preprocessor Language The assembler program which produces an object file from a given assembly file A linker locator combining objects and object libraries into tasks or several tasks into one target load file A librarian program which can be used to create and maintain object libraries A utility to disassemble absolute object files and relocatable object files A dumper utility to report the contents of an object file A program builder which uses a set of dependency rules in a makefile to build only the parts of an application which are out of date 1 12 Chapter 1 C source file CC Ccm l l C compiler cp166 ic Lem error list file err Sifin global storage optimizer gso166 error list file er1 C source file A invocation file C compiler c166 assembly source file asm asm L macro pre
42. type amp recl bD r int amp recl sizeof recl 1 Command Reference 13 49 This breakpoint will be hit only if any address in the range of addresses is read from To set a data breakpoint for the address range 10 to 10f hex 256 bytes that will list all global variables type 0x10 bD b Ox10f 1 g This breakpoint will be hit if any memory locations within the range 10 10f hex are either read from or written to db break b bb bB bd bi bI bt bti btI bu U Q 13 50 Chapter 13 bd Function Set a read and or write data breakpoint at an address From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Data Breakpoint to open the Add Data Breakpoint dialog Enter an address or click the Address button to select a symbol to use as the address Click the OK button to add the data breakpoint Eg The command line syntax is exp bd r w b cmds Description Set a read write or both read and write data breakpoint at the address specified by exp and associate the list of CrossView Pro commands cmds with the breakpoint When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bd command If exp corresponds to a loca
43. values via the CrossView Pro entry of the Project Project Options dialog From CrossView Pro You can set many of CrossView Pro s options by using the dialog boxes called by the Target Settings and File Options menu items You can save the options in the xvw ini file and they are automatically used upon startup In Windows XP or Windows 2000 or higher add startup options to the program s property sheet e Right click on the CrossView Pro shortcut icon shown in your program installation folder e Select Properties The Program Item Properties dialog box appears e Enter the startup options after the executable s name in the Target field of the shortcut AN Use menus to set options After setting the options in the menus and selecting the appropriate options in the Save Options dialog on exit CrossView Pro saves the settings in the file xvw ini for future debug sessions To start up CrossView Pro type xfwl66 4 6 Chapter 4 When your execution environment itself has a human oriented ASCII interface you can use transparency mode with the T option In transparency mode you can configure the execution environment s memory Check the addendum the hardware specific section of this manual In circuit emulators generally require you to map the address space allocating memory ranges to the execution environment and or the target system Fortunately this generally does not mean you need to learn your
44. 0 00 eee 5 16 ACCESSING CODE AND DATA 6 1 6 1 MtrOAdUCtiON aier o n ee abe E e tere Hes 6 3 6 2 Accessing Variables ny i reor ea e e EKI E EER IA 6 3 6 2 1 Viewing Variables Structures and Arrays 6 3 6 2 2 Changing Variables 00 00 00 cee eee 6 7 6 2 3 The 1 Command eaid a eee ee 6 10 6 3 EX pressions geura ed AEA A AE RT 6 11 6 3 1 Evaluating Expressions 00 00 000 eae 6 11 6 3 2 Monitoring Expressions 0000 e eee 6 12 6 3 3 Formatting Data tec eei A sg eA geet ew eae 6 14 6 3 4 Displaying Memory 0 0 000 c eee 6 15 6 3 5 Displaying Memory Addresses 00005 6 17 VII VIII Table of Contents 6 4 Displaying Disassembled Instructions 6 18 6 4 1 Intermixed Source and Disassembly 6 19 6 5 Thestack arean a r A a e a a ea 6 20 6 5 1 How the Stack is Organized 0 00000 6 20 6 5 2 The Stack Window 0 0 0 0 cece eee 6 21 6 5 3 Listing Locals and Parameters of a Function 6 23 6 5 4 Low level Viewing the Stack 00 6 23 6 6 Trace Window 1 0 0 6 6 25 6 6 1 Trace Window Setup 00 00 0c cece eee 6 25 6 7 Register Window entare EECA eee teens 6 27 6 7 1 Register Window Setup 00 00 0c ee eee 6 27 6 7 2 Editing Registers 2 2 0 0 ee eee 6 29 BREAKPOINTS AND ASSERTIONS 7 1 7 1 Introduction to Breakpoints 0 4 7 3 7 1 1 Code Breakpoints 2 0 0 0 000 cee eee 7 3 7 1 2
45. 12 Chapter 3 amp Smulip Location of SMULIP is PSW 5 Operand for amp incorrect amp Spsw OxFF10 In addition to the standard register special variables CrossView Pro supplies the special variables pc the program counter composed of csp and ip and fp the current frame pointer which is r0 in c166 The values of Reserved special variables cannot be changed interactively i e on the CrossView Pro command line User defined Special Variables During a debugging session you may need some new variables for your own debugging purposes such as counting the number of times you encounter a breakpoint CrossView Pro allows you to create and use your own special variables for this purpose CrossView Pro does not allocate space for these variables in target memory it maintains them on the host computer The names of these variables which must begin with a dollar sign are defined when they are first used For instance Scount 5 defines a variable named count of type int with a value of 5 Special variables are of the same type as the last expression they were assigned For example Sname john then Sname 3 4 creates a special variable name of type char The second statement creates a special symbol name and assigns it the value of 12 of type int Special variables are just like any other variables except you cannot meaningfully take the address of them db See the startup options in Chapt
46. 3 4 VARIABLES CrossView Pro lets you use variables in the C expressions you type You may reference two classes of variables variables defined in the source code and special variables Variables defined in your source code fall into two categories local variables and global variables Storage Classes Variables may be of any C storage class The size of each class is target dependent Consult the C Cross Compiler User s Manual for specific sizes You may cast variables from one class to another long mychar Local Variables You define local variables within a function their values are maintained on the stack or in registers When the program exits the function you lose local variable values This means that you can only reference local variables when their function is active on the stack Local variables of type static retain values between calls Therefore you can reference static variables beyond their functions but only if their function is active on the stack CrossView Pro knows whether the compiler has allocated a local variable on the stack or directly in a register and whether the register is currently on the stack The compiler may move some local variables into registers when optimizing code If a part of your source code looks like this x 5 y X and you stopped the program after the assignment to x and set x to another value this may not prevent the second statement from setting y to 5 du
47. 4 X Widgets CrossView Motif 2 4 X Windows Motif environment 2 3 resources 2 4 x t plotting 11 14 x y plotting 11 14 xfw166 1 13 xvwedit 4 26 Z Z command 13 191 Index 20 INDEX Index
48. 4 6 6 STACK WINDOW The stack records the return addresses of all functions the application has called and CrossView Pro can use this information to reconstruct the path to the current execution position The Stack Window shown in figure 4 11 displays the function calls on the stack with the values of the parameters passed to them in an easily accessible and understandable form The Stack Window can help you assess program execution and allows you to view parameter values The stack window allows you to e View the stack trace which includes information about function names parameter values source line numbers and stack level e Easily switch to the call statement of a stack level by clicking on it once Set temporary and permanent breakpoints at any level of the stack by double clicking on the desired level dul co naini denmo c 47 Figure 4 11 CrossView Pro Stack Window with Toolbar 4 34 s Chapter 4 The Stack Window provides a local Toolbar containing the following buttons Set stack breakpoint after call to function Set stack breakpoint at function entry point Ne Show local variables in selected stack frame Watch local variables in selected stack frame al Find call site You can toggle the appearance of this local toolbar by selecting the Local Toolbars Stack from the View menu 4 6 7 TRACE WINDOW The Trace Window shown in figure 4 12 allows you to e Display the mo
49. 4 EXECUTION CONTROL COMMANDS A a s Toggle state of assertion mechanism a cmds Create a new assertion with the command list cmds exp a a d s Activate delete suspend assertion exp B List all breakpoints Line b cmds Set breakpoint at source line line and associate command list cmds with breakpoint stack bB cmds Set temporary breakpoint at beginning of function at stack level stack and associate command list cmds stack bb cmds Set breakpoint at beginning of function at stack level stack and associate command list cmds number be count reset_count Set breakpoint count and reset_count for breakpoint with number number count bCYC cmds Set temporary breakpoint after the specified cycle count and associate command list cmds count beyc cmds Set breakpoint after the specified cycle count and associate command list cmds exp bD r w b exp2 cmds Set a data range breakpoint between addresses exp and exp2 read write w or both read and write b and associate command list cmds This command is not available for all execution environments Command Reference 13 9 exp bd r w b cds Set a data breakpoint read r write w or both read and write b at address exp and associate command list cmds This command is not available for all execution environments num bdis Disable code breakpoint num bena Enable code breakpoint addr bI cmds Set temporary breakpoin
50. 7 8 2 PATCHING CODE INTO A PROGRAM You can also patch code into a program by just including the code in the breakpoint command For example suppose you want to add an equation with the variable loopvar 78 while loopvar 79 4 80 sum sum 1 81 82 83 sum sum 5 In the Command Window enter 78 b loopvar 0 C This command halts execution at line 78 adds the statement loopvar 0 to the program and continues execution 7 8 3 REPLACING CODE IN A PROGRAM Finally you can combine the two techniques described above to replace code in a program For instance suppose you want to replace an infinite loop with new code 78 while loopvar 79 4 80 sum sum 1 81 82 83 sum sum 5 In the Command Window enter 78 b Q if sum lt 100 sum g 78 C g 83 C Breakpoints and Assertions 7 27 This command sets a breakpoint that halts execution quietly at line 78 and inserts an if statement into the program If sum is less than 100 sum increments and line 78 executes again If sum equals 100 CrossView Pro moves the execution position to line 83 beyond the infinite loop and resumes execution 7 9 DIAGNOSTIC OUTPUT AND STATISTICAL INFORMATION Breakpoints with attached commands allow you to report on various variables while the program executes In the past one inefficient method of tracking variables was to litter code with printf statements Using breakpoint
51. 9 5 10 at machine level 5 12 5 16 defined 15 10 into 5 10 into function calls 13 173 into functions 5 10 machine level into functions 13 178 machine level over functions 13 177 over 5 11 over function calls 13 172 over functions 5 11 sizeof function 6 7 skidding 15 10 sound support C 1 Index Index 17 source directory change 13 188 source level debugging 1 8 source line jump to 5 16 source merge limit 3 11 source positioning 5 3 Source Window 4 24 change execution position 5 5 change viewing position 5 4 controlling program execution 5 85 16 edit source 4 26 searching in 5 14 5 16 single stepping 5 9 sync execution and viewing positions 5 7 toolbar 4 25 source window line numbers 3 11 SourceFileChanged A 10 special function register 3 11 special variables 3 9 15 10 reserved 15 9 user defined 3 12 srec166 1 13 st command 13 179 stack 6 20 local variables 3 7 organization of 6 20 system Mon 14 user Mon 14 stack pointer 3 10 stack trace 13 180 13 181 Stack Window 4 33 6 21 toolbar 4 34 start asm Mon 40 startup options 4 5 definition 15 10 list of 4 7 static variables 3 7 status bar 4 12 stop target execution 13 179 Stopped A 9 storage classes 3 7 string command 3 18 strings 3 6 structures assignment 6 8 viewing 6 5 style codes 3 14 symbol information 15 11 symbolic disassembly 6 18 symbols in disassembly 3 10 synchronize execut
52. COM interface on MS Windows the startup directory is usually C WINNT system32 You can change the location of the xvw ini file with the G command line option This feature is useful when you are using two different CrossView Pro instances simultaneously Interprocess Communication A 5 1 3 COM INTERFACES The following interfaces are provided with CrossView Pro ICommandLine Default interface provides CrossView Pro command interpreter access ICommandLineEvents Connection point provides the events output stream of CrossView Pro Works as a callback 1 3 1 ACTIVATING THE COM OBJECT Command line options are passed to CrossView Pro via the Init method It is necessary to call the Init method before you can use the CrossView Pro COM object CrossView Pro does not start as COM object until after you have actually called the Init method If you do not need to pass any options invoke Init with an empty string Registering the server Before you can use the COM object you must register it in the MS Windows Registry Run CrossView Pro from the command line as follows xfwl66 RegServer Similarly you can remove the COM object from the Registry xfwl66 UnregServer To avoid the popup message when registering two more command line options are available that are useful when you use batch files RegServerS Same as RegServer but without message UnregServerS Same as UnregServer but without message box
53. Data Breakpoints 0 eee eee 7 7 7 1 3 Listing and Jumping to Breakpoints 7 8 7 2 Setting Breakpoints 0 0 cece eee 7 8 PDA Data Breakpoints over a Range of Addresses 7 11 7 2 2 Temporary Breakpoints 0 00 0000 7 12 E25 Breakpoint Names 0 0 000 c eee eee 7 13 7 2 4 Setting the Count n aanus saaa 7 14 7 2 5 Sequence Breakpoints 0 00 0 c eee 7 15 7 3 Deleting Breakpoints orerar e tea oratra an 7 16 7 4 Enabling Disabling Breakpoints 7 17 7 5 Breakpoint Commands sssaaa aaa 7 19 7 5 1 Attaching Conditionals to a Breakpoint 7 21 7 5 2 Attaching Macros to a Breakpoint 7 21 7 5 3 Attaching Strings to a Breakpoint 7 22 7 6 Suppressing Breakpoint Messages 7 22 Tok Up level Breakpoints 0 0 00 0 ec eee 7 23 7 8 Patches ieee e ne PEE ETa edt teanthod 7 25 7 8 1 Patching Code out of a Program 7 25 Table of Contents 7 8 2 Patching Code into a Program 7 26 7 8 3 Replacing Code ina Program 7 26 7 9 Diagnostic Output and Statistical Information 7 27 7 10 ASSEIIONS 2 ciety a e e Parte ed E 7 28 7 10 1 Assertion Mode 00 e eect eee 7 28 7 10 2 Defining an Assertion 0 0 0 0 ce eee eee 7 29 7 10 3 Editing an Assertion 1 0 0 0 0000p eee eee 7 31 7 10 4 Activating and Suspending Assertions 7 31 7
54. Playback Files 4 9 9 9 2 3 Quitting Playback Mode 0 0 0 000s 9 10 9 3 Command Line Batch Processing 9 10 9 4 TOSSINE eee cy Dione Boles AO te aa aate a ad AS Ra 9 12 9 4 1 Setting up Logging 6 0 eee eee 9 13 9 4 2 Recording Commands and Logging Screen Output 9 15 9 4 3 Command Window Log File Example 9 15 9 4 4 Suspending and Resuming Output Log 9 15 9 4 5 Closing the Output Log File 9 17 9 5 Startup Options serp a e eee 9 18 9 6 CrossView Pro Command History Mechanism 9 19 1 0 SIMULATION 10 1 10 1 Introduction aeea the ieee take 10 3 10 2 T Oe Sta 2a tangs Modine e 2 Che aim ae ies aes 10 3 10 2 1 Setting Up File I O Streams 0 0 0 10 4 10 2 2 Redirecting I O Streams 0000 c eee 10 6 10 3 File System Simulation 000 0000 eee ee 10 7 10 3 1 File System Simulation Libraries 10 8 10 4 Debug Instrument I O 0 0 0 ee urira ens 10 9 10 5 The Terminal Window 0 0 0 0 e eee 10 10 10 5 1 Terminal Window Keyboard Mappings 10 10 SPECIAL FEATURES 11 1 11 1 Transparency Mode 0 ce eee eee eee 11 3 11 2 RTOS Aware Debugging 0000 11 4 11 3 COVETAGE 4 nae atte ee pitas ee dies 11 6 11 4 Profiling lt 25 204 Asad oleae bee 11 8 11 4 1 Function Profiling 0 2 eee eee 11 9 Table of Contents 11 4 2 Code Range P
55. String functions 4 B 11 33 T O functions aa Serine Me Sore tanger ae ae B 11 3 4 Graph functions osre ea eee B 13 3 5 Miscellaneous functions 0000005 B 17 SOUND SUPPORT MS Windows C 1 XIII XIV Table of Contents ROM RAM MONITOR Mon 1 1 INntrOGUCtiON wee os eRe ah e E a a Mon 3 2 Executable Name 0 000 cece Mon 3 3 General Operation 0 000 e cece eee Mon 3 4 REStriChiONS eenei aee Sieve doves ewe abate Mon 4 5 The RAM and ROM Debug Monitor Mon 5 5 1 Monitor Configurations 0 0 00 e eee Mon 5 5 1 1 RAM Debug Monitor 0 0 0 0 c ee eee ee Mon 5 5 1 2 ROM Debug Monitor Using Dual Vector Table Mon 11 5 1 3 ROM Debug Monitor Using Memory Switch Mon 13 5 2 Resources used by the Debug Monitors Mon 14 5 3 Rebuilding the Debug Monitors Mon 16 5 3 1 Debug Monitor Configuration Parameters Mon 18 5 4 Debug Monitor Interface Description Mon 21 5 4 1 Initialization o acc saeoieas 2K wala pn a CES Mon 21 5 4 2 CONVENTIONS 324 eigen ee Mon 21 5 4 3 Command Set 4008 268 4 eaten A yee ets Mon 23 6 The Target Configuration File Mon 35 y4 Building your Application 0 Mon 40 8 Connecting to the Target Board Mon 41 8 1 RSSZD 2 iv se bh a ake oe sate tL cee Oe e Ga Mon 41 8 2 CAN Windows Only 0 00 c eee eee eee Mon 43 8 3 CAN Interf
56. Task ID E r Count Breakpoint count 1 Reset count 1 Method _ Behavior C Hardware Breakpoint I Remove when hit C Software Breakpoint T Probe point Figure 7 3 Breakpoint Commands Type the commands enclosed in brackets and delimited by semicolons after commands argument of the break command in the Command Window For instance suppose you want a program to stop at a breakpoint display a variable s value and resume execution all in one stroke To perform this function you need to attach the appropriate commands to a breakpoint Enter break code main commands initval C This places a breakpoint at address main When execution stops at the breakpoint CrossView Pro displays the value of initval and immediately resumes execution If you enable the Probe point check box you can omit the C command This is done automatically You can attach almost any valid CrossView Pro commands or C statement to breakpoints This latitude allows you to use breakpoints in powerful ways Later on you find out how breakpoints can create patches in your program Breakpoints and Assertions 7 21 B d CrossView Pro does not check the syntax of attached commands until the breakpoint is hit Data breakpoints accept command lists the same way as code breakpoints For instance to set a data breakpoint that monitors the lowest byte in memory of the value of initval enter break data amp initval
57. The same applies to while loops Breakpoints and Emulator Mode Upon entering emulator mode the debugger removes any breakpoints it established in the target code Removing breakpoints ensures that you can access unmodified target code When emulator mode ends CrossView Pro reestablishes breakpoints as necessary As long as you avoid the debugger s own breakpoint trap you may establish arbitrary breakpoint conditions while in emulator mode These will not be removed by CrossView Pro and thus remain active however after you exit emulator mode If one of these breakpoints is hit during normal debugging CrossView Pro will issue a message such as Stopped on breakpoint not set by debugger Breakpoints and Assertions 7 7 System Startup Code It is possible for example by using the si command to debug system level startup code that initializes the target environment You should not use any global variables in CrossView Pro expressions until the data area has been initialized CrossView Pro assertions and other CrossView Pro commands that examine C variables may deliver erroneous information or cause memory access errors if used before the C environment is established 7 1 2 DATA BREAKPOINTS b A data breakpoint instructs the execution environment to watch a particular data address or address range and halt execution if the program reads from or writes to that address Data breakpoints are a powerful feature for trac
58. To open this window e From the View menu select Source Source lines Before starting execution you have to reset the target system to its initial state The program counter stack pointer and any other registers must be set to their initial value The easiest way to do this is e Set the Reset target system check box and the Goto main check box in the Load Symbolic Debug Info dialog box See the previous section Goto main automatically enables the Reset application check box AN Depending on your execution environment a target system reset may have undesired side effects For this reason the target system is reset before the code is downloaded to the target If you have not checked these items e From the Run menu select Reset Target System e From the Run menu select Reset Application e Execute a high level single step either into or over using the toolbar in the Source Window or F11 F10 The first single step executes the startup code and stops at the first line of code in main You should see your program s source code Another way of getting there is e Set a breakpoint at the entry of in main by clicking on a breakpoint toggle at the left side of the text in the Source Window See figure 1 8 e Start the application with Run Reset Application and Run Run To set a breakpoint e Click on a breakpoint toggle as shown in figure 1 8 to set or to remove a breakpoint A green colored toggle shows that
59. To see the current HLL stack open the Stack Window or enter the t command in the Command Window You can set up level breakpoints via the Stack Window or in the Command Window You cannot set up level breakpoints in the Source Window Double click on the function in the Stack Window to install a stack breakpoint after the function call Q You can also follow these steps e Click on the function in the Stack Window e From the Breakpoints menu select either Stack Breakpoint After Call to Function or Stack Breakpoint At Function Entry You have the option of setting the breakpoint before function entry or after up level a selected function All breakpoints set through the Stack Window are temporary by default To make a breakpoint permanent select Breakpoints from the Breakpoints menu to open the Breakpoints dialog Select the breakpoint you want to edit and click on the Edit button Click on the Advanced gt gt button and disable the Remove when hit check box fee In the Command Window use the following commands Command Function Type bU Sets breakpoint after call to function temporary bu Sets breakpoint after call to function permanent bB Sets breakpoint at beginning of function temporary bb Sets breakpoint at beginning of function permanent 7 24 Chapter 7 For example suppose you have accidentally single stepped into a function called factorial If you do not want to
60. a high level single step afterwards When you click on the Communication setup button if available the Communication Setup dialog box appears as shown in figure 1 6 With the Target Settings button you can open the Target Settings dialog Please check the information in these dialogs before downloading an application When you click on the Load button the program s symbol file will be loaded into the debugger and if you have set the Download image too check box the image of your absolute object file will be downloaded Clicking on Cancel ignores all actions Overview 1 27 CrossView Pro remembers all previously saved settings In this case the Load Symbolic Debug Info dialog already contains the previously saved configuration so you only have to click the Load button to perform your actions Load Symbolic Debug Info M M ml ERI EAT et Hable Hast a4 4 Figure 1 7 Loading Symbolic Debug Information Compare Application Verify download You can use the File Compare Application dialog to check if a file matches the downloaded application This can be useful when your program has changed some of your code If you enable the Verify download check box in the Load Symbolic Debug Info dialog CrossView Pro does this comparison automatically after a download 1 28 Chapter 1 7 1 6 4 EXECUTING AN APPLICATION To view your source while debugging the Source Window must be open
61. a trace of functions on the stack exp specifies the number of levels of the stack trace to be displayed If omitted up to 20 levels of the stack trace will be printed Each stack level shown in the Stack Window is displayed with its level number first The levels are numbered sequentially from zero That is the lowest last level in the function call chain is always assigned zero AN This command is not allowed when the target runs in the background Example To print out a stack trace of 20 levels type t To print out the top five levels of the stack trace type 5t Glo et 13 182 Chapter 13 e td Function Disable turn off trace Q From the Tools menu select Trace if this item was set Eg The command line syntax is td Description If trace is supported by your version of CrossView Pro this command disables tracing both instruction level high level and raw Trace is automatically disabled when you close the Trace Window Example To disable tracing type td fb Command Reference 13 183 te Function Enable turn on trace Q From the Tools menu select Trace if this item was not set Eg The command line syntax is te Description If trace is supported by your version of CrossView Pro this command enables tracing both instruction level high level and raw Trace is automatically enabled when you open a Trace Window Example To enable tracing type f u te 13 184 Chapter
62. access_type w commands initval C Every time the program writes to the lowest byte in memory of the variable initval this breakpoint halts the program prints the value of initval and continues execution For more information on the use of attached commands see the Patches and Diagnostic Output and Statistical Information sections later in this chapter 7 5 1 ATTACHING CONDITIONALS TO A BREAKPOINT You can pass standard C conditionals to a breakpoint For example break code demo c 63 commands if initval 17 C initval n stops the program at line 63 checks to make sure the variable initval is 17 and resumes execution if it is If initval s value does not equal 17 CrossView Pro prints the value and the program remains halted 7 5 2 ATTACHING MACROS TO A BREAKPOINT You can attach any currently defined macro to a breakpoint in a command list For example suppose you define a macro named rg that checks the value of the variable initval The command to define this macro is set rg if initval 17 initval n C If the value does not equal 17 the macro prints the value and halts the program Otherwise execution continues You can include this macro at any point by attaching it to a breakpoint Entering 7 22 Chapter 7 break code demo c 51 commands rg break code demo c 63 commands rg this is a very efficient way to insert the macro with breakpoints at lines 51 and 63 d gt For
63. addresses for a data breakpoint the second address must be higher than the first Sim I O request too long gt max number bytes The I O request exceeds the maximum length Simulated I O stream out of range Choose a stream value between 0 and 7 Sorry the v command is not supported on this host No visual editor is available on this host Stream already active Either choose another stream or deactivate this one before re assigning it String constant is missing ending String constants must be delimited with double quotes Subtracting 2 pointers not allowed You cannot subtract two pointers in an expression If you intended to subtract from a pointer make sure that the argument is a value not another pointer Symbol file is either unreadable or too short The symbol file is not an absolute IEEE 695 file or the file format is not correct or the file is not an IEEE 695 file at all Error Messages 14 21 Symbol file is not formatted correctly The symbol file is not intended for the type of microprocessor you are using Symbol not in current procedure There is no symbol by this name in the current procedure Check the spelling of the symbol name The command command accepts no args The command command does not accept any arguments See chapter Command Reference for more information on command The window would be too large Total lines must not be greater that max size The window s
64. amp Down s The following signals should be connected to pull up s or pull down s respectively on the CPU board Signals Pull up Pull down OCDS_E 10k TMS 10k TDI 10k TRST 10k RESET 10k Brk_IN 10k TCLK 10k Table OCDS 4 Pull up s amp Down s Clock Pin The clock is optional since not every CPU has a Clock out pin available Since the clock pin is very likely to act as a antenna it should be connected via any sort of Jumper If not applied the TCLK signal should be connected to GND to enable sensing of the clock signal s presence Mechanical Key Pin no Pin The key pin signal should be driven by the debugger side to GND OCDS 14 Execution Environment INDEX all TASKING M XAGNI Index Index 3 Symbols period operand 3 18 command 13 21 command 5 15 13 23 amp operator 3 18 format code 3 13 ddeservername A 28 timeout 9 10 command 5 15 13 22 format code 3 13 command 13 37 lt command 13 24 lt lt command 13 25 gt command 13 26 gt amp command 13 34 gt command 13 30 gt command 13 28 gt command 13 36 gt gt command 13 32 _EXT Mon 40 A A command 13 38 a command 13 39 a166 1 11 absolute file 15 3 accelerator bar 4 25 accelerator button 4 12 4 25 accessing code and data 6 1 AccessPort 1 24 OCDS 9 AddDDEMenuEntry A 28 adding files to a pr
65. analyzing the first byte received Therefore when selecting a different transmission speed for CrossView Pro be sure to reset the target board first If you do not you will get a connection error from CrossView Pro Mon 42 Execution Environment When connecting to the target board CrossView Pro first detects if a monitor is already running If it gets a response from an on chip bootstrap loader instead of the monitor it will start the boot sequence First the boot program is sent to the serial port and then the debug monitor When for the selected target no boot or monitor program is specified in the target configuration file CrossView Pro cannot connect to the board See also section 6 The Target Configuration File in this addendum On a connection error during startup of CrossView Pro CrossView Pro comes up with a window where you have the following options retry to connect to the target board exit CrossView Pro change startup options this should be used to select a different target board change communication parameters this should be used when you want to select a different baud rate or communication channel You can solve the problem that caused the error reset the board and click the Retry button to try connecting again In the midst of a debug session whenever CrossView Pro might lose connection with the monitor the debugger times out issues a error message in a window where you can choose to retry the
66. b bb bB bd bD bi bI bt bti btI bu bU B D Command Reference 13 89 dcmp Function Compare a file with the downloaded application From the File menu select Compare Application Specify an application file and click on the Compare button Gs The command line syntax is demp file mumber_of_hits d Description Compare an application file with the memory contents and display differing memory addresses or addresses and values If you have already loaded an application you can invoke this command without specifying a file name You can limit the number of differences by specifying a number_of hits The value O means there is no limit on the number of differences This command is not allowed when the target runs in the background Example To compare the currently loaded application there is no limit on the number of differences and the contents of differing memory addresses are not displayed type dcmp To compare the currently loaded application and stop when the number of differences equals 10 type dcmp 10 To compare the currently loaded application there is no limit on the number of differences and display the contents of differing memory addresses type dcmp d 13 90 Chapter 13 7 To compare file test abs stop if the number of differences equals 5 and display the contents of differing memory addresses type dcmp test abs 5 d fb n Command Reference 13 91 di_stat
67. boards For a full description of all available utility programs see the chapter Utilities in the C166 ST10 Cross Assembler Linker Locator Utilities User s Manual 1 6 GETTING STARTED 1 6 1 BEFORE STARTING Before using CrossView Pro there are several things that you must do e Install the CrossView Pro software Directions for your particular system are found in the Software Installation chapter e Configure your execution environment as described in the Execution Environment addendum e Compile the program that you want to debug A brief description of this process is outlined in the section Building Your Executable later in this chapter For the purpose of getting you started quickly we have supplied you with a demo program that you can debug The demo program is demo abs 1 14 n 1 6 2 Chapter 1 SETTING UP THE EXECUTION ENVIRONMENT The following only applies to ROM monitor and emulator versions of CrossView Pro In order for the host and execution environment to communicate a proper connection must exist between the two machines Here are some important considerations Use the correct kind of RS 232 cable Note there are at least two types of cables null modem and direct Consult the execution environment s manual for the correct type Make sure the execution environment is configured to communicate with the host at the baud rate that CrossView Pro expects Evaluation boards usually hav
68. breakpoint help window A window explaining the use of CrossView Pro windows and dialogs and summarizing the syntax and function of CrossView Pro commands history mechanism A facility for modifying and executing previous CrossView Pro commands Glossary 15 7 host system The computer system on which CrossView Pro is run The host system is connected to the target system usually with an RS 232 cable image part This is the downloadable part of the absolute file that contains the executable code of the target program See also absolute file instruction count breakpoint A breakpoint that halts program execution when a number of instructions have been executed An instruction count breakpoint can have a command list interrupt key The key that interrupts ongoing processes On many systems this is ctrl C I O Simulation A technique to intercept input and output for debugging purposes I O Simulation is often used for testing a program before the actual input and output hardware devices are present See also stream local variable A variable that can only be referenced from within its defining function low level breakpoint A code breakpoint placed on an individual machine instruction Low level breakpoints can be set with the break code address command macro A user created shorthand for a CrossView Pro command sequence Macros can accept parameters and can be saved to a file main The function where a C program
69. breakpoint is set In the Command Window enter the 1b or B commands The list appears in the Command Window For example entering the B command can result in B 0 ena CODE main CODE 0x78 2 2 The breakpoint s number used when deleting breakpoints is listed first then if it is enabled or disabled then its type such as CODE for code breakpoints and DATA for data breakpoints Next CrossView Pro lists the function and or address its count and reset count and finally any attached commands enclosed by and FUNCTION View all breakpoints in the Command window COMMAND B CrossView Pro decrements the count each time the breakpoint is hit When the breakpoint s count reaches 0 CrossView Pro halts the program 7 2 SETTING BREAKPOINTS You may set a code or data breakpoint by e Using the mouse to open the Breakpoints dialog box e Using the mouse in the Source Window e Using the Stack Window e Using the command line in the Command Window Breakpoints and Assertions 7 9 When you set a new breakpoint using the mouse without using the Breakpoint dialog box the type is always permanent the count 1 and the location corresponds to the current viewing position if the Source Window is open These variables are described in more detail below Setting Breakpoints from the Menu To set a breakpoint from the menu select Breakpoints from the Breakpoints menu to view the Breakpoints dialog box From this dialog b
70. breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bI command Example To set a temporary breakpoint at the current viewing position s address type bI To set a temporary breakpoint at address 100 that will print the addresses of the next five source statements type 100 bI P 5 db break b bb bB bd bD bi bt bti btI bu bU Q Command Reference 13 55 bi Function Set a permanent low level breakpoint at a machine instruction From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Code Breakpoint to open the Add Code Breakpoint dialog Edit the Break At field In the Advanced dialog disable the Remove when hit check box Alternatively you can place a breakpoint in the intermixed window or assembly window by double clicking on the desired instruction Ea The command line syntax is laddr bi cmds Description Set a permanent breakpoint at the machine instruction at address addr or the current viewing position s address if addr is not specified the list of CrossView Pro commands cmds are executed when the breakpoint is hit Make sure that addr is the start address of a machine instruction otherwise the results are unpr
71. button to select the file The default filename extension is cmd In the Playback dialog box you have two additional options Playback at XVW startup and Continuous playback CrossView Pro enters playback mode automatically when you start the debugger if you click on the Playback at XVW startup check box in the Playback dialog box The entire playback file executes if you enable the Continuous playback check box Click on the Execute button to start the playback In the Command Window use the lt or lt lt filename command to playback CrossView Pro commands On the command line of CrossView Pro give the option T filename to start CrossView Pro in transparency mode and playback emulator commands This is not available for all execution environments Command Recording amp Playback 9 9 9 2 1 SETTING THE TYPE OF PLAYBACK PY Enable the Continuous playback check box in the CrossView Playback dialog box to turn on continuous play back of commands Ea In the Command Window there are two commands for the type of playback The lt filename command starts playback Commands are read from a file and executed without any stop For example lt session cmd load and execute all the commands g The lt lt command causes CrossView Pro to playback commands one at a time similar to single stepping through code For example lt lt session cmd read a command from the file Clicking the Execute button or pressing the Enter key
72. c Report status of command and screen output logging mechanism Log host to target communication in file Not available for all execution environments Turn target communication logging on t off or close log file Not available for all execution environments Report status of target communication logging mechanism Not available for all execution environments Log GDI accesses in file Set GDI accesses log file status true t false f or closed c 13 2 6 MACROS echo string Display macro expansion of string save file set Save current macros to file Display all macros set macro cmds unset Define macro macro as command list cmds Delete all macros Command Reference 13 13 unset macro Delete definition of macro macro macro Prevent expansion of macro 13 2 7 INPUT OUTPUT SIMULATION ios_open file mode r xvw_variable Open a CrossView Pro File I O stream ios_wopen terminal_window xvw_variable Open a CrossView Pro File I O stream an map the stream to a terminal window ios_close stream file Close a CrossView Pro File I O stream ios_read stream file address number_of_ maus x Read binary data from a File I O stream Optionally interpret the read data as hexadecimal values ios_readf stream file format expression Formatted read from a File I O stream scanf ios_write stream file ad
73. can communicate with the target as if the host system were a terminal directly connected to the target You can enter and leave transparency mode freely without restarting the debugger or the target system CrossView Pro therefore does not interfere with the normal operation of the target hardware Thus the debugger is a powerful accessory to the machine level debugging that you might do with the target system alone The transparency mode is not available for all execution environments such as an evaluation board 1 4 HOW CROSSVIEW PRO WORKS Although it is not necessary to know how CrossView Pro performs its debugging you may be curious how CrossView Pro works Whenever you enter a debugger command CrossView Pro obtains information from or controls the execution environment by sending appropriate commands over the host target link A typical session may go something like this 1 Highlight initval and click on the Show Expression button in the Source Window Bw aag Oo BB main ed Il Source lines Il Source line step int loopvar the loop counter 27 long sum will be 17 sum of factorials from 0 to 7 char cvar sample char variable f initval 17 if finitvall gt recordvar a This loop has an upper limit which is too high As a result initval will get clobbered for loopvar 0 loopvar lt 8 loopvar Figure 1 1 Show selected source expression 1 10 Chapt
74. change the viewing position to be the first executable line in the function main and restart the program from the beginning Each time you enter st in the Command Window CrossView Pro substitutes the lengthier list of commands in the definition FUNCTION Create a macro COMMAND set name commands Note that there is no rule that the macro definition must be shorter than the commands it represents For instance you could substitute break for the b command to make CrossView Pro s command language more expressive set break b Now instead of typing 74 b to set a breakpoint you can also type 74 break Macros defined using either the command line or the graphic interface are accessible both from the Command Window and the Toolbox Macros may call other macros so it is possible to use simple macros as building blocks for more complex functionality No macro however can call itself or another macro that refers to the calling macro since this type of action results in infinite recursion Because of the order in which CrossView Pro parses statements you may not use the CrossView Pro commands or in a macro Defining and Using Macros 8 5 8 2 1 LISTING MACROS amp From the Tools menu select Macro Definitions to open the Macro Definitions dialog box This dialog box contains a scrollable list of the macros To see the current definition of a macro amp Follow these steps e From the Tools
75. contents of an absolute memory address range you must think of the address being a pointer To show dump the memory contents you use the C language indirection operator Example 0x4000 2x4 0x4000 0x00DB0208 0x5A055498 This command displays in hexadecimal two long words at memory location 0x4000 and beyond Instead of using the size specifier in the display format you can force the address to be a pointer to unsigned long by casting the value unsigned long 0x4000 2x 0x4000 0x00DB0208 0x5A055498 To view the first four elements of the array table from the demo c program type table 4d2 table 1 1 2 6 This command displays in decimal the first four 2 byte values beginning at the address of the array table Command Language 3 17 3 6 OPERATORS Standard C Operators 6 CrossView Pro supports the standard C operators in the ANSI defined order of precedence The order of precedence determines which operators execute first The semicolon character separates commands on the same line In this way you may type multiple commands on a single line Comments delimited by and are allowed CrossView Pro simply ignores them Order of Precedence in descending order O gt amp type sizeof amp bo lt lt gt gt lt lt gt gt lh amp amp amp t ps lt lt gt gt
76. current tasks only if your configuration supports it type lkq d L et Command Reference 13 141 load Function Load a program s symbol file and download the image part From the File menu select Load Symbolic Debug Info This dialog allows you to specify the file EEs The command syntax is load ffilename Description This command performs the N and dn commands sucessively Downloading a file only copies the image part into target memory dn It will not cause CrossView Pro to re read symbolic information N The load command does both AN This command is not allowed when the target runs in the background Example To load the symbol table of file demo abs in CrossView Pro and download the image part type load demo abs d dn N 13 142 Chapter 13 e ve Function List the data currently being monitored Refer to the Data Window Each time the program stops the debugger evaluates all monitored expressions and displays the results in the Data Window E The command line syntax is M Description List all C expressions being monitored by CrossView Pro The listing associates a unique number with each expression This number is used to specify the deletion of monitored data f Command Reference 13 143 Function Monitor watch an expression Also delete a monitor From the Source Window double click on an expression A new monitor is created in the Data Window or the
77. d Configure A emea Help Figure 1 5 CrossView Pro Target Settings Overview 1 17 You can set the following items in this dialog e Select a target configuration containing some target specific configuration items See the text below for more information e Select the CPU type optional e Specify the source directories for CrossView Pro Click on the Configure button to change the list of source directories Target Configuration The available targets are described by the target configuration files cfg in the etc subdirectory These targets include evaluation boards emulator boards or instruction set simulators sim cfg The target configuration files are text files and can be edited with any text editor Empty lines lines consisting of only white space are allowed Comment starts at an exclamation sign and ends at the end of the line An information line has the following synopsis comment field subfield field value field one of the keywords described below subfield the usage of this part depends on the value of field see below field value the value assigned to the field comment optional comment 1 18 Chapter 1 The fields listed in the configuration file are Field Description title The full name of the configuration This name will be displayed in the Target configuration field of the Target Settings dialog cpu_type The name of the CPU present on the ta
78. data is gathered whenever the program is executed using the Continue command not single stepped Function profiling can be supported if the execution environment provides a clock that starts and stops whenever execution starts and stops Basically function profiling is implemented by using a special type of breakpoint Breakpoints are inserted at the function entry address and all it s return addressed Whenever execution stops due to a profile breakpoint hit CrossView Pro will read the clock update the internal profile tables and restart execution To specify the functions to be profiled Q From the Tools menu select Cumulative Profiling Setup EEs Type the cproinfo command on the command line cproinfo add main To view the profiling results amp From the Tools menu select Cumulative Profiling Report g Type the cproinfo command on the command line cproinfo 11 10 7 Chapter 11 FUNCTION List cumulative profining results to output window or file or add or remove functions from the list of profiled functions COMMAND cproinfo all filename add remove function 11 4 2 CODE RANGE PROFILING Code range profiling presents timing information about a consecutive range of program instructions CrossView Pro displays the time consumed by each statement C or assembly in the source window The timing data can be displayed in three different formats absolute relative to program and relative to
79. debugger that lets you debug embedded microprocessor systems at your highest level of productivity Its powerful capabilities include e Multi Window Graphical User Interface e Cand Assembly level debugging e C Expression Evaluation including Function Calls e Breakpoints both hardware and software e Probe Points e Assertions software data breakpoints e C trace Instruction Trace e I O Simulation IOS e Data Monitoring e Single Stepping e Coverage e Profiling e Macros e Flexible Record amp Playback Facilities e Real Time Kernel Support e On line context sensitive Help e Documentation 1 4 Chapter 1 7 Multi Window Interface This interface uses your host s native windowing system so that you already know how to open close and resize windows With windows you can keep track of information concerning registers the stack and variables CrossView Pro automatically updates each window whenever execution stops You have great freedom in designing a suitable display You can hide and resize the various windows if you choose Statement Evaluation You can enter C expressions CrossView Pro commands or any combination of the two for CrossView Pro to evaluate You may also call functions defined in your source code from the command line Expression evaluation is an ideal way to test subroutines by passing them sample values and checking the results Breakpoints Breakpoints halt program execution and retu
80. destination address and click on the OK button g The command syntax is addr_start mcp addr_end addr _dest Description The mcp command copies a block of target memory starting at address addr_start to destination address addr_dest The size of the memory block is defined as addr_end addr start 1 The data item located at address addr _end is included in the copy If your target supports multiple memory spaces then it is legal to copy data between different memory spaces Of course addr_start and addr_end must be located in the same memory space This command does not have any effect on code breakpoints Example To copy the contents of variable buf to address 0x200 type amp buf mcp amp buf sizeof buf 0x200 Gb mF mf 13 146 Chapter 13 memget Function Retrieve data from the target into a buffer Ea The command line syntax is memget expr count buffer_name Description The memget command is used to retrieve data from the target system and to store the data in the acquisition buffer buffer_name Data in the acquisition buffer is of type double CrossView Pro will automatically handle data conversion based upon the type of expression expr Expression expr contains the iterator i which initially starts at 0 and increments to count 1 Notation convention expr lt S i n gt means expr in which all instances of i are substituted by ny To correctly retrieve the data from t
81. directly because they are automatically invoked when you click OK in the Data Analysis Window Setup dialog For some graphm scripts both x and y axis can be user specified If the limits are not specified or low gt high then autoscaling is used 11 14 Chapter 11 7 X T plotting An x t plot is the most straightforward way of displaying data Data is taken from one buffer each value is taken as the x value and the t value is increasing linearly It is displayed as a graph the way it is found in the buffer memory The layout of the scales and the form of the graph line bar dot can be selected as shown below 1 Generating window data pairs 2999 graph win_title x_t cxl buffer t_offset t_increment generates t x pairs t_offset i t_increment buffer i The generated data is attached to the specified window 2 Setting the display mode 2999 graphm win_tiile show_x_t cxl low_x high_x low_y high_y displays lines drawn between successive coordinates specified by the window data pairs 2999 graphm win_tiile show_cross cx low_x high_x low_y high_y displays x s at the coordinates specified by the window data pairs 2999 graphm win_tiile show_plus cx low_x high_x low_y high_y displays s at the coordinates specified by the window data pairs graphm win_title show_bars cxl low_x high_
82. emulator s command set just a rote sequence of startup commands When your CrossView Pro version does not support transparency mode you do not need to configure the memory and the T option is not needed If your target system supports serial communication and if the target system is connected to a port other than the default port see Chapter 1 Overview to determine the default port for your host you can use the D option to specify the port name The default baud rate is 9600 You may use the D option to specify the baud rate if the execution environment is not the same as the default For example xfwl66 D rs232 com2 19200 instructs CrossView Pro to use the COM2 port at 19200 baud Most evaluation boards use an auto baud rate detection mechanism and support 19200 baud See your execution environment in the addendum of this manual for specific communication information When you specify a startup option in CrossView Pro the option overrules the corresponding value in the current xvw ini file There are many different options you can invoke when starting up CrossView Pro The listing below gives an overview of all startup options There are several startup options having to do with the recording and playing back of CrossView Pro command files See also Chapter 9 Command Recording amp Playback Using CrossView Pro Startup Option Description a number argcev arg arg b number c number C
83. executes the next command FUNCTION Play back a file of CrossView Pro commands COMMAND lt filename FUNCTION Play back a file of CrossView Pro commands one command at a time COMMAND lt lt filename 9 2 2 CALLING OTHER PLAYBACK FILES A playback file can call another playback file in the course of its execution When CrossView Pro creates a command file it saves all commands in their textual form whether entered by the mouse or as text You must edit this file to use the lt and lt lt commands 9 10 Chapter 9 When the debugger reaches a lt or lt lt command in a playback file playback execution switches to the new file and returns to the original file nested calls The first playback file determines the type of playback continuous or single step 9 2 3 QUITTING PLAYBACK MODE Playback mode stops automatically when CrossView Pro reaches the end of the command file If you want to end playback mode before this point click the Halt button 9 3 COMMAND LINE BATCH PROCESSING CrossView Pro supports command line batch file processing but CrossView Pro will halt if a modal dialog is encountered or if the target program contains an endless loop The command line option timeout 7_seconds switches CrossView Pro to a different mode of operation without the two drawbacks mentioned above In order to process files in batch mode you have to do the following Create a temporary directory
84. expression is too complex The command line function returns a data type that CrossView Pro cannot handle An example would be a function returning a structure Unexpected breakpoint type type CrossView Pro has encountered a breakpoint with an unknown type attribute Verify the previous break commands and re try If the condition persists please contact the TASKING Technical Support staff for assistance Unknown command command lt number gt CrossView Pro does not recognize command and has echoed the command number for Technical Support purposes Please check the spelling and retry If the condition persists please contact the TASKING Technical Support staff for assistance Unknown data monitor id number The monitor number number that you tried to delete does not exist Use the M command to list currently monitored variables Unknown data size Valid data sizes are 1 2 4 or 8 bytes Unknown display mode See chapter Accessing Code and Data for a list of display mode options Unknown name name Variable name is not in scope or is undefined Unknown procedure name The function name does not exist in any file that CrossView Pro knows about The file containing name may not have been compiled with the g debug switch 14 24 Chapter 14 Unknown macro name CrossView Pro does not recognize the macro name as given Please check the spelling You may list all current macros by using the se
85. file I O stream 13 130 13 135 operators 3 17 order of precedence 3 17 using addresses 3 18 opt command 13 158 optimization and debugging 3 7 options display or set 13 158 OSEK ORTI 11 4 output paging mechanism 3 10 Index overview 1 1 P P command 13 159 p command 13 160 packet format A 27 patches 15 8 and breakpoints 7 25 pC command 13 161 pd command 13 162 pe command 13 163 performing timing analysis 1 6 peripheral simulation Sim 4 peripheral support Sim 4 PeripheralsStop 1 22 OCDS 8 PHYTEC KC 161 application notes Mon 58 PHYTEC KC 163 application notes Mon 58 PHYTEC KC 164 application notes Mon 58 PHYTEC KC 167 application notes Mon 58 PHYTEC MM 165 application notes Mon 57 PHYTEC MM 167CR application notes Mon 57 connecting to Mon 57 PHYTEC MM 167CW application notes Mon 57 connecting to Mon 57 pipeline 3 10 playback 9 8 calling other playback files 9 9 quitting 9 10 setting the type of 9 9 startup options 9 18 summary of commands 13 11 playback mode 1 7 continuous 13 24 Index Index 15 single step 13 25 pointer 3 16 6 8 6 15 display character 3 15 6 6 precision evaluating expresions 3 4 print source lines 13 159 13 160 probe point 1 5 7 4 15 8 problems common 1 34 communicating with CrossView 4 11 profiling 1 6 11 8 15 9 code range 1 6 11 10 cumulative 11 9 cumulative information 15 80 disable 11 10 13 162 enable 11
86. files to project button in the Project Properties dialog Select the directory that contains the files you want to add to your project Add the applicable files by double clicking on them or by selecting them and pressing the Open button The new project is now open 6 From the Project menu select Load Files to open the files you want on your EDE desktop EDE automatically creates a makefile for the project EDE updates the makefile every time you modify your project 1 42 Chapter 1 s 1 6 9 2 USING THE CONTROL PROGRAM A detailed description of the process creating the sample program demo abs is described below This procedure is outlined as a guide for you to build your own executables for debugging In order to debug your programs you will have to compile assemble link and locate them for debugging using the TASKING c166 compiler package following the procedure outlined below 1 Compile your modules with g generate debug symbols 2 Assemble your modules with DEBUG generate debug symbols 3 Locate with the RESERVE MEMORY control for the specific execution environment 4 Format the output of the locate stage into IEEE 695 format 5 Download image part of absolute IEEE 695 file to the target usually as an CrossView Pro command line option i The program is now ready to be debugged with CrossView Pro You can do this with one call to the control program 1 Make the subdirectory xvw of the examples
87. following functions are provided long is_string_arg long n long is double arg long n long is buffer_arg long n double get double arg long n string get _string_arg long n double get_buffer_arg long n Numerical arguments can be retrieved by using get_double_arg In the graphm command the x y pairs produced by a sequence of calls to add_printf in the graph script are accessible via global variables x and y of data type array of double 3 5 MISCELLANEOUS FUNCTIONS For generating a random number the rand function is available in CXL int rand void B 18 CXL SYNTAX Appendix B SOUND SUPPORT MS Windows all TASKING M XIGNAddV Sound Support MS Windows C 3 You can have sound effects being played when a predefined event in CrossView Pro occurs You can configure the sound in the Sound settings of the Control Panel of MS Windows Similar to assigning a sound to a system event you can assign a sound to a CrossView Pro event Currently the following events are supported Breakpoint hit File has been downloaded CrossView Pro has started execution CrossView Pro is exiting Run command button Step command button StepOver command button Halt command button Symbols Loaded Fatal system error occurred Non fatal error How to add sound support 1 Firstly all events must be specified to MS Windows You can do this by adding the following lines to the Regi
88. for a longer combination of words and evaluators You can use a macro anywhere an CrossView Pro or C expression is valid in a breakpoint s command list with assertions from the keyboard among other places CrossView Pro also allows you to save macro definitions so they are always available By passing parameters to a macro you can create powerful and flexible macros to debug your code more efficiently You can use macros in the Command Window or connect them to the graphic interface in a feature called the toolbox You can have this toolbox visible as a CrossView Pro window and use it to execute a macro by clicking a button You control which macros have corresponding buttons making the toolbox easy to adapt to different situations 8 2 DEFINING MACROS You can create as many macros aS you want Q From the Tools menu select Macro Definitions to open the Macro Definitions dialog box and click on the New button Macro Definitions 2 x m Macro Macros Commands Main New Macro x Return Macro name Jlcopvar Commands r File Current file Figure 8 1 Macro Definitions 8 4 7 B Chapter 8 In the Command Window use the set command followed by the macro s invocation name and the list of commands Note that the list of commands must be in double quotation marks For example the command set st e main R creates a macro call st that tells CrossView Pro to
89. formatted Rather than a number for the integer type styles size can also be c for char s for short i for int and I for long The default action if no modifier is specified is to print the value of exp using the n normal format 13 18 Chapter 13 Be careful with one letter variable names as they may be taken as an CrossView Pro command rather than as a variable If an expression begins with a variable that might be mistaken for a command then eliminate any white space between the variable and the first operator For example use h 9 instead ofh 9 To display the value of a variable that has the same name as an CrossView Pro command you must use the natural format modifier For example to print the value of the variable C use C n Variables may be altered as a side effect of evaluation of exp See the example below Example To set variable aux to t times 8 type aux t 8 As a side effect the variable t is post incremented If you type s_aux func t s CrossView Pro will set special variable s_aux to the result of the function call to func with the variables t and s passed as parameters If you type Ss_aux x4 Print the value of the special variable s_aux as four hex bytes you could also use s_aux xl i Command Reference 13 19 line Function Display the C source line numbered ine in the current source file From the Edit menu select Find Line Enter the line number and click o
90. from If you are very anxious to see local variables you can first get an address and then use that address to monitor the contents For example Sadr_sum amp sum m adr_sum x4 In this example sum is a long 4 bytes You must be sure that sum remains at that address while the program is running The values you get this way are only valid under specific conditions Local variables from the function main normally meet these conditions 11 7 7 REFRESH LIMITATION While running the application in the background mode the automatic refresh functionality may not be able to keep up with all the debugging information produced by the running target Typically the collected information will be correctly displayed and automatically updated in the current open views and no information will be lost You might lose the debugging information when scrolling these views during the background mode The reason is that either CrossView Pro does not run fast enough or the communication with the target hardware is not handled fast enough by the operating system 11 28 Chapter 11 The information that cannot be processed by CrossView Pro within the specified update interval is displayed as either lt unknown gt or dashes The way the lost information is displayed depends on the internal communication level within CrossView Pro where the information is lost Information lost during communication with the target hardware is displayed as l
91. given the breakpoint at the current viewing position is set to a count of 1 and a reset count of 1 If no breakpoint is present at the current viewing position the message No such breakpoint appears Each time a breakpoint is hit CrossView Pro decrements the count When the count reaches 0 execution is halted and the count is reset to the reset_count This command is not allowed when the target runs in the background Example To set a breakpoint s count and reset count to 1 for the breakpoint at the current viewing position type bc To set the count to 3 and the reset count to 4 for the breakpoint whose breakpoint number is 2 type 13 46 Chapter 13 bCYC Function Set a temporary cycle count breakpoint From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Cycle Breakpoint to open the Add Cycle Breakpoint dialog Click the Advanced button and enable the Remove when hit check box g The command line syntax is count bCYC cmds Description Set a temporary breakpoint after the specified cycle count count can be any expression evaluating to a number The list of CrossView Pro commands cmds are executed when the breakpoint is hit When the breakpoint is hit execution is halted the breakpoint is then removed By default the current execution position function line number and source statement are displayed Next any commands associ
92. hit check box a The command line syntax is stack bb cmds Description Set a breakpoint at the beginning of the function designated by the stack level stack Otherwise use the current function stack level 0 and associate the list of CrossView Pro commands cmds with the breakpoint When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bb command This command is not allowed when the target runs in the background Example To set a breakpoint at the beginning of the current function which prints a stack trace type bb T To set a breakpoint at the beginning of a function whose stack number is 2 type 2 bb d break b bB bd bD bi bI bt bti btI bu bU Q Command Reference 13 45 bc Function Set a breakpoint s count and reset count From the Breakpoints menu select Breakpoints select the breakpoint for which you want to set the count and reset count and click on the Edit button The Edit Code Breakpoint dialog appears Click on the Advanced button and enter a breakpoint count g The command line syntax is number be count reset_count Description Set the count and reset_count for the breakpoint with breakpoint number number When no arguments are
93. in seconds Sequence breakpoints Syntax break sequence sequence option sequence is a combination of breakpoints Set change breakpoint attributes Syntax break set bp number bp_name option bp_number is the breakpoint number If the breakpoint has a name bp_name you can use this name instead of a number 13 60 Chapter 13 7 Delete breakpoint attributes Syntax break delete bp number bp_name all option bp_number is the breakpoint number If the breakpoint has a name bp_name you can use this name instead of a number Enable disable breakpoints Syntax break enable bp number bp_name break disable bp number bp name bp_number is the breakpoint number If the breakpoint has a name bp_name you can use this name instead of a number Options name sir Change set the name of a breakpoint Note that when a name of a breakpoint which name is used in a sequence is changed the name in the sequence is not automatically changed temporary boo Single shot breakpoint temporary breakpoints are deleted after they are hit enabled boo Enable or disable a breakpoint curr_count expr Set current count reset_count expr Set reset count count expr Set current and reset count of a breakpoint Command Reference 13 61 access_type r w rw Set the access type of a data breakpoint read r write w or read write rw addr expr Set the start address for a code or d
94. in the current directory and in the etc directory On startup CrossView Pro reads the target configuration file in memory and selects the target configuration file indicated with the tcfg command line option or by the target configuration field of Target Settings dialog This board can be selected using the filename of the target configuration file or the full name title field of the target board Mon 40 7 B Execution Environment Note for the XC16x Super10 architectures For each execution of the user application step and run commands the monitor installs the interrupt vectors used by the monitor So when the user application changes the VECSC in CPUCON1 or VECSEG the monitor could not be accessed anymore and that results into a connection loss from CrossView Pro The configuration file should be updated for your own VECSC and VECSEG values The CPUCON1 could be changed by the initialization routine of the user application when the monitor program mext2ib sre or mxcl6xib sre is used BUILDING YOUR APPLICATION In the start asm file the define EVA must be enabled set to 1 The EVA define is needed to force tiny model to execute with CPU segmentation enabled This implies that interrupt behavior in non segmented mode cannot be done However calls within the tiny model program are still executed as non segmented For the C16x ST10 derivatives the EXT define must also be enabled to get C16x ST10 startup code Wh
95. instructions stepping over subroutine calls From the Run menu select Step Mode Instruction step Then click on the Step Over button in the Source Window or select Step Over from the Run menu fee The command line syntax is exp Si Description Single step exp default is 1 machine instructions stepping over subroutine calls If you try to step over a call to a subroutine which contains a breakpoint or which calls another subroutine with a breakpoint then the breakpoint will be hit The next instruction to be executed is shown as a disassembled instruction not as a C statement oN This command is not allowed when the target runs in the background Example To step one machine instruction type Si To step five machine instructions type Si 5 d C S S si R 13 178 7 Chapter 13 Si Function Single step machine instructions stepping into subroutine calls From the Run menu select Step Mode Instruction step Then click on the Step Into button in the Source Window or select Step Into from the Run menu E The command line syntax is exp si Description Single step exp default is 1 machine instructions stepping into subroutine calls The next instruction is shown as a disassembled instruction not as a C statement AN This command is not allowed when the target runs in the background Example To step one machine instruction type si To step five machine instructions t
96. is in the appropriate directory No such procedure or file name procedure CrossView Pro does not recognize procedure as a procedure or file name Check the spelling and whether the file was compiled assembled linked located for debugging Check that the file is in the appropriate directory Error Messages 14 17 No such PSW register state Check register name and selected target No such register The target processor does not have a register with that name No such sr reg state Check register name and selected target No such stream The stream you tried to delete does not exist Check the stream number correct and retry No symbols unable to determine end of procedure CrossView Pro has no symbol information for this procedure To facilitate debugging this procedure you must compile assemble link and locate with the appropriate switches Refer to the Overview chapter for details No symbols available in active procedures To get symbol information you must compile assemble link and locate with the appropriate switches Refer to the Overview chapter for details No symbols for that procedure To get symbol information you must compile assemble link and locate with the appropriate switches Refer to the Overview chapter for details No User or System special variable matches prefix name The string argument of the 1s command did not match any user or system special defined variables Check spelling a
97. keyboard or from the playback file and periodically it updates the windows If all windows would be updated the update frequency would drop That is why you can toggle a switch for each window To toggle the updating of the register window you can type xvw u r If the switch for a window is on it will be updated otherwise it will be skipped You can also specify a new update interval Without arguments CrossView Pro displays all windows updated periodically plus the update interval Notice that simulated I O is done through invisible breakpoints and these must be handled inside the loop Hence if updating the windows takes a lot of time many monitor commands it will also slow down simulated T O 11 7 2 MANUAL REFRESH S7 If you have windows which you do not want to refresh periodically you can disable them in the Background Mode Setup dialog s refresh list and refresh these windows manually From the View menu select Background Mode and select one of the refresh options Use the ubgw command Special Features 11 25 FUNCTION Update the appropriate window when the target runs in the background COMMAND wubgw s a k r d mem t all J d Section Refresh Limitation in this chapter 11 7 3 ENTERING BACKGROUND MODE To run a program in background mode Q From the Run menu select Background Mode Run in Background Ea Type the CB command on the command line F
98. low level I O routines for ROM and RAM debug monitor definitions for ioserial c the virtual output routines for ROM and RAM debug monitor that cannot stop the application definitions for vio c the flash programming monitor flash programming monitor definitions definitions and prototype for flash setup ROM RAM Monitor Mon 17 flash_st10 16x c additional flash routines for the ST10x168 flash_st10 276 c additional flash routines for the ST10x276 trap c set specific monitor trap vector trap_get c get specific monitor trap vector vectabl asm contains the interrupt vector table for the ROM debug monitor with dual vector table configuration mon c the mainline and startup code of ROM and RAM debug monitor mon h definitions and prototypes mon ilo locator invocation file for all configurations of the monitor This file is preprocessed by the C preprocessor to select a configuration mondef h definitions for all configurations makefile used to build all monitors This makefile uses the makefiles in the mon167 monext2 and monxc16x subdirectories subdirectory mon167 makefile used to build C16x ST10 debug monitors and boot programs subdirectory monext2 makefile used to build Super10 debug monitors and boot programs subdirectory monxc16x makefile used to build XC16x debug monitors and boot programs When you have the TASKING C166 ST10 C compiler version 5 0 or higher you can rebuild the monitors Make the m
99. more information on macros refer to Defining and Using Macros chapter 7 5 3 ATTACHING STRINGS TO A BREAKPOINT You can attach strings to a breakpoint s command list This feature is useful for placing comments and reminders within your breakpoints Attaching a string to a breakpoint also eliminates the need for diagnostic printf statements in your compiled code For example you could place a breakpoint on line 49 such as 49 b Passed line 47 n C Whenever the breakpoint on line 49 is hit CrossView Pro prints the string and continues execution 7 6 SUPPRESSING BREAKPOINT MESSAGES Whenever a breakpoint is hit CrossView Pro displays in the Command Window the name of the function line number and file in which the breakpoint appears You can suppress this information by setting breakpoint silent mode In the silent mode the current location is not printed out To set silent mode you can use the Q for quiet command as part of the command attached to a breakpoint definition Pass the Q command to a breakpoint first For example 51 b Q initval 5 stops the program on line 51 but does not print a message stating where the break occurred Breakpoints and Assertions 7 23 7 7 UP LEVEL BREAKPOINTS Up level breakpoints are breakpoints set at the entrance and or exit of functions Basically up level breakpoints are code breakpoints that are directly connected to the current HLL stack handling
100. names of the file function and source line at the address Print the specified number of characters of the string using the expression s value as the address of a pointer to the first byte Equivalent to expression a If no size is specified the entire string pointed to by expression is printed till nil character Display the type of the indicated variable or function Print in unsigned decimal needs NO size specifier size is sizeof long Print in unsigned decimal can have a size specifier default size is sizeof expression Print in hexadecimal needs NO size specifier size is sizeof long Print in hexadecimal can have a size specifier default size is sizeof expression Table 3 4 Format style codes For example typing initval 4xs displays four hexadecimal two byte memory locations starting at the address of initval The following piece of C code can be accessed in CrossView Pro using the string format codes char text Sample n char ptext text 3 15 3 16 Chapter 3 text What ts the address of this char array text 0x8200 text a Print it as a string text Sample J ptext What ts the contents of this pointer string 0x8200 ptext s Print it as a string string Sample J amp ptext Where does ptext itself reside 0x8210 With format codes you may view the contents of memory addresses on the screen For instance to dump the
101. no breakpoint is set A red colored toggle shows that a breakpoint is installed An orange colored toggle shows that an installed breakpoint is disabled Overview 1 29 Due to compiler optimizations it is possible that a C statement does not translate in any executable code In this case you cannot set a breakpoint at such a C statement No breakpoint toggle is shown in this case neia Bow QQ 4 aS ial E a 041416 main y Source lines x Source line step Y void main void int loopvar the loop counter long sum will be 17 sum of factorials from 0 to char cvar sample char variable initval 17 if initval gt recordvar a Breakpoint Coverage Profiling Current Status Toggles Markers Execution Position Bar Figure 1 8 Getting Control Now it is time to execute your program e From the Run menu select Run In the Source Window the current execution position the statement at the address identified by the current value of the program counter is higlighted in blue As a result when execution stops the line you set a breakpoint on is highlighted You can now single step through your program using the Step Into and Step Over buttons in the Source Window Or you may choose to execute the rest of the program or at least until the next breakpoint with the Run button At any point you can interrupt the emulator and regain control by clicking on the Halt button in either the Source Window or the Co
102. or OFF The value ON specifies that the debugger will automatically switch between the source window and the assembly window display depending on the presence of symbolic debug information at the current location The value OFF prevents the automatic window switching Default is OFF CPU Contains a string indicating if the current cpu type is 80C166 or C167 Default is 80C166 FP Contains the value of the frame pointer RO user stack pointer MIXEDASM Contains a string ON or OFF The value ON specifies that the disassembled code as displayed in the assembly window will be intermixed with the corresponding source lines The value OFF suppresses this intermixing Default is ON MORE Contains a string ON or OFF The value ON specifies that the more output pager is enabled The value OFF disables the more output pager Default is ON PC Contains the value of the program counter CSP IP PIPELINE Contains a string ON or OFF The value ON specifies that the pipeline should be displayed in the assembly window Default is OFF register Contains the value of the specified register SP Contains the value of the stack pointer SYMBOLS Contains a string ON or OFF indicating if local symbols and symbolic addresses e g main 56 0x4 or absolute addresses are pr
103. patch is a means of using CrossView Pro to change the execution of your program without recompiling Patches involve manipulating breakpoints to skip code include code or replace existing code with new code Basically a patch is a breakpoint with certain associated commands that enable you to alter program execution This capability is a useful debugging tool You can associate the commands used to patch code with a breakpoint through either the Command Window or through the Commands edit box in the Breakpoint dialog box The examples below set breakpoints using CrossView Pro commands typed in the Command Window You can also set breakpoints in the Breakpoints Breakpoints dialog In this case the commands between the brackets are entered into the Command edit area 7 8 1 PATCHING CODE OUT OF A PROGRAM To patch code out of a program you can set a breakpoint that changes the execution position For instance suppose you want to patch an infinite loop out of your source 78 while loopvar 79 4 80 sum sum 1 81 82 83 sum sum 5 On line 78 place a breakpoint that jumps to line 83 effectively bypassing the loop In the Command Window enter 78 b g 83 C 7 26 Chapter 7 This creates a breakpoint on line 78 that does nothing more than move the execution position beyond the loop and issue a C command Remember that the breakpoint on line 78 is hit before the C statement on that line executes
104. period that stands for the value of the last expression CrossView Pro calculated For instance in the following example the period in the second command equals the value 11 which is the result of the previous expression 5 6 11 4 44 Command Language 3 19 B The period operand assumes the same size and format implied by the specifier used to view the previous item Thus if you look at a long as a char a subsequent is considered to be one byte Use this technique to alter specified pieces of a larger data item such as the second highest byte of a long without altering the rest of the long The period operand may be used in any context valid for other variables is the name of a location When you use it it is dereferenced like any other name If you want the address of something lies 30 bytes ahead in memory do not type 30 This takes the contents of dot and adds 30 to it Type amp 30 instead which adds 30 to the address of the period operand 3 8 CONDITIONAL EVALUATION CrossView Pro supports the if construct Use this construct in breakpoints and assertions to alter program flow conditionally For example if you reset the following breakpoint 60 b if sum lt 5931 C sum CrossView Pro compares the value of sum with 5931 when the program stops at line 60 If sum is less than or equal to 5931 CrossView Pro continues Otherwise CrossView Pro displays the value of sum with 5931
105. point Example To reset all variables that are executed by the CXL script myscript cxl type cxl_reset myscript cxl d gt Refer to Appendix B CrossView Extension Language CXL for details on the CXL syntax Command Reference 13 87 Function Delete all currently defined breakpoints From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click on the Remove All button Es The command line syntax is Diy Description D deletes all currently defined breakpoints Dy does not ask for confirmation d gt break B d 13 88 Chapter 13 d Function Delete a specific breakpoint To delete a code breakpoint directly from the C source click on the red breakpoint toggle next to the corresponding source line in the Source Window Otherwise select Breakpoints from the Breakpoints menu to open the Breakpoints dialog box Select the breakpoint you want to remove and click on the Remove button g The command line syntax is number d Description Delete the breakpoint associated with the given number If no number is given delete the breakpoint at the current line If there is no breakpoint at the current line a B command will be executed to display all breakpoints Whenever a breakpoint is deleted the remaining breakpoints are renumbered starting at 0 Example To delete a breakpoint at the current line type d To delete breakpoint number 3 type 3d db break
106. prints out the structure of recordvar and values of recordvar s fields in correct C notation recordvar struct rec_s a l1 b 0x1028 TASKING c 987654321 color blue Displaying Individual Fields Similarly you can instruct the debugger to print the value of an individual field In the Source Window highlight recordvar color and click the Show Expression button Or in the Expression edit field of the Expression Evaluation dialog box or in the Command Window type the structure name followed by a period and the field name For instance to see the field color for the structure recordvar enter recordvar color Command color blue Output Note that CrossView Pro returns the value in the form field_name value CrossView Pro also displays enumerated types correctly Variables will not have meaningful values when you first start Cross View Pro since your program s startup code has not been executed 6 5 6 6 Chapter 6 e Displaying the Address of an Array If you enter the name of an array in the Expression Evaluation dialog box or in the Command Window the debugger returns its address For instance to find the address for the array table select table from the browse list in the dialog box or type the name in the Command Window table Command table 0x200 Output Note that CrossView Pro returns the address in the form array_name address The debugger can also display the address and va
107. program continues e Alternatively scroll to the line that you want to stop at and click once to establish a viewing position From the Run menu select Run to Cursor to continue execution until you reach this temporary breakpoint g From the Command Window e Type break code address temporary true to set a temporary code breakpoint e Type the C command followed by a line number to set a temporary breakpoint at a line number For example c 51 sets a temporary breakpoint at line 51 and resumes execution at the current execution position FUNCTION Set a temporary code breakpoint COMMAND break code address temporary true option 7 2 3 BREAKPOINT NAMES You can associate a symbolic name with a breakpoint You can then use this name with the following commands break set and break delete Breakpoint names must be unique and cannot be a number or the word all Allowed characters are a z A Z 0 9 and To assign a name to a breakpoint Q Follow these steps e From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box e Select a breakpoint to edit and click on the Edit button 7 14 Chapter 7 e Alternatively click on the Add gt button and select a breakpoint type to create e Enter the breakpoint information in the first field for example an address e Enter a symbolic name in the Name field E Use the name name option of the break command in t
108. register R2 to stream 4 type ios writef 4 x x amp ch1 R2 db ios_read ios_write ios_open 13 138 Chapter 13 L Function Synchronize the viewing and execution positions To synchronize the positions manually click on the Find PC button in the Source Window or select Find PC from the Edit menu Ea The command line syntax is L Description This command synchronizes the viewing and execution positions It also lists the current file function and line number of the current program counter The viewing position is always moved to match the execution position The L command is synonymous with a 0 e command and does not affect the execution position AN This command is not allowed when the target runs in the background Example To synchronize the viewing and execution positions then list current file function and line number type L pe Command Reference 13 139 Function List In general the dialog box in which you define a feature also contains a list EEs The command line syntax is lia b d f g i k 1 L m N p r R s S string 1 func 1 stack Description In the first case above list one of the following assertions breakpoints directories files globals inlined functions kernel state data labels on module scope all Labels memory map of application code sections Namespaces procedures registers internal CrossView Resources special variables S
109. reserved using the RESERVE MEMORY control while locating your application with 1166 The vector table of your application should be located using the VECTAB ddress control Example RESERVE MEMORY OFCCOh TO OFCDFh 0000h TO OFFFh OFD00h TO OFD8Fh VECTAB 8000h ROM RAM Monitor 5 1 3 ROM DEBUG MONITOR USING MEMORY SWITCH In this configuration the monitor and vector table are in EPROM starting at address 0000h When the monitor is booted the EINIT instruction causes the RSTOUT pin of the controller be toggled The hardware will then swap the EPROM with a RAM area and the monitor will continue execution at the new EPROM address For each execution of the user application step and run commands the monitor installs the NMI and serial receive interrupt to jump into the monitor before the execution of the monitor is ended and the user application is started The NMI vector is used for breakpoints and the serial receive interrupt is used to jump into the monitor on the halt command of CrossView Pro Because these vectors are each time reinstalled locating the interrupt vector table of the user application over these vectors is possible The following S record S1 file for burning into EPROMS is installed in the etc directory m167s sre ROM debug monitor for C16x ST10 derivatives This monitor is configured as follows Resource Start End monitor register bank OFCCOh OFCDFh monitor code after swap 08000h O8FF
110. s for short i for int and I for long This command is most often used in combination with exp format to look at the value of some variable or memory location Example To display the variable aux as two octal values of length two type A aux 202 To show the eight bytes before aux in hexadecimal format next type 2x4 d gt expression 13 38 Chapter 13 A Function Toggle the state of the assertion mode To activate or suspend assertion mode select Assertions from the Breakpoints menu and enable or disable the Assertion Mode Active check box E The command line syntax is Afa s Description Activate A a or suspend A s overall state of the assertion mechanism If no operand is given toggle the state Example To activate the assertion mechanism type Aa To suspend the assertion mechanism type As To toggle the state of the assertion mechanism simply type A f Command Reference 13 39 Function Define or modify an assertion From the Breakpoints menu select Assertions to open the Assertions dialog box Click the New button to define an assertion Select an assertion and click the Edit button to modify an assertion E The command line syntax is exp a a d s a cmds Description The a command is used to invoke two different commands The syntax for each command is distinct The first version allows modification of the state of the assertion specified by the expr
111. since your program s startup code has not been executed Also note that global data is initialized at load time Re running a program may produce unexpected results To guarantee that global data is initialized properly download the program again 6 2 1 VIEWING VARIABLES STRUCTURES AND ARRAYS You may view variable values and change them from the Source Window and the Command Window CrossView Pro returns the variable in the format var_name value in the Command Window It is possible to display both monitored and unmonitored expressions in the Data Window After every halt in execution CrossView Pro updates monitored expressions Unmonitored expressions are just one shot inspections of the expressions value Refer to section 4 6 CrossView Pro Windows for a detailed description of the Data Window To set the default display format of the data shown select the proper format in the Data Data Display Setup dialog 6 4 Chapter 6 7 To show the contents of a variable or to show the type information of a function Position the mouse cursor over a variable or a function in the Source Window A bubble help box appears showing the value of the variable or the type information of the function respectively Be aware that local variables may have lost their existence because of optimization To evaluate a simple expression Double click on a variable in the Source window The result of the expression is shown in the Data W
112. stream which is only connected to a terminal window to a probe point fee The command line syntax is ios_wopen terminal_window xvw_variable Description When the name matches the name of an existing terminal window the newly opened stream is mapped to this terminal window xvw_variable is a user special variable in CrossView Pro which holds the value of the newly opened stream number This variable can also be used in the read and write commands to read from or write to the terminal_window You can close the opened stream with ios_close Example To create a new terminal window and map the newly created stream to it The name of the new terminal window will be like x type ios_wopen S ios_nr To open a new stream and if there is a terminal window with the name My terminal map stream to it otherwise create a new terminal and name it My terminal type ios_wopen My terminal Sios_nr d gt ios_open ios_close 13 136 Chapter 13 ios_write Function Write binary data to an I O stream i The command line syntax is ios_write stream file address number_of maus x Description You can specify a File I O stream number or a filename address is the memory location where the data will be read from number_of_maus is the length of the data to be written in MAUs minimum addressable units The optional x specifies that the data should be interpreted as hexadecimal val
113. the b in the mode the file is treated as binary void fclose int handle Closes the file associated with handle void fprintf int handle string format Is the same as the fprintf function in C with the difference that the first argument is a file handle and not a pointer to a stream void fputs int handle string data Writes the data string to the file belonging to the handle The handle is achieved by calling the open function Set or get variable name The following functions are available for interaction with the application being debugged void set string name double value Sets the value of the variable name in CrossView Pro The name must be a name known at the execution point of CrossView Pro If the name starts with a it is either a register name or a CrossView Pro special variable If the name starting with a is not known a new special variable is created and assigned to the value If the name does not start with a and is not known by CrossView Pro an error will be issued on the CXL line Evaluation of expression failed Example set SPSW 0 set register PSW to zero set x 0x1000 set variable x of the program to 0x1000 CrossView Extension Language CXL B 13 double get string name Returns the value of a name known by CrossView Pro This includes variable names and register names If the name starts with a it is either a register name or a
114. the CrossView Pro entry e Select the Execution Environment entry and select a target with CAN support in the Board configuration field for example Phytec KitCON 167 using CAN debugging e Select the RAM ROM Monitor Communication Setup entry and select RS 232 a serial port for example COM1 and a baud rate for example 19200 The RAM ROM monitor for the selected target will be loaded at CrossView startup The command line equivalent looks like xvw166 D rs232 port baud rate tcfg kc167c cfg port COM1 COM2 COM3 COM4 baud rate 2400 4800 9600 19200 38400 57600 115200 Configuration files are located in the etc directory of your toolchain installation directory 2 Establish connection via CAN interface e Close CrossView Pro e From EDE select Project Project Options Expand the CrossView Pro entry e Select the Execution Environment entry and select a target with CAN support in the Board configuration field for example Phytec KitCON 167 using CAN debugging Mon 44 7 Execution Environment e Select the RAM ROM Monitor Communication Setup entry and select CAN Select a CAN card manufacturer for example Phytec NET CAN and the CAN interface card from this manufacturer for example pcNET CAN e Select the CAN Communication Setup entry and select a CAN baud rate and a CAN identifier Depending on the selected CAN interface card select values for the other editable fields as well The command line equi
115. the additional system requirements OCDS via the parallel port e One unused parallel printer port on your PC LPT1 LPT2 or LPT3 e Parallel printer cable capable of high speed transfers e OCDS supporting architecture e Infineon Technologies OCDS interface OCDS 4 Execution Environment OCDS via the Device Access Server e OCDS supporting architecture e One unused USB port on your PC e Infineon Technologies USB wiggler e Infineon Technologies DAS interface 4 INSTALLATION 4 1 HARDWARE INSTALLATION OCDS VIA THE PARALLEL PORT A It is strongly recommended that both the PC and the target board be powered off during the installation It is also strongly recommended that installation of the connection follows electrostatic conventions to prevent damage to the target CPU 1 Verify that JTAG support of the targeted OCDS interface is enabled For example in case of an EASY UTAH v1 1 board check the presence of a jumper on JP7 2 Connect the selected parallel port to the Infineon Technologies OCDS interface using a parallel printer cable 4 2 HARDWARE INSTALLATION OCDS VIA DAS 1 Connect the USB wiggler to the Infineon Technologies OCDS interface 2 When there is an on board wiggler disable this and use the OCDS interface connector 4 3 SOFTWARE INSTALLATION The required CrossView Pro and GDI Generic Debug Instrument software is automatically installed and configured when the product is installed OCDS
116. the debugger is not possible For the RAM debug monitor for the C16x the WR pin and the BHE pin are enabled at startup of the monitor The init field in the target configuration file can be used to change the values at startup The signal BHE is used by the chip select logic for the 16 bit data bus modes Here the signal may not be disabled by the user respectively port P3 12 may not be used as an I O port Mon 16 7 Execution Environment 5 3 REBUILDING THE DEBUG MONITORS The monitor and boot programs are also included as source installed in the mon subdirectory This directory contains the following files boot c boot_get c bootcom h boot ilo command c memcopy c memcopy h id c io c iocan c candef h ioserial c ioserial h vio c vio h flash_exe c flash_exe h flash_ptr h the boot program for RAM debug monitor input from serial port functions for RAM boot program data structures to save data for the switch from boot program to monitor locator invocation file for locating the bootstrap loader the command interface for ROM and RAM debug monitor functionality to copy the ROM monitor into RAM and run from copied RAM definitions and prototypes for memcopy c the monitor version string routine the general low level I O routines for ROM and RAM debug monitor the CAN low level I O routines for ROM and RAM debug monitor definitions for CAN used by iocan c and mon c the serial
117. to build your own executables for debugging 1 Make the subdirectory xvw of the examples directory the current working directory This directory contains a makefile for building the demo example It uses the default mk166 rules 2 Be sure that the directory of the binaries is present in the PATH environment variable 3 Compile assemble link and locate the modules using one call to the program builder mk166 mk166 This command will build demo abs for the C16x ST10 architecture using the file makefile To see which commands are invoked by mk166 without actually executing them type mk166 n This command produces the following output TASKING C166 ST10 program builder vx yrz Build nnn Copyright years Altium BV Serial 00000000 c166 w183 x s g Ot demo c al66 demo NOPR m166 addone al66 addone NOPR EXTEND 1166 LINK demo obj addone obj ext cl66s lib ext rt166s lib TO demo lno 1166 LOCATE demo lno TO demo out demo ilo ieeel66 demo out demo abs The x option the EXTEND control and the extended library in the makefile are used to specify the C16x ST10 To remove all generated files type mk166 clean 1 46 OVERVIEW Chapter 1 SOFTWARE INSTALLATION all TASKING M daLdVH Software Installation 2 3 2 1 INTRODUCTION This chapter describes additional notes for running the CrossView Pro debugger under the X Windows environment on UNIX Installation of the TASKIN
118. to generate RESERVE MEMORY locator controls You can specify multiple ranges by separating them with commas Notes e Fields not required for the target can be omitted e CrossView Pro searches for the cfg files in the current directory and in the etc directory 1 6 3 2 CONFIGURING CROSSVIEW PRO You may have to configure CrossView Pro to talk to the emulator or ROM monitor If you have a simulator version this step is not needed and the associated menu item is grayed To configure CrossView Pro e From the Target menu select Communication Setup The Communication Setup dialog box appears as shown in figure 1 6 Overview 1 25 Communication Setup 24 x Select link type r Serial Port Settings Port com g Baud rate fi 9200 Timeout factor fi a m Handshake Xon Rott IV Exclusive access C RTS CTS None fo Use euvileridawnioad path Cancel Figure 1 6 Setting up CrossView Pro Communications e Adjust the communication parameters baud rate and I O port to match your hardware configuration e Close the dialog box by clicking on the OK button e The settings in this dialog and other dialogs will be saved on exiting CrossView Pro when the Save desktop and target settings check box in the Save tab of the Options dialog is set This dialog always appears on exiting CrossView Pro amp From EDE you can set the communication parameters in th
119. to open the Breakpoints dialog box Click the Add gt button and select Data Breakpoint to open the Add Data Breakpoint dialog Enter an address or click the Address button to select a symbol to use as the address Click the Advanced button Enter an address in the End adress field or click the Browse button to select a symbol to use as the end address Click the OK button to add the data breakpoint Ea The command line syntax is exp bD r w b exp2 cmds Description Set a read write or both read and write data breakpoint in the address range exp1 to exp2 and associate the list of CrossView Pro commands cmds with the breakpoint When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bD command If exp1 is the address of a local stack variable the function in which it was declared must be currently active on the stack If the local variable corresponding to a data breakpoint goes out of scope due to a return from the function in which it is currently active the data breakpoint will be removed and a message will be printed telling the user that the variable is no longer active AN Not available for all execution environments Example To set a data breakpoint that includes the entire structure rec1
120. unexecuted code may exist because of programming errors or because of unnecessary code It may be that your program input your test set is incomplete It does not cover all paths in the program Data coverage allows you to verify which memory locations i e which variables are accessed during program execution Additionally you can see stack and heap usage The availability of this feature depends on the execution environment Profiling Profiling allows you to perform timing analysis on your software Two forms of profiling are implemented in CrossView Pro Function profiling also called cumulative profiling gives you timing information about a particular function or set of functions CrossView Pro shows the number of times a function is called the time spent in the function the percentage of time spent in the function and the minimum maximum average time spent in the function The timing results include the time spent in functions called by the profiled function Code range profiling presents timing information about a consecutive range of program instructions CrossView Pro displays the time consumed by each line source or disassembly in the Source Window Next to this the Profile Report dialog shows the time spend in each function The timing results do not include the time consumed in functions called by the profiled function The availability of profiling depends on the execution environment Function profiling can be suppo
121. value specified in field value The register name in subfield must be known by CrossView Pro i e must be specified in the register file You can specify multiple registers by separating them with commas Mon 37 Mon 38 Execution Environment Field Description einit Initialize the register specified in the subfield with the value specified in field value before the EINIT instruction is executed Up to 6 registers can be initialized before EINIT The register name in subfield must be known by CrossView Pro i e must be specified in the register file You can specify multiple registers by separating them with commas ilvl Specify the monitor interrupt priority level This level should be 15 or lower When the monitor should allow certain interrupt routines to continue to be served when the program is halted this monitor interrupt priority level should be lower than the interrupt level of the interrupt routines reserve The reserved memory ranges from to for monitor resources EDE uses this field to generate RESERVE MEMORY locator controls You can specify multiple ranges by separating them with commas reset_period A period in milliseconds to hold the reset level at the required level rs232_reset_pin The name of the RS232 pin to reset the target for example RTS rs232_reset_level The level when the reset is active rs232_reset_hold_l
122. very user friendly yet powerful way to display the raw contents of the target memory Refer to section 4 6 4 for a description of the Memory Window Format codes also give you control over the number and size of multiple pieces of data to display beginning at a particular address The debugger accepts format codes in the following form count style size 6 16 Chapter 6 Count is the number of times to apply the format style style Size indicates the number of bytes to be formatted Both count and size must be numbers although you may use c char s short i int and 1 long as shorthand for size Legal integer format sizes are 1 2 and 4 legal float format sizes are 4 and 8 For instance initval 4xs displays four hexadecimal two byte memory locations starting at the address of initval With format codes you may view the contents of memory addresses on the screen For instance to dump the contents of an absolute memory address range you must think of the address being a pointer To show the memory contents you use the C language indirection operator Example 0x4000 2x4 0x4000 0x00DB0208 0x5A055498 This command displays in hexadecimal two long words at memory location 0x4000 and beyond Instead of using the size specifier in the display format you can force the address to be a pointer to unsigned long by casting the value unsigned long 0x4000 2x 0x4000 0x00DB0208 0x5A055498 To view the fir
123. 00000 cee A 20 21 Introduction 320 amp jie kB ech Sith neces A 20 22 DDE Items and Topics 0 000 eee A 20 2 3 DDEEyents rererr hansen ka eee teed ec ees A 27 2 3 1 Packet Formato eset ape ase Re ate WN ate Rotor ek A 27 Table of Contents 2 4 CrossView Pro DDE Specific Options and Commands 4 ivy cei tone ee fee gate A 28 2 4 1 Command Line Options 0 005 A 28 2 4 2 Gomimands se eit eaan oes Sa oe etek A 28 2 5 Examples svnarug ont ir id wide E eA Ras A 29 2 5 1 Evaluating an Expression 0005 A 29 2 5 2 Reading Target Memory 0 00005 A 30 259 Writing Into Target Memory 000 A 31 2 5 4 Requesting Current File and Line Number A 32 2 5 5 Using CrossView Pro as Pure Server A 32 CROSSVIEW EXTENSION LANGUAGE CXL B 1 1 Introduction a a Mita Pe eee ae bd B 3 2 The Syntax Of CXL 2 2 ain oli nate tae aie hel geeks B 4 2 1 Variables aruo nanat Seek heehee S he ea sens B 6 2 2 Base Types na a bisGle ed eae a eee ood B 6 2 3 Compound Types 0 0 0 eee eee eee B 7 2 4 Pointers 852 45 8 Gens Ca Dae a B 7 2 5 Constants and Expressions 0 005 B 8 2 6 Operators ob eases wed a ks B 8 2 7 FUNCHONS pane ei Sie oh Tac hho A She Sek hae ae B 9 2 8 File Inclusions goe c deed Mew eh teens nce dl B 9 3 Predefined Functions 00 00 0000 eee B 10 3 4 Mathematical functions 000005 B 10 3 2 Array and
124. 10 13 163 function 11 9 functions 1 6 information 13 164 program builder 1 11 program counter 3 10 5 7 13 74 g command change 13 115 gi command change 13 116 inside function 3 9 program development 1 11 program execution controlling 5 1 notes about 5 14 program reset 13 165 proinfo command 13 164 project files adding files 1 41 prst command 13 165 pseudo assembly 6 19 psm_dll_ name 1 20 Sim 10 pU command 13 166 Q Q command 13 167 q command 13 168 quiet breakpoint recording 13 167 Quit A 12 quit debugger 13 168 R command 5 8 13 169 radm 1 18 RAM Debug Monitor Mon 5 booting Mon 5 command set Mon 23 configurations Mon 5 resources used by Mon 14 rawmemget command 13 170 read from an I O stream 13 132 formatted 13 133 record commands only 13 26 CrossView Pro and emulator commands 13 28 emulator commands only 13 30 record and playback 9 1 definition of 15 9 record mode 1 7 recording checking status 9 6 close file for 9 6 entering comments 9 4 example 9 7 resume 9 5 start 9 3 startup options 9 18 stop 9 6 summary of commands 13 11 suspend 9 5 refresh windows 13 185 register file 1 18 Mon 37 Sim 10 OCDS 7 Register Window 4 27 6 27 setup 6 27 register _file 1 18 Mon 37 Sim 10 OCDS 7 Index 16 7 RegisterFile 1 22 1 23 OCDS 7 registers 3 11 displaying the contents of 6 10 special variable 3 10 reserve 1 21 1 23 1 24 Mon 38 OC
125. 10 5 Deleting Assertions 00 000 e eee eee 7 32 7 10 6 Using Assertions 2 0 0 0 7 33 7 10 7 Gathering Statistics with Assertions 7 35 DEFINING AND USING MACROS 8 1 8 1 CrossView Pro Macros 0 0 0 0 ce eee eee 8 3 8 2 Defining Macros susrasa ra n a ES 8 3 8 2 1 Listing Macros 4 2 ive oee e Ua ee AG ee 8 5 8 2 2 Redefining a Macro 06 eee 8 5 8 2 3 Saving Macro Definitions to a File 8 6 8 2 4 Loading Macro Definitions from a File 8 7 8 2 5 Deleting Macros 00 00 c cee 8 8 8 3 Macro Parameters 1 1 0 00 eee eee eee 8 9 8 4 Redefining Existing CrossView Pro Commands 8 10 8 5 Using the Toolbox 2 0 0 6c eee 8 11 8 5 1 Opening the Toolbox 00 0 0 ee eee 8 11 8 5 2 Connecting Macros to the Toolbox 8 11 8 5 3 Removing a Macro Connection 8 12 COMMAND RECORDING amp PLAYBACK 9 1 9 1 Recording Commands 0000 00 eee 9 3 9 1 1 Entering Comments 0 00000 cee eee ee 9 4 9 1 2 Suspend Recording 00 eee eee 9 5 9 1 3 Resume Recording 0 e eee ee 9 5 9 1 4 Check Recording Status 00 00 c ee eee 9 6 Table of Contents 9 1 5 Close File for Recording 0 0000000 9 6 9 1 6 Command Recording Example 9 7 9 2 Playing Back Command Files 9 8 9 2 1 Setting the Type of Playback 9 9 92 2 Calling Other
126. 13 7 Function Toggle the updating of the appropriate window when the target runs in the background Eg The command line syntax is interval u d k r s a mem t Description The following windows can be updated d Data k Stack r Register s Source a Assembly mem Memory t Trace With interval you can specify the update interval in seconds If interval is zero no window is automatically updated The updating of the Data Window is ON at startup the others are OFF If all windows are being updated and or many monitor commands are active it will increase the load on the communication between CrossView Pro and the target AN This command is not available if the background mode is not supported check the addendum Example To toggle the updating of the Register Window type u r To toggle the updating of the Source Window type us To disable period updating type O u Gls CB ubgw Command Reference 13 185 ubgw Function Update the appropriate window when the target runs in the background From the View menu select Background Mode and select one of the refresh options g The command line syntax is ubgw s a k r d mem t all Description The following windows can be updated s Source a Assembly k Stack r Register d Data mem Memory t Trace all all open windows Without an argument the ubgw command refreshes all windows selected by the background mode u c
127. 13 14 13 2 9 Target System Control 0 00 00 cee eee 13 14 13 2 10 Save and Restore Target State 13 15 13 2 11 Help Commands 00 0 c cece eee 13 15 13 2 12 Search Commands seoor ee i e e ah 13 16 XI XII Table of Contents 13 3 Commands Detailed Descriptions 13 16 ERROR MESSAGES 14 1 14 1 What this Chapter Covers 00 00 0000 u ee 14 3 14 2 Error Messages n ununun anaa 14 3 GLOSSARY 15 1 15 1 What this Chapter Covers 0 0000000 15 3 15 2 Glossary Terms 1 0 0 00 0 eee cece ee 15 3 INTERPROCESS COMMUNICATION A 1 1 COM Interface s 2 se ees Ake ee kG be A 3 1 1 Introduction enres i a E eee ead A 3 1 2 Using the COM Object Interface A 3 1 2 1 Run Time Environment 0 0000005 A 3 1 2 2 Command Line Options 50 0 0 008 A 3 1 2 3 Startup Directory 2 0 0 0 eee A 4 13 COM Tntertaces sy etal nbs fag ales adn bea ioe 2 A 5 1 3 1 Activating the COM object 0 005 A 5 1 3 2 Methods wa sie ts a a tates sqn dicts Sept eec hes A 6 1 3 3 Implementation Details 00 0005 A 7 1 4 Events 22 acb niet tans cache Oke ies A 8 1 5 COM Examples oouo unuau A 12 1 5 1 Python Examples n oa annaa A 12 1 5 2 Visual Basic Examples anana A 16 1 5 3 WORD Examples te 1 esuewenes EA OE aN A 17 1 5 4 Excerpt of the MIDL Definition A 19 2 DDE Server Interface
128. 16 0 04 104 60 204 304 40 50 4 0 20 40 60 80 Figure 4 15 CrossView Pro Data Analysis Window The Data Analysis Window provides a local Toolbar containing the following buttons a Zoom in horizontally Ak Zoom out horizontally 4 38 Chapter 4 Unzoom horizontally to normal show all collected data Zoom in vertically Zoom out vertically Unzoom vertically to normal show all collected data Update Data Analysis window ka D oe gt E The graph displayed in the Data Analysis window is constructed by processing a CXL script Refer to the CXL syntax specification in Appendix B CrossView Extension Language CXL for details TASKING provides scripts for standard signal analysis such as FFT However the programmer can write CXL scripts and process the data in the format he desires d See section 11 5 Data Analysis for more details on data analysis 4 6 10 POP UP WINDOWS Finally two more windows can appear in certain situations Help Window Activated with function key F1 or when a Help button is pressed inside a dialog Toolbox This window contains user defined buttons Using CrossView Pro 4 39 4 7 CONTROL OPERATIONS FOR CROSSVIEW PRO All control operations can take place in any CrossView Pro Window You can select and save startup options You can record and play back playback files You can define macros and assign them a button in the toolbox allowing you to configur
129. 2 Chapter 14 Input from stdin longer than max input size characters input string Command truncated The input data is longer that the input buffer therefore the data was truncated at max input size Try to reduce the input data and or commands Internal error while setting an instruction level breakpoint If this error condition persists please contact the TASKING Technical Support staff for assistance Invalid assertion maintenance command You have entered an illegal assertion command Valid commands are aa to activate assertions ad to delete assertions as to suspend assertions Invalid value for uplevel break You have entered an illegal value for an uplevel break The form of the command is exp bU or exp bU where exp determines how many returns from functions should occur before the break Execute the t command to find out how many levels down in the stack you are then choose an appropriate value for the uplevel break See chapter Command Reference for more information Invoking procedure calls not allowed while emulator is running in the background The target is running this command is not allowed unless the target is stopped See the st command Macro Expansion error expansion looping CrossView Pro looped 50 times while trying to expand this macro without completing the expansion Check the logic of the macro arguments It may need to be corrected or simplified Macro Expansion error expansion too large T
130. 2 Execution Environment MONADR Description Receive target memory locations where the user program resources are saved when the target monitor is running and uses these resources itself Token 21 0x15 BYTE Parameters none Returns saved regs address ADDR ILVL Description Write the monitor ILVL priority to the target The interrupt priority level should be 15 or lower When the monitor should allow certain interrupt routines to continue to be served when the program is halted this monitor interrupt priority level should be lower than the interrupt level of the interrupt routines Token 22 0x16 BYTE Parameters interrupt level BYTE Returns none ROM RAM Monitor Mon 33 DEBUG Description Receive the debug instruction that will activate the monitor when a breakpoint is encountered This instruction is the trap function with corresponding trap number Token 25 0x19 BYTE Parameters none Returns used trap intruction WORD BAUD ZL Description Internal use to calculate the baud rate oscillator frequency used on the target board Token 26 O0xlA BYTE Parameters none Returns myltiply factor BYTE baud rate zero length WORD Mon 34 Execution Environment EINIT Description Internal use to execute the einit instruction to initialize the target at startup Token 32 0x20 BYTE Parameters none Returns none ROM RAM Monitor
131. 31 To inspect the value of global variables and data structures e Double click on the variable name in the Source Window Depending on preferences you have set the variable is shown in the Data Window as shown in figure 1 9 or the dialog displayed in figure 1 10 is shown Expression E valuation 21x Expression recordvar n X Browse Optional display format Style Normal x Number of values Value size Default 7 gt recordvar n recordvar struct rec s a 1 b 0x1026 TASKING c 987654321 color blue Help Add Watch Add Show Figure 1 10 Expression evaluation Pointers structures and arrays displayed in the data window have a compact and expanded form The compact form for a structure is just lt struct gt while the expanded form shows all the fields The compact form of a pointer is the value of the pointer while the expanded form shows the pointed to object The compact form is indicated by putting a at the start of the display i e the object is expandable while a indicates the expanded form i e the object is contractible Nesting is supported so structures within structures can likewise be expanded ad infinitum To expand a pointer structure or an array e Double click on the in the Data Window 1 32 Chapter 1 s 1 6 66 CROSSVIEW PRO OUTPUT Nearly every CrossView Pro command can be given using the graphical user interface
132. A cable that exchanges asynchronous data between the host and target systems scope The extent to which a variable can be referred to Global variables are always in scope local variables are only in scope when their defining function is the current function select To make a window active sequence breakpoint A breakpoint that halts program execution when breakpoints are hit in a specified sequence A sequence breakpoint can have a command list 15 10 Chapter 15 single stepping Executing a source statement or a machine instruction then halting Single stepping lets you observe a program executing in stop motion to observe registers variables and program flow skidding When a microprocessor executes a few instructions after a data breakpoint halts execution On some microprocessors execution may not stop until all instructions in its pipeline have been executed It is important to realize therefore that a target program may not halt at the precise instruction where the data breakpoint occurred software breakpoint See breakpoint source level debugger A debugger capable of correlating source code and variable names with object code CrossView Pro is a source level debugger source window A CrossView Pro window displaying the high level language program code It also displays such information as the current execution position viewing position and installed breakpoints special variable A variable independent of the
133. ALS AND PARAMETERS OF A FUNCTION As mentioned in the previous section CrossView Pro displays all parameters of a function You can view the local variables and parameters of any single function active on the stack To do this GY Follow these steps e Open up the Expression Evaluation dialog box by clicking on the New Expression button from the toolbar or selecting Evaluate Expression from the Data menu e Click on the Browse button Ea In the Command Window use the 1 dowercase L command For example assuming you are still in factorial issue an 1 command l factorial num 0 locvar x You can accomplish the same task by specifying the stack depth instead of a function name 10 6 5 4 LOW LEVEL VIEWING THE STACK You can directly view the contents of the user stack Although CrossView Pro provides several high level methods of tracing functions on the user stack you can view its contents directly with the frame pointer special variable p which equals RO For instance the command Sfp 0 4x1 6 24 Chapter 6 displays the four one byte values in hexadecimal to which the frame pointer points Notice that the stack frame is not really an array but by pretending it is you can display the memory much as you did with the table array Refer to the Accessing Variables section in this chapter for more information Accessing Code and Data 6 25 6 6 TRACE WINDOW aN C level trace is no
134. CDS 8 close a file I O stream 13 129 CmdAnnotatedOutput A 11 cmdannotatedoutput A 22 cmdoutput A 21 code breakpoints See also breakpoints Index 6 7 set breakpoint 13 42 task aware 13 63 code coverage 1 6 color windows 2 5 color offset 11 17 color settings 2 5 COM interfaces A 5 COM methods Execute A 6 ExecuteNoWait A 7 Halt A 7 InitQ A 6 COM object interface A 3 activating A 5 events A S examples A 12 methods A 6 using A 3 command history displaying recent commands 9 19 command language 3 1 command line batch processing 9 10 command line options 4 5 Command Window 4 22 displaying data in 6 10 opening 1 52 CommandCanceledByUser A 9 CommandInterpreterBusy A 8 CommandinterpreterReady A 9 commands multiple 3 17 syntax 4 5 comments 3 17 communication setup 1 24 compare application 1 27 13 89 compiler 1 11 C 1 11 conditional command execution 13 128 conditional keywords 3 19 configuration file Mon 35 Sim 9 OCDS 6 configure CrossView Pro 1 24 Index connection error Mon 42 constants 3 4 binary 3 5 character 3 6 character constants in C 3 6 floating point 3 5 hexadecimal 3 4 long integer 3 5 octal 3 5 strings 3 6 continue execution 5 9 control operations 4 39 control program 1 11 coverage 1 6 11 6 15 5 disable 11 6 13 76 enable 11 6 13 77 information 13 79 marker 4 24 7 4 memory window 4 29 next covered block 13 155 next not cov
135. CTION Continue execution from the current execution position COMMAND C 5 2 3 SINGLE STEP EXECUTION When the program stops you can continue execution or you can step through it one line or instruction at a time This is called single step execution 5 10 Chapter 5 Single stepping is a valuable tool for debugging your programs The effect is to watch your programs run in stop motion You can observe the values of variables registers and the stack at a precise point in a program s execution You can catch many potential bugs by watching a program run line by line When you single step CrossView Pro normally executes one line of your source and advances to the next sequential line of the program If you single step to a line that contains a function call however you have two options step into the function or step over the function call Source Single Step Into eee There are several methods you can use to single step into Click on the Step Into button in the Source Window or select Step Into from the Run menu Press function key F8 or type the s command in the Command Window You have the option of setting the number of lines you want to execute For example to execute 2 lines of the program type 2 s FUNCTION Step through a program one source line at a time COMMAND number s Stepping Into Functions B Stepping into a function means that CrossView Pro enters the function and executes its p
136. Can t open ogfile name as log file CrossView Pro could not open the specified host to target system communications logfile Check the spelling of logfile name and that logfile name is in the correct directory Check permissions of logfile name With MS DOS check the CONFIG SYS file for the maximum number of open files allowed Increase the number and reboot if necessary Make sure the filename is valid for the host Operating System Can t open output file name as output file CrossView Pro could not open the specified output file Check the spelling of output file name and that output file name is in the correct directory Check permissions of output file name With MS DOS check the CONFIG SYS file for the maximum number of open files allowed Increase the number and reboot if necessary Make sure the filename is valid for the host operating system Can t open playback file name as playback file CrossView Pro could not open the specified playback file Check the spelling of playback file name and that playback file name is in the correct directory Check permissions of playback file name With MS DOS check the CONFIG SYS file for the maximum number of open files allowed Increase the number and reboot if necessary Make sure the filename is valid for the host operating system Can t open record file name as record file CrossView Pro could not open the specified recording file Check the spelling of record file name and that reco
137. CrossView Pro The amount of windows and dialogs and their contents is kernel dependent On Line Help When you click on a Help button or when you press the F1 function key in an active window the CrossView Pro help system opens at the appropriate section From this point you can also access the rest of the help system Documentation CrossView Pro has a comprehensive set of documentation for both new and experienced users The manual includes an installation guide description of debugging with CrossView Pro error messages and a command reference section The documentation tries to cover a wide range of expertise by making few assumptions about the technical experience of the reader 1 8 Chapter 1 t 1 3 SOURCE LEVEL DEBUGGING CrossView Pro is a source level debugger Source level means that debugging works on the actual C code or assembly code CrossView Pro can deal with global and local variables that are both statically and dynamically allocated variables Therefore it can deal with compiled addresses of variables that move around the stack CrossView Pro knows the compiler s addressing conventions for variables of any type The Debugging Environment All debugging configurations follow a similar pattern There is a host system where the debugger runs and a target system usually an execution environment where the program being debugged runs There may also be a probe that can plug into the actual hardware of the
138. CrossView Pro searches the Source Window from the current viewing position If it finds the string it moves the viewing position to the corresponding line This does not affect the execution position To find a string Open the Search String dialog box by clicking on the Find Text String button or select Search String from the Edit menu Click on the Case Sensitive check box to turn case sensitivity on or off You can also highlight a text fragment in the source code and click on the Find Next Text String button to find that fragment again In the Command Window use the or commands The command searches forwards and the command searches backwards For example to find the string initval enter initval Search forward for the string initval CrossView Pro s searches wrap around beyond the top or bottom of the file if necessary FUNCTION Search forward for a string COMMAND string FUNCTION Search backward for a string COMMAND string If no string is supplied to the or command or if you hit carriage return or press the function key F3 or select the Search Next String from the Edit menu item CrossView Pro searches again for the last string requested 5 16 Chapter 5 7 5 4 3 JUMPING TO A SOURCE LINE As mentioned earlier in the Changing the Viewing Position section you can use the scroll bar to scroll through the source code or use the arrow keys or the and keys To f
139. CrossView Pro special variable If the name starting with a is not known a new special variable is created and set to zero If the name does not start with a and is not known by CrossView Pro an error will be issued on the CXL line Evaluation of expression failed Example printf PSW 04x n get SPSW printf x 04x n get x 3 4 GRAPH FUNCTIONS CXL supports specific graph functions when passing a CXL script to a graph or graphm command graph command functions GUI interaction functions available when a script is passed to the graph command void add_point double x double y This function adds graph points to the acquisition buffer void printf string format The output of printf is written to the command window graphm command functions GUI interaction functions available when a script is passed to the graphm command void printf string format The output of printf is sent to the window contents script B 14 B Appendix B printf is chosen to facilitate development and debugging graphm scripts using a host system C development environment The C code can be very easily ported to CXL afterwards The output is in fact a command of the drawing engine and is therefore not the same as a usual printf and not the same as printf in the graph and cxl command Logging to the command window from a graphm script is not possible via printf The followin
140. CrossView Pro uses a forward slash not a backward slash Accessing Code and Data 6 15 Don t worry about trying to memorize the list you probably won t have occasion to use all these formats Notice however that the t format code give information about a particular value For instance if you wanted to find out what the type of initval is type initval t global long initval Please note that the displayed type may not seem to be the same type as you declared in your source file e The c166 compiler supports keywords bitword sfr and sfrbit These keywords indicate special cases of the basic types unsigned int and bit respectively For the debugger these special cases are not distinct When requesting the type of variable declared with one of the above keywords CrossView Pro will show the basic type e The near far and huge keywords are essential attributes to pointers The chosen memory model designates the default pointer attribute When the type of a pointer variable is requested in CrossView Pro the attribute is shown explicitly because CrossView Pro does not know about memory models You can also take more low level actions such as finding out which function contains the hexadecimal address 0x100 0x100 P main CrossView Pro tells you that address 0x100 is in the function main 6 3 4 DISPLAYING MEMORY CrossView Pro supports several methods to display memory contents The Memory Window provides a
141. D break disable breakpoint_number break disable breakpoint_name To enable the breakpoint numbered 1 enter break enable 1 FUNCTION Enable a breakpoint COMMAND break enable breakpoint_number break enable breakpoint_name Breakpoints and Assertions 7 19 7 5 BREAKPOINT COMMANDS CrossView Pro allows you to attach commands to code and data breakpoints When execution halts at a breakpoint CrossView Pro executes the commands Valid commands are almost any C statements and CrossView Pro commands giving you a very powerful tool for manipulating a debugging session To do this Q Follow these steps From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Select an existing breakpoint from the list and click on the Edit button or click on the Add gt button and select a type of breakpoint you want to add Enter the breakpoint information in the first field for example an address Click on the Advanced button Note that the button is only visible when there is more information available on the breakpoint Click in the Commands edit area Type in the commands to be executed when the breakpoint is reached AN You do not need to enclose a group of commands in brackets However each individual command must be delimited by a semicolon 7 20 Chapter 7 Add Code Breakpoint 27x Break At demo c 58 Address Cancel Line 58 i Help Name Standard lt lt
142. DS 7 Reset A 10 reset program 5 8 13 165 reset target system 13 169 13 171 reset_period 1 21 Mon 38 ResetDelay 1 23 1 24 OCDS 7 ResetProgram A 10 resource file 2 3 result A 27 rewind an I O stream 13 134 RMB 165 application notes Mon 56 RMB 167 application notes Mon 56 RMB 167SR application notes Mon 56 ROM Debug Monitor Mon 5 configurations Mon 5 dual vector table Mon 11 memory switch Mon 13 resources used by Mon 14 RS 232 Mon 41 rs232_bootstrap_hold_level 1 21 Mon 38 rs232_bootstrap_level 1 21 Mon 38 rs232_bootstrap_pin 1 21 Mon 38 rs232_reset_hold_ level 1 21 Mon 38 rs232_reset_level 1 21 Mon 38 rs232_reset_pin 1 21 Mon 38 rst command 13 171 RTOS aware debugging 11 4 Running A 9 RunningInBackground A 9 S S command 5 11 13 172 s command 13 173 Index save command 13 174 save on exit 4 20 scoping rules and variables 3 9 scroll bar 4 12 search backward for string 13 23 forward for string 13 22 summary of commands 13 16 searching 5 14 5 16 for a function 5 14 for a source line 5 16 Jora string 5 15 serial channel Mon 18 serial ports 4 6 set command 13 175 sfr 6 15 sfrbit 6 9 6 15 Si command 5 12 13 177 si command 5 12 13 178 signal analysis 4 37 sim167 cfg Sim 10 simulation I O 1 5 simulation scenarios Sim 6 simulator Sim 1 peripheral support Sim 4 timer support Sim 5 simulator configuration selecting Sim 9 single stepping 1 5 5
143. Edit Source or press the Edit Source button On MS Windows the Codewright editor will be called with the filename and line number of the file that is currently in the debugger on UNIX systems the xvwedit program will be called with the filename and line number of the file that is currently in the debugger The xvwedit program is a shell script You can adapt it to your specific requirements Using CrossView Pro 4 27 4 6 3 REGISTER WINDOW B Figure 4 8 shows the Register Window This window allows you to view and edit register contents CSP 0000 IP 140A a RO 1170 Rl 1346 R2 9456 R3 FFFF R4 1544 R5 0000 R6 FFFF R FFFF RS FFFF RG FFFF R10 FFFF R11 FFFF Rl2 0000 R13 0000 R14 0000 R15 FFFF DPPO 0000 DPP1 0001 x Figure 4 8 CrossView Pro Register Window Note that the contents of the Register Window for your particular target may be different from the one shown in figure 4 8 You can specify which register set definition appears in the Register Window with the Register Window Setup dialog box Settings Register Window Setup In this dialog you can also specify the display format of values in the Register Window hexadecimal or decimal CrossView Pro supports multiple Register Windows Register Windows either have the title Register or Register register set name The Register title indicates the default register set In situ editing allows you to change the reg
144. Expression Evaluation dialog is opened if the Bypass Expression Evaluation Dialog check box in the Data Display Setup dialog is not set If the latter is the case click on the Add Watch button to create a new monitor in the Data Window To remove an existing monitor select the monitor in the Data Window and click on the Delete Selected Data Item button Ea The command syntax is m exp number m d Description The m command has two distinct functions The first monitors the given expression The second deletes the monitoring of the expression specified by number Data monitoring takes place whenever the program stops execution that is for a breakpoint assertion single step or user interrupt ctrl C In window mode the values of all currently monitored data are displayed in the Data window Each piece of monitored data has a unique identifying number that is used when deleting it Example To monitor the value of the variable myvar type m myvar To monitor the address of variable myvar type m amp myvar To monitor the element alpha 1 of array type m array alpha 1 13 144 Chapter 13 7 To delete expression number 2 of the monitored data type gt M b a s R C Command Reference 13 145 mcp Function Memory copy From the Memory Window click on the Copy Memory button to open the Copy Memory dialog Enter the start address and the end address inclusive of the memory region you want to copy Enter the
145. FIGURATION FILE The target configuration files cfg describe the available target boards These files are text files and can be edited with any text editor Empty lines lines consisting of only white space are allowed Comment starts at an exclamation sign C and ends at the end of the line An information line has the following synopsis comment field subfield field value field subfield field value comment optional comment one of the keywords described below the usage of this part depends on the value of field see the value assigned to the field The fields listed in the configuration file are Field Description title The full name of the configuration This name will be displayed in the Target configuration field of the Target Settings dialog cpu_type The name of the CPU present on the target board CrossView Pro knows four types of CPUs 167 167MAC EXT2MAC and EXT22MAC 167 represents the extended architecture like the C161 C163 C164 C165 and C167 families 167MAC represents the extended architecture including the MAC coprocessor like the ST10x262 and ST10x272 families EXT2MAC represents the second extended architectures like the XC16x and Super10 EXT22MAC represents the enhanced Super10 architectures On chip Debug Support Field Description register file The filename of the register file de to be used for t
146. Fh monitor data after swap 00200h 0027Fh Table Mon 5 ROM debug monitor memory switch configuration The memory ranges for monitor code data and register bank should be reserved using the RESERVE MEMORY control while locating your application with 1166 Example RESERVE MEMORY OFCCOh TO OFCDFh 08000h TO O8FFFh 0200h TO 027Fh Mon 13 Mon 14 Execution Environment 7 5 2 RESOURCES USED BY THE DEBUG MONITORS The system stack size is set at startup of the monitor according to the values defined in the startup code cstart asm or else the size is set to 256 words The monitor uses the same system stack area and system stack pointer as your application When program execution returns from your application into the monitor the monitor continues using the system stack specified by SP where your program left of So remember that it is possible that the system stack overflows when debugging despite of the fact that the size of the system stack is large enough when you run your program standalone Initially the system stack pointer SP is set to OFA40H for the monitor which makes it possible to debug the startup code in your program The application startup code sets the definite values for the system stack pointers SP STKOV and STKUN The monitors use the following resources Resource C16x ST10 XC16x Super10 monitor monitor serial port So SO interrupts used NMI SORINT SOR
147. G CrossView Pro debugger is part of the installation of the TASKING C Compiler Assembler toolchain which is described in chapter Software Installation of the C Cross Compiler User s Manual 2 2 NOTE ABOUT FILENAMES Members of the CrossView Pro family of debuggers use the following name convention for their executables xfwl166 2 3 CONFIGURING THE X WINDOWS MOTIF ENVIRONMENT To run the Motif version of CrossView Pro on a Sun you must define the environment variable LD_LIBRARY_PATH to where the library file libMrm a resides For example LD_LIBRARY_PATH usr dt 1lib export LD_LIBRARY_PATH CrossView Pro uses a binary resource file for appearance related specifications for windows menus dialog boxes and strings to be accessed at run time The name of the resource file has the same name as the executable but with uid extension Be sure that the uid file is present in one of the following directories e the current directory e the directory specified by the UIDPATH environment variable The environment variable UIDPATH specifies the path used by Motif to locate the resource uid file If not set it is set to a default value The resource file is installed in the same directory as the associated executable So you should set UIDPATH as follows Bourne shell syntax UIDPATH path_to_uid uU export UIDPATH 2 4 7 Chapter 2 Replace path_to_uid by the path to the directory in which the resource file is in
148. INT NMI or DEBUG system stack 32 words 48 words internal RAM regbank 16 words 16 words RAM for data 136 bytes 136 bytes RAM ROM for code lt 3K lt 3K RAM ROM for code lt 3K lt 3K CAN interface message 1 and 2 using ID30 and ID31 Table Mon 6 Monitor resources The monitor uses a maximum of 16 bytes of system stack space starting from the current system stack pointer SP of your program i e the monitor uses the system stack of your program Initially the SP is set to OFA40h by the monitor which makes it possible to debug your startup code before the SP is set The monitor does not use any user stack space of the user application It has its own user stack in the RAM for data area ROM RAM Monitor Mon 15 The NMI and the SORINT interrupt cannot be used by your program Both vectors should be located in RAM because the monitor refreshes them on exit This is needed to be able to restart the monitor after downloading an application which overwrites the vector table All SFRs used by the monitor are saved on entry of the monitor and they are restored before the program is continued The CrossView Pro debugger sets a breakpoint by exchanging the code on the breakpoint with a TRAP NMI instruction When the breakpoint is hit CrossView Pro writes the original code at the breakpoint address Therefore the user program must be in RAM As a consequence the monitor may also be entered when an NMI is caused
149. IT instruction This is necessary when the SYSCON1 clock divider does not have the default value bext2fi sre combination of the boot programs bext2f sre and bext2i sre bext2nrbi sre same aS bext2nrb sre but with an extra I O initialization after the EINIT instruction This is necessary when the SYSCON1 clock divider does not have the default value bxcl6xi sre same as bext2i sre but built for the XC16x architecture bxcl6xnrbi sre same as bext2nrbi sre but built for the XC16x architecture Table Mon 1 Boot programs ROM RAM Monitor The following monitor programs are available Monitor Program Description mtargetn sre for C16x ST10 XC16x Super10 boards where the NMI interrupt occurs before the reset vector is executed An NMI handler is installed to do the first initialization target can be one of 167 xc16x or ext2 respectively mtargetr sre for target boards where no NMI occurs before the reset vector is executed miargetre sre for target boards where no NMI occurs before the reset vector is executed All registers within the einit field were not stored with the boot program and these registers will be sent to the monitor again to initialize the target After initialization the EINIT instruction is executed with the monitor command EINIT This is the most flexible monitor program to initialize a target board Use this monitor program together with boot pr
150. Labels in Disassembly To show labels in disassembly Q From the Settings menu select the Source Window Setup to open the Source Window Setup dialog box and enable the Symbolic disassembly check box Accessing Code and Data 6 19 E Turn the symbols special variable ON by typing the following command in the Command Window opt symbols on 6 4 1 INTERMIXED SOURCE AND DISASSEMBLY To show intermixed source and disassembly From the View menu select Source Source and Disassembly to open the Source and Disassembly Window gm Use the I format switch to display intermixed C and disassembled code in the Command Window The I format works exactly as the i format except CrossView Pro intermixes the pseudo assembly listing with the original C source This feature is often helpful in displaying long portions of code Auto Switch between Source and Disassembly To automatically switch between source and disassembly window depending on the presence of symbols Q From the Settings menu select the Source Window Setup to open the Source Window Setup dialog box Enable the Show assembly when SDI is missing check box E Turn the autosrc special variable ON by typing the following command in the Command Window opt autosrc on 6 20 7 6 5 THE STACK Chapter 6 During debugging you frequently find yourself lost or unable to pinpoint your location through a series of function calls The system s
151. Mon 25 Mon 26 REGLOAD Description Execution Environment Receive all 16 user program General Purpose Register values from the target Token 5 Parameters none Returns reg RO value reg R1 value reg R2 value reg R3 value reg R4 value reg R5 value reg R6 value reg R7 value reg R8 value reg R9 value reg R10 value reg R11 value reg R12 value reg R13 value reg R14 value reg R15 value BYTE WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD ROM RAM Monitor Mon 27 REGSAVE Description Send 16 new user program General Purpose Register values to target Token 6 BYTE Parameters reg RO value WORD reg R1 value WORD reg R2 value WORD reg R3 value WORD reg R4 value WORD reg R5 value WORD reg R6 value WORD reg R7 value WORD reg R8 value WORD reg R9 value WORD reg R10 value WORD reg Rll value WORD reg R12 value WORD reg R13 value WORD reg R14 value WORD reg R15 value WORD Returns none Mon 28 Execution Environment MOVMEM Description Copy range of target memory contents to another memory location Source range and destination range should be in the same 16K page Token 7 BYTE Parameters src range start ADDR src range end ADDR dest range start ADDR Returns OxAA BYTE FILLMEM Description Fill a target memory range with a specific val
152. Mon 9 m166 1 11 m167cmcp sre Mon 9 m167cr sre Mon 9 m167crd sre Mon 9 m167d sre Mon 11 m167mcp sre Mon 9 m167n sre Mon 9 m167r sre Mon 9 m167re sre Mon 9 m167rvh sre Mon 9 m167s sre Mon 13 macro preprocessor 1 11 macros 1 7 8 1 15 7 calling other macros 8 4 define 13 175 defining 8 3 delete definition 15 186 deleting 8 8 echo command 13 100 expanding 8 5 listing 8 5 parameters of 8 9 reading from a file 8 7 redefining 8 5 8 10 save 13 174 saving to a file 8 6 summary of commands 13 12 using the toolbox 8 11 main function 15 7 make utility 1 11 makefile automatic creation of 1 41 updating 1 41 makepy utility A 15 map_iram 1 19 Sim 10 Index Index 13 map_ram 1 19 Sim 10 map_rom 1 20 Sim 10 map_sfr 1 19 Sim 10 MAU minimum addressable unit 15 7 mcp command 13 145 memget command 13 146 memory copy 13 145 disassembly 13 92 displaying 6 15 dump 13 94 fill 13 149 mapping Sim 3 search 13 151 single fill 13 148 memory access tracing 1 6 memory configuration Mon 19 memory dump 3 16 6 16 memory layout Mon 19 memory map 4 6 15 8 memory map file Sim 3 memory model Mon 18 memory switch Mon 13 Memory Window 4 28 setup 4 29 toolbar 4 29 menu 4 14 local popup 4 15 menu bar 4 12 MenuEntrySelected A 11 messages CAN interface Mon 45 connection process Mon 47 mext2b sre Mon 9 mext2d sre Mon 11 mext2fb sre Mon 9 mext2ib sr
153. OMMAND number si FUNCTION Single step at instruction level Step over functions COMMAND number Si As an example of stepping through instruction level code restart the program Then select Run Step Mode Instruction step Once it stops at the breakpoint you installed advance execution one assembly language instruction at a time by using the Step Over and Step Into buttons Or give the Si or si commands CrossView Pro will display disassembly of the next machine instruction that forms part of the C code in the Command Output Window main 47 0x4 disassembled instruction Different types of targets of course have different assembly code so debugging at the assembly level is hardware dependent Notice that a single C statement is usually compiled into several sometimes many machine instructions AN CrossView Pro supports debugging on machine instruction level using the Intermixed or Assembly mode of the Source Window 5 13 5 14 Chapter 5 7 5 3 NOTES ABOUT PROGRAM EXECUTION If you stop the program in a module without debug symbols then an S or s command attempts to step to a module with symbols CrossView Pro does this by searching the run time stack for a return address in a module with symbols then setting a temporary breakpoint there and running This process relies on two assumptions that the stack layout is uniform and that each function eventually returns In the unlikely event that these assump
154. Pro When this acknowledge byte matches the byte specified for the selected target board CrossView Pro knows that the CPU is in BSL mode If the monitor has already been loaded before and running it answers with an acknowledge byte OxAA which is different from all possible BSL acknowledge bytes Once CrossView Pro detects that the CPU is in BSL mode it continues with the boot sequence This boot sequence is as follows Mon 6 Execution Environment Sending boot program CrossView Pro sends a boot program to the serial port up to 960 bytes The on chip bootstrap code reads the first 32 bytes from serial port 0 and starts running this code This part of the boot program contains a small serial input loop The small serial input loop reads the remaining part of the boot program and continues execution This boot program which now runs is in fact a restricted monitor Initializing registers CrossView Pro now first sends a byte number to identify how many registers will be sent to the boot program to configure the registers with a maximum of six before the EINIT instruction in the boot program is executed The EINIT is required because it causes the RSTOUT pin to go high which may be required to indicate the hardware on the target board that initialization is done CrossView Pro now sends a null byte so a target could now synchronize its communication port the monitor responds with an acknowledge byte Then CrossView Pro also sends c
155. Real Time Operating System aware debugging for various kernels Since each kernel is different the RTOS aware features are not implemented in the CrossView Pro executable but in a library RADM RTOS aware debugging module that will be loaded at run time by CrossView Pro The amount of windows and dialogs and their contents is kernel dependent CrossView Pro for the C166 ST10 supports an OSEK RADM osek_radm d11 according to the OSEK standard You have to create your own OSEK Run Time Interface ORTI and specify this file to CrossView Pro CrossView Pro supports ORTI specifications v2 0 and v2 1 EDE From the Projects menu select Project Options Expand the CrossView Pro entry and select RTOS Aware Debugging Module Select OSEK and specify the name of the ORTI file or select User Defined and specify your RADM DLL name CrossView Pro Within the CrossView Pro s Target Settings dialog Target Settings select the CrossView Pro configuration you will use by selecting a Target configuration These target configuration files are normal ASCII text files The name of the shared library that contains the kernel aware code can be specified in the target configuration The radm configuration item specifies the name of the shared library that contains the kernel aware code The syntax of a target configuration file is comment field field value field one of the defined keywords field value the value assigned to t
156. SERTION number Assertion number was hit UNKNOWN The process has stopped The cause is unknown or cannot be described with one of the previous reasons One of the causes may be that the user presssed the Halt button More causes may be added in the future Reset Hardware reset command has been executed by the debugger ResetProgram Software reset of the program command has been executed by the debugger ViewedLineNrChanged number The line being displayed changed to the specified one If the source window is closed or the cursor is not in a file but somewhere in assembly this event will not be sent SourceFileChanged filename The debugger displays an other source file An empty file name will be sent if no source is being displayed at all DidLoadSymbols filename The symbols of an application have been loaded Interprocess Communication A 11 DidAddSymbols filename An application s symbols have been added to the ones already present DidDownloadImage filename The code and data image of an application has been downloaded into target memory DestroyedAllSymbols filename The symbol table of the application filename has been destroyed BreakpointsChanged The list of breakpoints changed for example when a breakpoint was added AssertionsChanged Either the list of assertions or assertion mode changed for example when an assertion was added Note that the assertion
157. SES control The memory regions 0200h to OFFFh OFCCOh to OFCDFh and OFDOOh to OFD4Bh must be reserved by the locator because this area is used by several debug monitors See the addendum for more details on the execution environment As you can see the tools use temporary files for intermediate results If you want to keep the intermediate files you can use the tmp option The following command makes this clear cc166 s g Ot ieee demo c addone src demo ilo o demo abs v0 tmp This command produces the following output c166 demo c o demo src e s g Ot al66 demo src TO demo obj NOPR addone src al66 addone src TO addone obj NOPR 1166 LNK TO demo lno demo obj addone obj 166 c166s lib 166 fp166s lib 166 rt166s lib 1166 LOC TO demo out demo lno PR demo demo ilo ieeel66 demo out demo abs As you can see if you use the tmp option the assembly source files and linker output file will be created in your current directory also Of course you will get the same result if you invoke the tools separately using the same calling scheme as the control program As you can see the control program automatically calls each tool with the correct options and controls Overview 1 45 1 6 9 3 USING THE MAKEFILE The subdirectories in the examples directory each contain a makefile which can be processed by mk166 To build the demo example follow the steps below This procedure is outlined as a guide for you
158. Start CrossView Pro from this temporary directory For Windows XP 2000 you can create a separate icon or shortcut to start CrossView Pro which has the working directory Start in set to the temporary directory Close all CrossView Pro windows except the Command Window Exit CrossView Pro with Save desktop and target settings enabled You now have generated an xvw ini file with minimal GUI overhead Save the xvw ini file and remove the temporary directory For each batch run of CrossView Pro you have to do the following Create a temporary directory Copy the saved xvw ini file to the temporary directory Create a command file in the temporary directory Command Recording amp Playback 9 11 The following command file session cmd loads the abs file downloads the code runs the code and exits N hello abs load the symbols dn download the program __EXIT bi set a breakpoint at the exit point R run the program pc optional show the program counter q y exit CrossView Pro where hello c contains include lt stdio h gt void main printf Hello World n 4 Copy the abs file to the temporary directory This is needed because CrossView Pro changes its working directory when the N command is used 5 The following line executes CrossView Pro in batch mode and waits for it to finish Windows XP 2000 start wait c cl166 bin xfwl66 timeout 120 tcfg sim166 cfg p session c
159. T a target system reset Refer to the rst command for information about side effects that may be introduced due to a target system reset After restarting a program you can stop execution only by a breakpoint an assertion or a halt operation from the user FUNCTION Reset program run program COMMAND R Controlling Program Execution 5 9 5 2 2 HALTING AND CONTINUING EXECUTION To stop or continue execution Click on the Halt button in the Source Window to stop execution Click on the Run Continue button to resume execution amp From the Run menu selct Halt to stop execution Select the Run menu item to resume execution Eg Use the C command or function key F5 to resume execution When you halt the program all the active windows update automatically to reflect the program s current status For instance if you have any expressions monitored in the Data Window their current value appears Note that when you use any of the above methods to stop the program CrossView Pro halts at the machine instruction that was on when interrupted While this is a convenient way to stop the program it is hardly an accurate one you may stop execution in the middle of a C source statement To stop a program at a precise line of C source code set a breakpoint For more about breakpoints see the Breakpoints and Assertions chapter When continuing CrossView Pro resumes execution as if the program had never stopped FUN
160. The search begins with the line before the current line If string is found the current line is changed to point to the line containing the string The execution position is not affected If you do not specify string CrossView Pro searches for the previously specified string again Searches wrap around to the end of the file Regular expressions are not recognized Example To look for the previous occurrence of Random in the current file beginning with the line above the current line type Random ev 13 24 Chapter 13 r lt Function Continuous command playback Read commands continuously from a file To setup command playback select Playback CrossView from the Tools menu Enable the Continuous playback check box and click on the Execute button E The command line syntax is lt file Description All the commands in file will be read and executed If a playback file contains either a lt or lt lt command playback switches to the newly specified file and returns to the original file The first playback file determines the type of playback continuous or single step Record and playback options can also be specified via command line parameters If the execution of commands from the playback file is interrupted with the Halt button CrossView Pro will begin reading the remainder of commands in file using single step playback see the lt lt command Example To read and execute the commands foun
161. To change the program counter so that the next instruction to be executed corresponds to line 127 type g 127 pcan 13 116 Chapter 13 n gi Function Change the program counter to a new execution position Q Click on a source line and select Jump to Cursor from the Run menu Eg The command line syntax is address gi Description This command changes the program counter so that address becomes the current execution position This command changes only the program counter It does not cause the target to begin execution Exercise caution when changing the execution position The Jump to Cursor menu item is not available in the source lines window mode to prevent problems by skipping pieces of C code which are required to be executed Moving the program counter to a new address in the middle of a series of related assembly instructions is sometimes risky Moreover even though you change the program counter registers and variables may not have the expected values if parts of the code are bypassed This command is not allowed when the target runs in the background Example To change the program counter so that the next instruction to be executed corresponds to address 0x0800 type 0x0800 gi pcer Command Reference 13 117 graph Function Create Data Analysis window and execute CXL script i The command line syntax is 99 99 graph window script arg Description Create Data An
162. UNCTION Run a program in background mode COMMAND count CB linenumber This will start the application under debug to run continuously as with the C command and switch CrossView Pro from Halted to Background Mode count is assigned to the breakpoint at the current execution position as the number of times to hit this breakpoint before execution to stop linenumber specifies the source line to place a temporary breakpoint The mouse pointer changes to an arrow with a small watch face underneath This indicates that CrossView Pro is now in background mode Some commands are treated a little different in this mode because they can otherwise influence the running program badly Commands that need information from the stack like bU bu bb or bB are not allowed because that information is not reliable Other commands require great care for example the o command For example if you type the g while in background mode you will see xvw g 56 Command g is not allowed while the emulator is running in background 11 26 7 Chapter 11 11 7 4 LEAVING BACKGROUND MODE You can leave Background Mode in three ways 1 Stop the target immediately amp From the Run menu select Background Mode Halt Target fee Enter the st command xvw st 2 Let CrossView wait for the target to stop Q From the Run menu select Background Mode Wait for Target to Stop Eze To wait for a breakpoint you can use the wt command
163. View Pro commands and command window output to a file COMMAND gt gt filename FUNCTION Force flushing of CrossView Pro commands and command window output to a file COMMAND gt gt ilename FUNCTION Log target communications COMMAND gt amp filename FUNCTION Force flushing of target communication logging COMMAND gt amp filename FUNCTION Log GDI accesses COMMAND gt filename Command Recording amp Playback 9 15 FUNCTION Force flushing of GDI accesses logging COMMAND gt Vilename 9 4 2 RECORDING COMMANDS AND LOGGING SCREEN OUTPUT It is possible to have command recording command output logging and target communication logging on at the same time That is you can have one file recording just the CrossView Pro commands and another file concurrently recording both the commands and the computer responses Refer to the previous section for information on command record files Since the Command Window log file contains both your commands and the computer responses you cannot use it in playback mode 9 4 3 COMMAND WINDOW LOG FILE EXAMPLE For example if you entered the following commands gt gt screen log initval la The output file screen 1log contains gt initval initval 0 gt la no assertions 9 4 4 SUSPENDING AND RESUMING OUTPUT LOG You can resume and suspend the Logging process from the menu or from the Command Window ey From Tools menu select Log
164. X and the TQM167U TQM167UE TQMX161U and TQMXI167U mini moduls that can be put onto the starter kit STK16XU The mini moduls are reset hardwired by the RS 232 serial port With a target reset the mini moduls are set in BSL mode and so the TASKING boot program and monitor can be loaded and downloaded by CrossView Pro For more information about the boot program and monitor see section 5 The RAM and ROM Debug Monitor SIMULATOR all TASKING M WNadNsaaqav Simulator Sim 3 1 INTRODUCTION This addendum contains information specific to the simulator version of CrossView Pro for the C166 ST10 The simulator use the host memory to simulate the memory of the target To avoid that the whole address range up to 16MB of these derivatives has to be allocated on the host a memory map should be supplied to the simulator with the simulator configuration file 2 EXECUTABLE NAME The following CrossView Pro executable is delivered with the package for PC with exe extension xfw166 CrossView Pro Debugger for the C166 ST10 The simulator is delivered as a separate DLL within the package disim166 dll_ CrossView Pro Debugger Simulator for UNIX with so extension 3 SUPPORTED FEATURES Except for the restrictions mentioned in section 6 the simulator version of the debugger cleanly supports the standard features of CrossView Pro including single stepping code breakpoints data breakpoints trace support C exp
165. Y is y size words The assignment of two different size variables may cause unexpected results Please correct the condition if possible This condition is common when assigning string variables where string y is shorter than string x 14 26 Chapter 14 Warning CrossView comment terminated by end of command line source command line The playback file has a comment that was not terminated It is by default terminated but if the next line was the continuation of the comment then unexpected results may occur Please terminate comment strings on each line to avoid this warning Windows not enabled use WW to enable The command issued can only be used when windows are enabled Write I O request could not be queued CrossView Pro received a condition that it could not handle If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance Write only register Value may not be valid CrossView Pro set a write only register but has no way of verifying the correctness of the register contents Wrong storage class for data breakpoint You may not set a data breakpoint at the address of a register variable or special variables CrossView could not disassemble the emulator s trace buffer because the address information in the buffer is incorrect The trace buffer may be corrupted Re check the commands leading to this condition and retry If the condition persists p
166. _ inf_xc164cs_ocds cfg chip XC164CS with OCDS DEMUX fxc16x sre inf_xc164cs_ocds_demux cfg XC164CS with OCDS MUX fxc16x sre inf_xc164cs_ocds_mux cfg XC167Cl DEMUX bxc16xnrbe sre mxc16xre sre fxc16x sre inf_xc167ci_demux cfg XC167Cl MUX bxc16xnrbe sre mxc16xre sre fxc16x sre inf_xc167ci_mux cfg XC167Cl with OCDS single fxc16xs sre inf_xc167ci_ocds cfg chip XC167Cl with OCDS DEMUX fxc16x sre inf_xc167ci_ocds_demux cfg XC167Cl with OCDS MUX fxc16x sre inf_xc167ci_ocds_mux cfg Phytec Bootstrap Monitor Flash Configuration File Loader Monitor KitCON 160 with 161PI b167nrb sre m167r sre f167 sre kce161pi cfg KitCON 160 with 161RI b167nrb sre m167r sre f167 sre ke161ri cfg KitCON 161 b167nrb sre m167r sre f167 sre kce161 cfg KitCON 162 with 161Cl b167nrb sre m167r sre f167 sre kce161 ci cfg KitCON 162 with 161CS b167nrb sre m167r sre f167 sre kce161cs cfg KitCON 162 with 161JC b167nrb sre m167r sre f167 sre kc161jc cfg KitCON 163 b167nrb sre m167r sre f167 sre kce163 cfg KitCON 164 b164nrb sre m164r sre f167 sre kc164 cfg KitCON 165 b167nrb sre m167r sre f167 sre kc165 cfg KitCON 167 b167nrb sre m167r sre f167 sre kce167 cfg KitCON 167 using CAN b167nrb sre m167cr sre f167 sre kce167c cfg debugging Mon 54 Execution Environment Phytec Bootstrap Monitor Flash Configura
167. a eC Function Start execution on current CPU and switch to another CPU fee The command line syntax is cpu_number eC Description Start execution on the current CPU and switch to CPU cpu_number This command can only be issued when the currently selected CPU is in debug mode Example To start execution on the current CPU and select the CPU indicated by number 1 type 1 ec ie Command Reference 13 99 ec Function Select a CPU or show current CPU number E The command line syntax is cpu_number ec Description The ec command allows you to select a CPU in your current Execution Environment if your target has multi CPU support This command can only be issued when the currently selected CPU is in debug mode Example To view the current CPU selection type ec To select the CPU indicated by number 1 type 1 ec dp 13 100 Chapter 13 7 echo Function Display the definition of a macro name without executing the macro From the Tools menu select Macro Definitions to view the definition of a macro a The command line syntax is echo ext Description Perform macro expansion on text without executing This allows you to see how a macro is expanded It is particularly informative when macros call other macros Example If you type echo macro 3 CrossView Pro will display the expansion of macro 3 Gs set unset save Command Reference 13 101 el Function Est
168. a CAN interface The CAN idname can be one of ESDNTCAN XXATVCI PCAN pcNETCAN or Vector CAN idname can t set baudrate for CAN interface Specify one of the following baud rates ESDNTCAN and PCAN support 50 125 250 500 1000 IXXATVCI supports 10 20 50 100 125 250 500 800 1000 CAN idname can t add id number for CAN interface The receive identifier is determined by the send identifier 1 This message occurs if this addition cannot be performed CAN idname can t find all required CAN interface arguments Not all required interface arguments are specified CAN idname found wrong interface card number Specify a valid interface_card_ID number to identify the vendor specific CAN host adapter CAN idname found unsupported board type Specify the correct number of the interface card board type CAN idname can t open CAN interface The CAN interface could not be openend CAN idname can t initialize CAN interface The CAN interface could not initialize the Timing register CAN idname can t start CAN interface The CAN interface could not be started Mon 46 Execution Environment CAN idname can t set acceptance mask for CAN interface The CAN interface could not set the Acceptance Mask register CAN idname can t define transmit queue for CAN interface The CAN interface could not create a transmit queue CAN idname can t define receive queue for CAN interface The CAN interface could not cr
169. a is equal to b Otherwise CrossView Pro will continue The command line if wait gt 1000 wait l r will print the value of wait and list all registers if the value of wait exceeds 1000 Command Reference 13 129 ios_close Function Close a File I O stream amp From the Settings menu select I O Simulation Setup Select a stream in the Connections tab and click on the Delete button EEs The command line syntax is ios_close stream file Description You can specify either a filename or a stream number Example To close stream number 1 type ios_close 1 To close file data txt and close 1 stream that is mapped to this file type ios_close data txt Only 1 stream is closed even if multiple streams are attached to this file The command displays which stream number has been closed Gs ios_open ios_wopen 13 130 Chapter 13 ios open Function Open a File I O stream From the Settings menu select I O Simulation Setup Open the File T O tab and click on the Configure button Attach a stream with a file to a probe point E The command line syntax is ios_open file mode r xvw_variable Description This command is useful to connect a file to a stream at the command line of CrossView CrossView returns a stream number which is opened with this command in the xvw_variable and displays it too The filename is optional When the filename is omitted and such
170. a newly opened stream receives data and is not shown in any opened terminal window a new window will be opened that interacts with this stream Furthermore the mode can be specified when a I O stream is opened read write or append r r at Open file for reading The file pointer is positioned at the beginning of the file Open file for reading and writing The file pointer is positioned at the beginning of the file Truncate file to zero length or create file for writing The file pointer is positioned at the beginning of the file Open file for reading and writing The file is created if it does not exist otherwise it is truncated The file pointer is positioned at the beginning of the file Open file for writing The file is created if it does not exist The file pointer is positioned at the end of the file Open file for reading and writing The file is created if it does not exist The file pointer is positioned at the end of the file Command Reference 13 131 All modes can have a b appended indicating binary access The b can be positioned before or after the This mode affects the ios_read and ios_write commands The ios_read command writes host data to target memory In binary mode MAUs minimum addressable units are filled with a number of bytes that fits in 1 MAU For example a MAU with a size of 24 bits will be filled with 24 8 3 bytes Otherwise the least significant 8 bits of a MAU w
171. ablish viewing position at a specified address Q From the Edit menu select Find Address Eg The command line syntax is laddr ei Description The ei command establishes the viewing position to be at the instruction specified This command is useful for viewing some code in the assembly window without changing the program counter since the execution position is not changed Example To view the current viewing position type ei To view the instruction at address 0x100 type 0x100 ei Gs rerp ee 13 102 Chapter 13 7 et Function Select the specified task s context Q In the Tasks Window click once on the task to be examined E The command line syntax is et TaskId Description Select the specified task s context The Taskld is the identification of the task as displayed in the Tasks Window or specified by the 1k command The current execution position function line number and source statement are displayed All other windows except for the Kernel Windows are updated accordingly Subsequent CrossView Pro commands use the context of the selected task For example the t command shows a stack trace of the selected task Example To select task 4 type do et van Command Reference f Function Set default address printing format E The command line syntax is f printf style format Description Set the default address printing format using a printf format speci
172. ace Messages 0 00000 ee Mon 45 8 4 Connection Process Messages 000 0005 Mon 47 8 5 Connection Problems 0 00 00 epee Mon 49 9 Troubleshooting the Debug Monitor Mon 50 10 Target Board Application Notes Mon 52 10 1 Ertec EVA165 EVA167 and EVAI167AA Mon 55 10 2 Rigel RMB 165 RMB 167 RMB 167SR and RMB 167ERD oo ire 85 o cachs wae ace ese seat ak doe Mon 56 10 3 I ME C167C Board cece Mon 56 10 3 1 Debug Monitors ese aeara aneren cece eee Mon 56 10 3 2 CONNECHONE eof dies sede Son alee Mee ee eae aloes Mon 56 10 4 PHYTEC MM 165 MM 167CR and MM 167CW Mon 57 Table of Contents 10 4 1 BOOt Program Y oe caja Megat et Sea hes Mon 57 10 4 2 CONNECHON Bias Vere oie ee ee ihe tihe pane Mon 57 10 5 PHYTEC KC 161 KC 163 KC 164 and KC 167 Mon 58 10 6 TQ Components STK16X STK16XU Starter Kits Mon 58 SIMULATOR Sim 1 1 Introduction noie o Eea eee eet Kee Sim 3 2 Executable Name 0 0 0 Sim 3 3 Supported Features 00 0 0c eee Sim 3 3 1 Mapping Memory 0 00 cee eee eee Sim 3 4 Peripheral Simulation 0 0 0 0 c eee eee Sim 4 4 1 Peripheral Support 2 0 0 0 00 eee Sim 4 4 2 Scenario Scripting Using CXL 4 Sim 6 4 3 Peripheral Examples 00 000 c eee eee eee Sim 8 5 Target Configuration File auuu Sim 9 6 Restrictions and Implementation Details Sim 11 ON CHIP DEBUG SUPPORT OCDS 1 1 Tn
173. ader Monitor Easy Utah 161U b167nrb sre m167r sre f167 sre inf_161u cfg Easy Utah 161U with OCDS m167ocds sre inf_161u_ocds cfg Easy Utah V1 1 b167nrb sre m167r sre f167 sre inf_165utah cfg Easy Utah V1 1 with OCDS m167ocds sre inf_165utah_ocds cfg M2 evaluation board b167nrb sre m167r sre 167 sre inf_sda6000 cfg ROM RAM Monitor Mon 53 Infineon Bootstrap Monitor Flash Configuration File Loader Monitor XC161CJ DEMUX bxc16xnrbe sre mxc16xre sre fxc16x sre inf_xc161cj_demux cfg XC161CJ MUX bxc16xnrbe sre mxc16xre sre fxc16x sre inf_xc161cj_mux cfg XC161CJ with OCDS single fxc16xs sre inf_xc161cj_ocds cfg chip XC161CJ with OCDS DEMUX fxc16x sre inf_xc161cj_ocds_demux cfg XC161CJ with OCDS MUX fxc16x sre inf_xc161cj_ocds_mux cfg XC161CS DEMUX bxc16xnrbe sre mxc16xre sre fxc16x sre inf_xc161cs_demux cfg XC161CS MUX bxc16xnrbe sre mxc16xre sre fxc16x sre inf_xc161cs_mux cfg XC161CS with OCDS single fxc16xs sre_ inf_xc161cs_ocds cfg chip XC161CS with OCDS DEMUX fxc16x sre inf_xc161cs_ocds_demux cfg XC161CS with OCDS MUX fxc16x sre inf_xc161cs_ocds_mux cfg XC164CS DEMUX bxc16xnrbe sre mxc16xre sre fxc16x sre inf_xc164cs_demux cfg XC164CS MUX bxc16xnrbe sre mxc16xre sre fxc16x sre inf_xc164cs_mux cfg XC164CS with OCDS single fxc16xs sre
174. al it is marked with the word OLD Using CrossView Pro 4 31 Data l Ed gt AeS FQ initval n 0 WATCH recordvar n struct recs a l b 0x1028 TASKING c 987654321 color blue recordvar Figure 4 10 CrossView Pro Data Window To set the default display format of the data shown select the proper format in the Data Data Display Setup dialog To inspect the value of global variables and data structures double click on the variable name in the Source Window Depending on preferences you set in the Data Display Setup dialog the variable appears immediately in the Data Window see figure 4 10 or the Expression Evaluation dialog appears first In situ editing allows you to change the contents of everything in this window by clicking the value you want to change If you have set the Display addresses check box in the Data Display Setup dialog box the addresses of the variables are also shown Pointers structures and arrays displayed in the data window have a compact and expanded form The compact form for a structure is just lt struct gt while the expanded form shows all the fields The compact form of a pointer is the value of the pointer while the expanded form shows the pointed to object Indicate the compact form by putting a at the start of the display i e the object is expandable and indicate the expanded form with i e the object is contractible Nesting is suppo
175. al types of breakpoints code data instruction count cycle count timer and sequence A code breakpoint halts the program on a particular statement or instruction a data breakpoint stops the program when a particular memory address or range of addresses is accessed an instruction count breakpoint halts the program after a specified number of instructions have been executed a cycle count breakpoint stops the program after a number of CPU cycles a timer breakpoint stops the program after a number of micro seconds or ticks and sequence breakpoints stop the program when a number of breakpoints are hit in a specified sequence Data breakpoints instruction count breakpoints cycle count breakpoints and timer breakpoints are not available for all execution environments please check the addendum 7 1 1 CODE BREAKPOINTS A code breakpoint is set on a line in the code and makes the program halt exactly before that line executes When you define a code breakpoint you can include four elements e A count which is the number of times the breakpoint must be encountered before it stops the program default is 1 e A reset count which is the value assigned to the count after the program has stopped on a breakpoint default is 1 e A name which is the symbolic name you can associate with a breakpoint e A list of commands which will be executed when the program hits the breakpoint 7 4 Chapter 7 e Color Marking of Breakpoints
176. al windows comprises the following control codes and escape sequences for displaying ASCII Decimal Operation Code Value BELL 7 Ring the bell BS 8 Move cursor one position back TAB 9 Move cursor to next tab stop LF 10 Move cursor one line down CR 13 Move cursor to start of line ESC 27 Start escape sequence see below Table 10 2 Control Codes Escape Sequences Escape Operation Sequence ESC D Cursor one line down scrolls if already at last line ESCE Cursor one line down and to left margin scrolls ESCM Cursor one line up scrolls if already at top line ESC n1 A Cursor n1 lines up ESC n1 B Cursor n1 characters right ESC n1 C Cursor n1 characters left ESC n1 D Cursor n1 lines down ESC H Cursor home ESC n1 n2H Move cursor to n1 n2 with n1 row n2 col Table 10 3 Cursor Motion AN Parameters n17 and or n2 may be left out in which case a value of 1 is assumed 10 11 10 12 Chapter 10 Escape Operation Sequence ESC J Clear screen from cursor till bottom right ESC p1J 0 Clear screen from cursor till bottom right 1 Clear screen from top left till cursor 2 Clear entire screen ESC K Clear line from cursor till end ESC p1K 0 Clear line from cursor till end 1 Clear line from begin to cursor 2 Clear entire line Table 10 4 Erasing For example to clear the entire screen in the C pr
177. alled C stack c166 uses RO as User Stack Pointer and the RO RO addressing modes perform push pop sequences If data paging is used medium and large memory model the user stack is limited to 16K one page In these models c166 uses DPP1 as user stack page number The locator combines the user stack areas of each task to one global user stack area with cumulated size A context switch inherits the user stack pointer RO value in the new registerbank and DPP1 remains unchanged 6 5 2 THE STACK WINDOW The Stack Window shows the current contents of the stack after the program has been stopped This window helps you assess program execution and allows you to view program values You can also set breakpoints for different stack levels from this window as described in the chapter Breakpoints and Assertions The Stack Window displays the following information for each stack level e The name of the function that was called e All parameters specified to the function e The line number in the source code from which the function was called Each stack level shown in the Stack Window is displayed with its level number first The levels are numbered sequentially from zero That is the lowest last pushed level in the function call graph is always assigned zero 6 22 Chapter 6 When you first see stack information the lowest level appears against a darker background than the other lines in the window The marked
178. allowed Example To clear the source directory path type use To search for source files in the directory project src and in the sre directory relative to your current directory type use project src sre db ia Command Reference wt Function Wait for the completion of the target fee The command line syntax is wt Description This command can only be used if the target runs in the background mode This command waits for the running process to stop Waiting can be interrupted by typing ctrl C The target continues to run without interruption It could be that some informational messages from the target are displayed in the command window They can be ignored amp Not available for all execution environments CB st 13 189 13 190 Chapter 13 7 x Function Force an exit from assertion mode E The command line syntax is exp x Description Normally this command stops execution immediately but if exp is present and its value is non zero then CrossView Pro finishes executing the entire command list of the current assertion Example To define an assertion to stop the program when the value of global variable myvar exceeds 10 type a if myvar gt 10 x To define an assertion to suspend the assertion mechanism and continue program execution when global variable myvar exceeds 10 type a if myvar gt 10 A s 1 x C db aai Command Reference 13 191 Z Fu
179. ally you should disable profiling if you are not interested in the profiling results as this will often improve the performance of the execution environment Example To list the coverage information of all modules and functions in the output window type ce covinfo To list coverage information of function main in the output window type covinfo main To list coverage information of all modules and functions in file hello cov type covinfo all hello cov Gb cd ce proinfo 13 80 Chapter 13 cproinfo Function List cumulative profiling results or add or remove functions from the list of profiled functions From the Tools menu select Cumulative Profiling Setup make your changes and click the OK button Select Cumulative Profiling Report to see the cumulative profiling report g The command line syntax is cproinfo all filename add remove function Description If profiling is supported by your version of CrossView Pro and profiling is enabled this command lists the cumulative profiling results Without arguments same as all this command lists the cumulative profiling information of all functions Instead of listing the results you can also save the results in a file with extension cpr Normally you should disable profiling if you are not interested in the profiling results as this will often improve the performance of the execution environment Example To list the cumulative prof
180. alysis window window and execute CXL script script The display list produced by the script is shown in the specified window Arguments arg are passed as global variables to the script Each argument is treated as an expression Arguments starting with a refer to an acquisition buffer In all other cases arg is evaluated as an expression and will be casted to type double LN If for example register R1 should be passed as argument to the script you must write 0 R1 to avoid that R1 is recognized as an acquisition buffer Example To transform the contents of buffer buffer to displayable data in window demo using CXL script x_t cxl type graph demo x_t cxl Sbuffer 0 1 bufa graphm graphp memeget Section 11 5 Data Analysis in Chapter Special Features 13 118 7 Chapter 13 graph_add_update Function Add a command to the sequence of update commands amp For the supplied scripts only From the Settings menu select Data Analysis Window Setup Enter a new window name and click New Click Configure to open the Data Analysis Window Setup dialog E The command line syntax is graph_add_update window command Description Set the sequence of update commands for Data Analysis window window manually These update commands are executed when the Update button on the Data Analysis window is pressed or when the update command is issued Prior to adding update commands you have to remove a
181. am does not start the monitor with a software reset but with a trap instruction The reason for this way of starting the monitor is that the RAM is selected with CS1 instead of CSO When a software reset is executed the C16x uses CSO to address the memory 10 4 2 CONNECTION For using the RAM debug monitor the mode jumper should be set to 1 to select the appropriate memory configuration The BSL should be enabled with a resistor of 10K between the P0 4 and signal ground The MM 165 or MM 167 board should be connected to the host computer using the D Sub 9 female connector The board does not loop back handshake signals decently so when you have connection problems please read section 9 Troubleshooting the Debug Monitor first Mon 58 Execution Environment 10 5 PHYTEC KC 161 KC 163 KC 164 AND KC 167 The debugger has been tested with the PHYTEC KitCon 161 163 164 and 167 The TASKING boot program and monitor can be loaded and downloaded by CrossView Pro For more information about the boot program and monitor see section 5 The RAM and ROM Debug Monitor The hardware manual delivered with the KC 16x describes how to connect the board to the host computer and how the board should be configured to enable bootstrap loading 10 6 TQ COMPONENTS STK16X STK16XU STARTER KITS The debugger has been tested with the TQ Components TQM164C TQM165 TQM167C and TQM167LC mini moduls that can be put onto the starter kit STK16
182. ame The monitor is tuned to be translated in the small memory model It cannot be translated in the tiny model because huge pointers are used Translating it in the medium or large model is possible Note that the monitor does not need to be translated in the same memory model as your application ROM RAM Monitor Mon 19 Memory configuration The memory configuration depends on the values of the SYSCON CPUCONI1 VECSEG BUSCON and ADDRSEL registers The values for these registers can be specified with the einit and init fields for the selected target board in a target configuration file cfg CrossView Pro will initialize the registers as specified just after booting the boot program and just after booting the monitor This is not the case for the registers specified within the einit field because they cannot be modified after execution of the EINIT instruction For this reason CrossView Pro always sends the values as specified in the einit field before the boot program has executed the EINIT instruction These values are passed by the boot program to the monitor by storing them in the internal memory which is not changed by a SRST instruction Memory layout The memory layout of the three basic configurations of the monitor is defined in the locator invocation file mon ilo with defines in mondef h The files are preprocessed by the C preprocessor to select one of the three configurations and to substitute the defined macros The followi
183. and ST10x272 families ext2mac represents the second extended architectures like the XC16x and Super10 ext22mac represents the enhanced Super10 architectures Sim 10 Execution Environment Field Description register file The filename of the register file de to be used for the CPU on the target When this field is omitted CrossView Pro uses the default reg def as register file This register file contains debug information for CrossView Pro like which E SFR registers are present and at which location debug_instrument_module The name of the Debug Instrument using GDI used for debugging disim166 for the instruction set simulator ISS map_iram The range where the simulator should simulate internal RAM memory Multiple ranges can be separated by commas map_sfr The range where the simulator should simulate the SFRs and or ESFRs Multiple ranges can be separated by commas map_ram The range where the simulator should simulate external RAM memory Multiple ranges can be separated by commas map rom The range where the simulator should simulate external ROM memory Multiple ranges can be separated by commas psm dll_name The name of the pheripheral simulation module psm166 Table Sim 1 Configuration file fields amp Notes e Fields not required for the target can be omitted e Cro
184. and line syntax is update window Description Update Data Analysis window window by issuing a sequence of update commands These update commands were added with the graph_add_update command When you use the update command in a complex breakpoint you should append a Y character to prevent early macro expansion Example To retrieve data and show it in window demo type graph_clear_updates demo graph_add_update demo memget data i 100 buffer graph_add_update demo graphm demo show_x_t cxl graph_add_update demo graph demo x_t cxl buffer 0 1 update demo To update window demo as part of a complex breakpoint type 0x100 bi update demo d gt graph_add_update graph_clear_updates Section 11 5 Data Analysis in chapter Special Features 13 188 Chapter 13 7 use Function Change source directories run time From the Target menu select Settings to open the Target Settings dialog box Click on the Configure button and specify the names of the directories containing your source files Relative paths are allowed E The command line syntax is use path Description The use command changes the source directories Without a path this command empties the search path except for the path current directory If one or more paths are supplied this command adds the semicolon separated paths to the list of searched directories Relative paths are
185. ap loading Overview Field Description syscon The initialization value for the SYSCON register This entry is here for backwards compatibility only The SYSCON register can now be initialized using init syscon init Initialize the register specified in the subfield with the value specified in field value The register name in subfield must be known by CrossView Pro i e must be specified in the register file You can specify multiple registers by separating them with commas einit Initialize the register specified in the subfield with the value specified in field value before the EINIT instruction is executed Up to 6 registers can be initialized before EINIT The register name in subfield must be known by CrossView Pro i e must be specified in the register file You can specify multiple registers by separating them with commas reserve The reserved memory ranges from to for monitor resources EDE uses this field to generate RESERVE MEMORY locator controls You can specify multiple ranges by separating them with commas reset_period A period in milliseconds to hold the reset level at the required level rs232_reset_pin The name of the RS232 pin to reset the target for example RTS rs232_reset_level The level when the reset is active rs232_reset_hold_level The hold level when the reset is active rs232_bootstrap_pin
186. aphm Section 11 5 Data Analysis in Chapter Special Features Command Reference 13 121 graph_debug Function Debug Data Analysis graph window zee The command line syntax is graph_debug expression Description If expression evaluates to a non zero value this value is an ORed value of two flags e 1 bit 0 the graphical data window debugging mode will be enabled showing all communication between the scripts and the windows in the command window This can be useful when developing scripts e 2 bit 1 When errors occur during script processing these errors are logged to the command window The total error count per script is now shown in a popup window rather than logged in the command window The errors themselves remain logged in the command window Other bits when value amp 3 equals zero for example 4 are ignored and treated like zero No parameters result in value 1 A value of zero turns off all debugging graph graphm graphmn Section 11 5 Data Analysis in Chapter Special Features 13 122 Chapter 13 graphm Function Set Data Analysis window display mode fee The command line syntax is graphm window script arg Description The graphm command sets the representation script for the specified window Depending on the script the arguments may vary Several scripts are supplied with the product that you can use with the graphm command See section Supplied Data Ana
187. as no meaning When you invoke a macro with parameters enclose the parameters with parentheses and separate them with commas CrossView Pro macros can accept any number of parameters so it is possible to create very complex command shortcuts You may use any type of parameter when defining a macro including integers strings or addresses Note however that you must pass the macro the correct type at invocation For instance suppose you want to set a detailed breakpoint on any number of lines and a parameter is to specify each line number on which to install a breakpoint Defining a macro named brk type in the Macro Definitions dialog box 1 b Q initval recordvar a if initval gt 1 C or type in the Command Window set brk 1 b Q initval recordvar a if initval gt 1 C In this case the argument 1 represents the intended line number To use the brk macro type brk 72 From the Command Window CrossView Pro replaces every instance of 1 with the value 72 For this example that means a breakpoint is set at line 72 8 10 7 Chapter 8 8 4 REDEFINING EXISTING CROSSVIEW PRO B COMMANDS Using macros you can even redefine an existing CrossView Pro command For instance you could redefine the breakpoint command b to always place a breakpoint at line 72 of your source code To do this enter the command set b 72 b CrossView Pro now interprets the b command as 72 b The excla
188. assumd by default seq number A unique number to identify a command s specific result in the stream of events output via the event item See the event item and cmdannotatedoutput item for more details silent yesno yesno is 1 or 0 If 1 the command window output will be suppressed See section 2 5 5 Using CrossView Pro as Pure Server for the gus command When you do not specify a value 1 is assumd by default Example execext seq 424564 wait echo test A 24 Appendix A exec Topic Command Item exec Operations Execute Description Passes the specified string without interpreting it to CrossView Pro s command interpreter see also Command cmdoutput A major difference with regular MS Windows applications is the immediate acknowledge of a command before it has been completed This is because the sender does not have to wait for the answer and can peform other tasks meanwhile For example you are able to issue a halt command to stop the debugger To simulate wait till completion command execution wait until the cmdoutput item is assigned to the command s output via an Advisory link event or interpret the event item The exec prefix is part of the entire command string it makes a distinction between the various commands For example exec execext or halt received via the Command topic Interprocess Communication A 25 halt Topic Command Item halt Operations Execute Descripti
189. at the start of each statement or line whichever comes first This can lead to some surprising results If you look carefully you can tell on which line CrossView Pro set the breakpoint since CrossView Pro tells you on which line the program stopped a line that may be different from the one you expected To find out what happens if you install a code breakpoint use single stepping and watch the order in which the source lines print out Multiple Statements on a Single Source Line If you frequently include multiple statements on a single line in your source code you may have difficulties setting code breakpoints at certain locations For instance suppose you have a source line containing a 0 b 1 Suppose you want to halt execution after the assignment to a and before the one to b A normal code breakpoint does not work here because execution stops at the first instruction of the source line CrossView Pro provides you with the capability of disassembling the code and inserting breakpoints at the machine level You can use the Assembly Source Window or the Intermixed Source Window to spot the right location For more information on machine level breakpoints see below Setting Breakpoints for Multi line Statements Code breakpoints have a special behavior for multiple line statements such as a multiple line if In an if clause a line symbol is generated at the beginning of the list of conditions and the other lines of the conditio
190. ata breakpoint value expr set the value for a data breakpoint method hardware software none Set the breakpoint method probe_point oo Treat the breakpoint as a probe point When a probe point is hit the associated commands are executed and program execution is continued Probe points do not update CrossView Pro windows size expr Length of a data or code breakpoint end_addr begin_addr size 1 end_addr expr The end address of a range is inclusive end_value expr The end value is inclusive value_is_absolute boo For instructions and cycles breakpoints only the specified value is an absolute count breakpoint will hit when count has value otherwise repeat every number of instructions commands commands Set breakpoint commands timer_unit seconds ticks The specified timer value is in seconds or ticks 13 62 Chapter 13 7 bool 1 O true false True false case insensitive expr Appropriate CrossView expression Example To set a code breakpoint at an address range type break code code 0x10 end_addr code 0Ox1f To set a code breakpoint at an address range by specifying a size type break code 0x10 size 0x10 To set a code breakpoint with a name type break code 0x10 name brk_1 To disable the breakpoint with name brk_1 type break dis brk_1 To set a cycle count breakpoint and treat the value as an absolute count type break cycles 1000 value_is_absolute d gt Chapter 7 Breakpo
191. ate Output time domain update Output freq domain C CONTINUE RUNNING THE PROGRAM Cc For passing the parameter color the command interpreter requires parentheses around it otherwise it is interpreted as a buffer Combined FFT power spectrum and phase The combined FFT power spectrum and phase plot adds a display of the phase of each component to the FFT power spectrum The phase is normalized between 180 degrees and 180 degrees To display both features of the input data a special display script must be used show_fft_pairs cxl Generating window data pairs graph win_title fft_pairs cxl buffer filter_index freq_step ref_level The filter_index specifies one of the following FFT windowing functions 0 rectangular 1 triangular 2 Hanning 3 Blackman Harris Special Features 11 19 ref _level is the 0 dB reference level 2 Setting the display mode For displaying the generated display list the display script show _fft_pairs cxl is required 9999 graphm win_tiile show_fft_pairs cxl min_power max_power Eye diagram The eye diagram is a recurrent x t plot The input data is not processed but the time parameter is reset when the signal crosses the trigger level and also after a specified interval wrap_limit After crossing ivigger_level retriggering is suppressed during the ivigger_hold_off next data values The eye diagram uses the X t plot method a
192. ate automatically This command is not available for all execution environments ubgw s a k r d mem t all Refresh the appropriate window or all open windows when the target runs in the background This command is not available for all execution environments use path Clear source directory search path or use the specified path to search for source files wt Wait for the completion of the target This command is not available for all execution environments exp x Force an exit from assertion mode If exp is non zero finish executing command list of the current assertion 13 2 5 RECORD amp PLAYBACK lt file Play back commands from file lt lt ile Play back commands with single step from file gt file Record CrossView Pro commands in file 13 12 gt t f c gt gt file gt it f c gt file gt tt f c gt gt file gt gt t f c gt gt gt amp file gt amp t f c gt amp gt file gt t f c Chapter 13 Set recording file status true t false f or closed c Report status of command recording mechanism Record emulator commands in file Set emulator recording file status true t false or closed Record CrossView Pro and emulator commands in file Set CrossView Pro emulator recording file status true t false f or closed c Log commands and screen output in file Set logging file status true t false or closed
193. ated with the breakpoint are executed The Q command can be used to suppress the output from the bCYC command Example To set a temporary breakpoint after 4 clock cycles and list all global variables type 4 bcyc 1 g d break b bcyc bINST binst bTIM btim D Command Reference 13 47 bcyc Function Set a permanent cycle count breakpoint From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Cycle Breakpoint to open the Add Cycle Breakpoint dialog Enter a cycle count and click the OK button g The command line syntax is count beyc cmds Description Set a permanent breakpoint after the specified cycle count count can be any expression evaluating to a number The list of CrossView Pro commands cmds are executed when the breakpoint is hit When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the beyc command Example To set a cycle count breakpoint after 4 clock cycles and list all global variables type 4 bcyc 1 g d break b bCYC bINST binst bTIM btim D 13 48 Chapter 13 7 bD Function Set a read and or write data breakpoint over a range of addresses From the Breakpoints menu select Breakpoints
194. ation for the monitor found in the cfg file will differ from the configuration of the user application Look also at the Note for the XC16x Super10 architectures found at the usage description of the einit field mxcl6xb sre same as mext2b sre but built for the XC16x architecture mexcl6xib sre same as mext2ib sre but built for the XC16x architecture Table Mon 2 RAM debug monitor programs The monitors are configured as follows Resource Start End monitor register bank OOOFCCOh OOOFCDFh C16x ST10 monitor code 0000200h OOOODFFh C16x ST10 monitor data 0000E00h 0000FFFh C16x ST10 monitor data OOOFDOOh OOOFD4Bh Super10 monitor data OOODFOOh OOODFFFh Super10 monitor code 0C01000h 0CO1FFFh XC16x monitor data OOOCFOOh OOOCFFFh XC16x monitor code 0001000h 0001FFFh Table Mon 3 RAM debug monitor configuration These memory ranges should be reserved using the RESERVE MEMORY control while locating your application with 1166 Example RESERVE MEMORY OFCCOh TO OFCDFh 0200h TO OFFFh OFD00h TO OFD4Bh ROM RAM Monitor Mon 11 5 1 2 ROM DEBUG MONITOR USING DUAL VECTOR TABLE When the monitor is burned into EPROM the interrupt vector table should already be initialized with the RESET NMI and serial receive interrupt vectors to be able to boot the monitor In the dual vector table configuration all other interrupt vectors point to the user vector table
195. ation where the read data will be stored number_of_ maus is the length of the data to be read in MAUs minimum addressable units The optional x specifies that the read data should be interpreted as hexadecimal values The hexadecimal format is a whitespace separated no TAB hexadecimal string without the Ox prefix If the stream was opened in binary mode see ios_open MAUs are filled with a number of bytes that fits in 1 MAU For example a MAU with a size of 24 bits will be filled with 24 8 3 bytes Otherwise the least significant 8 bits of a MAU will be filled with 1 byte and the highest 16 bits will be filled with zeros Example To read 16 minimum addressable units from stream 4 type ios _ read 4 0x100 16 To read from stream istrm 1 MAU hex value type ios_read Sistrm 0x100 1 x dE ios_readf ios_write ios_open Command Reference 13 133 ios _ readf Function Formatted read from an I O stream scanf Store the data at the location defined by the expression E The command line syntax is ios_readf stream file format expression Description You can specify a File I O stream number or a filename format is a format specifier as used in the scanf C library function expression can be any CrossView Pro expression Valid format specifiers are d Decimal x Hexadecimal without Ox prefix c Char s String f Float Example To read a hex value from stream 4 and store it th
196. atus and says OK ERROR or NOT_EXECUTED The second line has the form SEQ sequence_number where the sequence number is either 0 or the number specified with the execext command Although the sequence number is optional it may be omitted in some commands this line is always present The next lines are either output or error messages A label indicates the type OUTPUT or ERROR and the number of lines that follow Example ERROR SEQ 9284 OUTPUT 1 Hello World ERROR 1 No such name xy Interprocess Communication A 23 execext Topic Command Item execext options string Operations Execute Description Passes the specified string without interpreting it to CrossView Pro s command interpreter see also Command cmdannotatedoutput The execext prefix is part of the entire command string it makes a distinction between the various commands For example exec execext or halt received via the Command topic Options wait yesno yesno is 1 or 0 If you specify wait 1 is the execext command blocks the DDE transaction until CrossView Pro has finished executing the command Issue the Halt command in this case via a second conversation Be aware of the time limitation imposed by the DDE interface It can wait for a period of 25 days Use exec combined with either waiting for an Advise on the cmdoutput item or with interpreting the event item to handle very long lasting commands When you do not specify a value 1 is
197. awingArea Dialog MODAL XmBulletinBoard MODELESS XmBulletinBoard Software Installation 2 5 Menu MENUBAR XmMenuShell PULLDOWN XmCascadeButton Controls CHECKBOX XmToggleButton RADIOBUTTON XmToggleButton TEXT XmLabel EDIT XmText LISTBOX XmScrolledWindow gt XmList SCROLLBAR XmScrollBar PUSHBUTTON XmPushButton LISTBUTTON XmText amp XmArrowButton amp XmScrolledWindow gt XmList LISTEDIT XmText amp XmArrowButton amp XmScrolledWindow gt XmList GROUPBOX XmFrame gt XmLabel ICON XmLable with pixmap FILESELECTION XmFileSelectionBox ERRORPOPUP XmMessageBox CrossView Pro repaints its windows in the default color as specified with the Motif widget resource settings It is possible to overrule this behavior with a resource setting like XmDrawingArea background blue CrossView Pro uses a non proportional font in all of its windows The font size is selected using the Desktop Setup dialog You can use the font resource fontList on Motif to select the font to be displayed in the menubar and dialogs it won t affect the font displayed in the CrossView Pro windows The CrossView Pro stack and data windows are implemented using a XmScrolledWindow widget on Motif The following list show the contents of an example app defaults file intended for Motif environments Of course you may adjust the colors and font to your preferences Sample app defaults files are delivered wi
198. b ce nC nU pC pU Command Reference 13 77 ce Function Enable turn on gathering of coverage information Q From the Tools menu select Coverage if this item was not set Eg The command line syntax is ce Description If coverage is supported by your version of CrossView Pro this command enables the coverage system Normally you should disable coverage if you are not interested in the coverage results as this will often improve the performance of the execution environment Example To enable coverage type ce db cd nC nU pC pU 13 78 Chapter 13 7 clear Function Clear the Command Output Window z The command line syntax is clear Description Use this command if you want to clear the output window part of the Command Window Example To clear the Command Output Window type clear Command Reference 13 79 covinfo Function List coverage information From the Tools menu select Code Coverage make your changes and select the Update button Gs The command line syntax is covinfo all module_or_function_namel filename Description If coverage is supported by your version of CrossView Pro and coverage is enabled this command lists the coverage information Without arguments same as all this command lists the coverage information of all modules and functions Instead of listing the results you can also save the results in a file with extension cov Norm
199. back filenames Command Recording amp Playback 9 19 9 6 CROSSVIEW PRO COMMAND HISTORY MECHANISM CrossView Pro stores the command history in the list box of the Command Window You can select a command from the history list by clicking on it or jumping with the lt Tab gt key to the history listing and using the arrow keys The command appears in the edit field of the Command Window You may edit the command if you want To execute the command click on the Execute button If you do not want to edit the command double click on the selected command in the list box to execute the command or hit the lt Return gt key Chapter 9 9 20 MOVEAV 1d 8 GHOOsSd I O SIMULATION all TASKING M ddaLdVH I O Simulation 10 3 10 1 INTRODUCTION The CrossView Pro Terminal windows provide an interface to exchange data with the application on the target You can use the following I O simulation types for this purpose File I O FIO With File I O you can connect actions to a probe point Probe points are breakpoints that do not update the graphical user interface GUD and when they are hit connected actions are performed and execution continues The actions are in this case I O actions to a file and or a terminal window File System Simulation FSS With FSS you can use standard stream I O function calls like printf in your source to test I O to and from the target system or simulator
200. ble because a SRST instruction does not erase the internal RAM This way the register from the configuration file in the einit field could be initialized before the EINIT instruction in the monitor The initialization of the other registers specified in the target configuration file is now done by using monitor commands For each execution of the user application step and run commands the monitor installs the NMI and serial receive interrupt vectors to jump into the monitor before the execution of the monitor is ended and the user application is started The NMI vector is used for breakpoints and the serial receive interrupt is used to jump into the monitor on the halt command of CrossView Pro Because these vectors are each time reinstalled loading the interrupt vector table of the user application over these vectors is possible The etc directory contains several boot programs and RAM debug monitors The target configuration files cfg also in the etc directory tell CrossView Pro which boot program and monitor can be used for a board The boot programs and monitors are in S Record format S1 The filename suffix is sre The following boot programs are available Boot Program Description blarget sre for all C16x ST10 XC16x Super10 derivatives target can be one of 167 xc16x or ext2 respectively btargetnrb sre for target and derivative boards which have no RAM selected by CSO Therefore the monitor is not started wit
201. board can be either an evaluation board or your own target board If you are using an evaluation board the evaluation board s user manual is always the first source of information this addendum covers the evaluation board s interaction with CrossView Pro 2 EXECUTABLE NAME The following CrossView Pro executable is delivered with the package for PC with exe extension xfw166 CrossView Pro Debugger for the C166 ST10 The target board connection using a serial or CAN interface is delivered as a separate DLL within the package dieva166 dll_ CrossView Pro Debugger target board connection for UNIX with so extension 3 GENERAL OPERATION To debug your application with CrossView Pro it has to be executed in an C16x ST10 XC16x or Super10 family hardware environment This CrossView Pro version was designed to have full control over the following target boards e any board running the TASKING C166 ST10 ROM debug monitor e any board running the TASKING C166 ST10 RAM debug monitor The TASKING C166 ST10 ROM and RAM debug monitors are included in the package as source code in the mon subdirectory and configured for several boards in the etc directory The ROM debug monitor should be burned into an EPROM on the target board The RAM debug monitor is downloaded into on board RAM by means of the on chip bootstrap loader Mon 4 Execution Environment CrossView Pro knows which resources to use for a target board by reading
202. breakpoint using the break data command Several options are available after these commands See the break command in the Command Reference for detailed information For example the following command sets a code breakpoint at the address specified by function main break code main To set a code breakpoint at a specific source line you can enter a breakpoint address in the form filename line after the break command or you can specify a line number followed by the b command and any commands you want to attach to the breakpoint For example to set a code breakpoint at line 51 in your source enter break demo c 51 le 51 b If you do not specify a line number a breakpoint will be set at the current viewing position FUNCTION Set a code breakpoint COMMAND break code address option FUNCTION Set a code breakpoint COMMAND line_number b commands Breakpoints and Assertions 7 11 To set a data breakpoint you must specify the break data command followed by an address followed by any commands you want to attach to the breakpoint There are three types of data breakpoints e A data read breakpoint to see if a variable is read from break data address access_type rt command e A data write breakpoint to watch if a variable is written to break data address access_type w command e A data read or write breakpoint to check if a variable is either read from or written to break data addre
203. c To display the state of the recording mechanism type gt d gt gt gt amp lt lt lt I q 13 28 Chapter 13 gt Function Record CrossView Pro and emulator commands to a file To start recording or toggle the state of the command recording mechanism select Record CrossView from the Tools menu Type or select a file to record commands in select Include emulator commands and click on the Start button to start recording To suspend recording click on the Suspend button To resume recording click on the Resume button To stop recording click on the Stop button see The command line syntax is note that the greater than sign must be typed as shown gt file t f c Description CrossView Pro will start recording commands in a file if file is specified otherwise turn recording on t off or close c the recording file Specifying a different file while recording is on will cause the old output file to be closed and all successive commands will be sent to the new file If no arguments are given the state of the recording mechanism will be displayed The optional forces flushing of the output after every write The commands recorded can be played back by using the lt or lt lt command It is possible to have a command recording file and a screen output recording file to be open concurrently The file is also closed as a side effect of the q command Commands issued to the
204. can comprise multiple target execution commands so arbitrary Running and Stopped events may occur before the command line has been finished An example for using this event is the disabling of menu entries in your tool You can send multiple CommandInterpreterBusy events without the CommandInterpreterReady counterpart New commands can be send to the debugger after this event has been issued but they will be queued until the debugger is ready for new command input Interprocess Communication A 9 Command InterpreterReady The entire command line or GUI operation has either been executed completely or aborted You can send multiple CommandInterpreterReady events without the CommandInterpreterBusy counterpart CommandCanceledByUser The entire command line or GUI operation has can been canceled by the user usually via the Halt button In case of DDE the CrossView Pro command queue will be emptied The command queue of all other IPCs for example COM will be preserved This has been designed for the multi core debugger which relies on commands submitted by the multi core debug system always being executed even if the user hits the Halt button Note that every command can be canceled this way even when asking a variable s value Often no value will be returned at all because Halt aborted the evaluation HahButtonPressed Tells that the user has pressed the Halt button This is necessary because in CrossView Pro Halt means s
205. cation channel which it can not handle If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance command takes no arguments The command command needs no arguments Refer to the Command Reference chapter for the command syntax Can not open file file CrossView Pro could not open the file file Check the spelling of file and check that the file is in the correct directory You should also check the permission of file With MS DOS check the CONFIG SYS file for the maximum number of open files allowed Increase the number and reboot if necessary Can not output to input stream An attempt was made to output to an input stream The most common case is incorrectly setting up your simulated i o streams Correct and retry Can not scroll that window The window you have tried to scroll is not scrollable Examine your choice of window and or your choice of windowing commands Can t define macro out of space There is not enough host memory to add your macro Eliminate one or more unused macros before adding a new one Can t expand macro out of space There is not enough host memory to expand your macro Eliminate one or more unused macros before adding a new one Can t monitor data out of space CrossView Pro cannot add any more variables or expressions to monitor You must delete one or more variables or expressions before adding any more 14 6 Chapter 14
206. ce 13 7 13 2 3 DATA ANALYSIS bufa target_buffer_name added_buffer_name size_limit Add the contents of buffer added_buffer_name to buffer target_buffer_name bufd buffer_name Discard the specified buffer 99 99 graph window script arg Create Data Analysis window and execute CXL script graphm window script arg Set the representation script for the window specified graphmn window script arg Similar to the graphm command but without an update of the graph window graphp window left top_x left top_y width beight Position the named window at the specified screen coordinates graph_add_update window command Add command to the sequence of update commands for the specified window graph_clear_updates window Clear the update commands associated with the specified window graph_close window Close the specified window graph_debug expression Enable the graphical data window debugging mode showing all communication between the scripts and the windows in the command window memget expr count buffername Retrieve symbolically specified data from the target system and store the data in the acquisition buffer rawmemget address type count buffername interleave Retrieve data from the target system and store the data in the acquisition buffer 13 8 Chapter 13 e update window Update the window specified 13 2
207. change the format of the timing figures All other windows have their own local popup menu The exception to the rule is the command window which does not have a local popup See figure 4 3 for an example of the local popup menu of the Memory Window Fill Single Fill Copy Search v Toolbar Setup Figure 4 3 CrossView Pro Local Popup Menu Memory Window 4 5 2 WINDOW OPERATION Windows can be opened made active and closed Opening Windows The View menu of the menu bar lists all windows Selecting a window name from this list causes the window to open up Selecting a window that is already open brings that window to the front 4 16 Chapter 4 Selecting a Window At any one time a particular window is active Most operations act by default on the active window The active window is distinguished by highlighting the title bar Only one window may be active at a time There are several ways to select a window that is make a window active e Open the window from the View menu If the window is already open it will be brought to the front e Click on the window s border or on any portion of the window in some windowing systems It will be brought to the front e Select the window name from the Window menu The window will be made active and is brought to the front This option is available under Microsoft Windows only Closing a Window Windows are closed by selecting Close from th
208. character used in an expression to represent the last value CrossView Pro calculated The dot operand is useful as shorthand 15 6 Chapter 15 embedded system Computer s executing an application program built to run in semi real time An embedded system usually is part of a larger non computer system hence the term embedded The TASKING product line is designed for embedded systems programming emulator A device used to monitor and control various aspects of a microprocessor s operation An emulator usually is built around two chips the target microprocessor and a controlling chip The controller chip can start and stop the target chip s program execution and can examine and change registers and memory An emulator can be connected via a probe to a hardware prototype to fully emulate the behavior of the target chip See ROM monitor execution position The source line to be executed next See viewing position File System Simulation FSS A facility to redirect all C library file I O operations on the target to the host system via CrossView Pro File system simulation is often used to provide input to an application for which no hardware I O is available yet and to log test results format The manner in which CrossView Pro displays addresses and data for instance hexadecimal character and octal are different formats You may include special format codes when specifying variables hardware breakpoint See
209. ciated with the breakpoint are executed The Q command can be used to suppress the output from the bINST command Example To set a temporary breakpoint after execution of 5 instructions and list all global variables type 5 bINST 1 g d break b bCYC bcyc binst bTIM btim D Command Reference 13 57 binst Function Set a permanent instruction count breakpoint From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Instruction Breakpoint to open the Add Instruction Breakpoint dialog Type a value in the Instruction count field and disable the Remove when hit check box in the Advanced dialog Eg The command line syntax is count binst cmds Description Set a permanent breakpoint after the specified count number of machine instructions have been executed count can be any expression evaluating to a number The list of CrossView Pro commands cmds are executed when the breakpoint is hit When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the binst command Example To set a permanent breakpoint after execution of 5 instructions and list all global variables type 5 binst 1 g db break b bCYC bcyc bINST bTIM btim D
210. cmd The blank line above represents a carriage return After the last command c if you were to view this file it contains initval p 12 This is a comment The saved command file contains simply the commands without any output Note that commands entered while recording was suspended l b and sum do not appear in the file Carriage returns are not recognized as commands 9 7 9 8 7 Chapter 9 9 2 PLAYING BACK COMMAND FILES 6 3 E Ea Once you have recorded a set of CrossView Pro commands you can play them back to recreate a debugging session or repeat often used sequences Running the debugger while reading commands from a file is playback mode Remember that for a file to be played back it can only contain CrossView Pro or emulator commands For this reason screen output files cannot be used in playback mode Refer to the Recording Commands section earlier in this chapter for more information As with recording the Command Window controls playback mode To playback a command file Follow these steps From the Tools menu select Playback CrossView to open the CrossView Playback dialog box or select Playback Emulator to open the Emulator Playback dialog box You can choose to playback either CrossView Pro commands or Emulator commands Open the Emulator Command Window if the playback file contains commands sent directly to your emulator Type the playback filename or use the Browse
211. cmds Description Set a permanent breakpoint after the specified time in seconds time can be any expression evaluating to a number The list of CrossView Pro commands cmds are executed when the breakpoint is hit When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the btim command Example To set a permanent breakpoint after 0 5 seconds and list all global variables type 0 5 bTIM 1 g d break b bCYC bcyc bINST binst bTIM D 13 68 Chapter 13 bU Function Set a temporary up level breakpoint to finish the function at a specific stack level In the Stack Window double click on the desired function Alternately you can click on the desired function in the Stack Window and select Stack Breakpoint After Call to Function from the Breakpoints menu g The command line syntax is stack bU commands Description This command sets a temporary up level breakpoint immediately after the call to the function designated by the stack number stack otherwise the currently viewed function is used Associate the list of CrossView Pro commands commands with the breakpoint When the breakpoint is hit execution is halted By default the current execution position function line number and source state
212. cons and dialog boxes appear see figure 4 1 Under some windowing systems the desktop is itself a window that does not contain all other CrossView Pro windows The desktop always has the Command Window opened or iconized Window Menu Bar Toolbar Local Status Bar CrossView Pro Demo abs File Target Edit Run Breakpoints Data Tools Settings View Window Help a gt PD vil Se gF 252 ws Source demo if inity Aes 69 Command Command meso Stack SS E Minimized Window Dialog Box Main Status Bar Breakpoint Toggles Local Toolbar Scroll Bar Figure 4 1 CrossView Pro Desktop At the top of the desktop is the Menu Bar which contains the menus applicable to the currently active window Below the menu bar is the main Toolbar from which you can execute commands to control program execution as button functions Except for the Command Window the desktop can contain other windows as well Along the bottom of the desktop there is a Main Status Bar The status bar displays messages such as short help messages when you move the cursor over any button in any CrossView Pro window Using CrossView Pro Menus Each CrossView Pro window may have a menu associated with it Under Microsoft Windows the active window s menu is displayed in the menu bar of the desktop Depending on your execution environment some menu items are always grayed out For example Communication Setup is grayed out if you
213. consuming than a source level step through an instruction level step through allows you to examine how your code has been compiled As you advance through the assembly instructions notice how CrossView Pro translates data addresses to variable names and correlates branch addresses to points in the source code This makes it much easier to follow the source at the instruction level AN The default step modes are Source lines Window Source line step Disassembly Window Instruction step Source and Disassembly Window mode of previous window assumes the step mode of the previous Source Window setting amp Mouse and menu actions e The Step Into and Step Over buttons and Run Step Over and Run Step Into menus can be set to step by instructions by selecting Run Step Mode Instruction step from the menu bar e To change back to stepping by source lines select Run Step Mode Source line step e Another way to set the step mode is to select the Source line step or Instruction step radio button in the Settings Source Window Setup dialog box Controlling Program Execution gm To control this function from the Command Window use the Si and si commands The Si and the si commands are analogous to the S and s commands Si will treat function calls more precisely jump to subroutine instructions as single statements while si will enter the function FUNCTION Single step at instruction level Step into functions C
214. cpu D device_type opt1 opt2 D rs232 port speed Sets the maximum number of assertions the default is 100 Pass the comma separated string of options as argc argv argument to the program Sets the maximum number of code breakpoints the default is 200 Sets the maximum number of instruction trace for the trace buffer the default is 32 Forces CPU type selection This option overrules the CPU type selection in both xvw ini anda target configuration file Selects a device and specifies device specific options such as communication port and baud rate The allowed combinations for your execution environment are described in the manual addendum for that specific execution environment The following combinations are possible Select RS 232 communication port For PC this is COM1 COM2 COM8 or COM4 A colon should not be added For UNIX this is the full path of the RS 232 device driver e g dev tty01 By default CrossView Pro uses the first RS 232 port speed This is the baud rate used for the specified port The default is 9600 D can baud rate identifier 0 time_out board_seg hw_index port_lO_add interface_card_ID port id net_number interrupt_nr hw_channel manufacturer Select CAN communication baud rate 50 125 250 500 1000 identifier Default is 30 This value is the send identifier host gt target the receive identifier target gt host is identifier 1 time_out tx rx time
215. cro is set an additional NMI handler is defined This NMI handler does the startup configuration of the CPU and then returns Then the monitor main function is executed from the reset vector When this macro is not set the CPU is configured by the main function executed from the reset vector ROM RAM Monitor Mon 21 5 4 DEBUG MONITOR INTERFACE DESCRIPTION This section describes the interface protocol which allows host computer debuggers to communicate with target RAM debug monitors 5 4 1 INITIALIZATION To initiate the connection the host sends a null byte to the target In case of a serial link the target monitor measures the time between start bit and stop bit and the monitor should appropriately set up the baud rate generator Then the host sends the SYNC command to synchronize host program and target monitor The monitor should reply with the acknowledge byte OxAA Now the connection is established at monitor command interface level 5 4 2 CONVENTIONS command Name of the command as used in descriptions and documentation Token Decimal code for command byte Parameters Additional data which should be supplied with the command token Returns Data returned by monitor Hexadecimal numbers are prepended by Ox The data format if applicable is annotated between parentheses If the format is to be applied more than once the format is preceded or succeeded by a count number and multiplication o
216. ctiveX 1 2 USING THE COM OBJECT INTERFACE 1 2 1 RUN TIME ENVIRONMENT The CrossView Pro COM object executes as an out of process server Only one client per instantiated CrossView Pro COM object can connect Each CrossView Pro executable has a unique identification so called UUID or GUID independent of the version number This is especially important for Visual Basic which stores the TypeLib UUID This requires recompilation if the UUID changes across different versions of the same CrossView Pro executable 1 2 2 COMMAND LINE OPTIONS To prevent initialization dialogs at CrossView Pro startup for example a dialog to specify which CPU type you use you can use several command line options which you can specify via the Init method Appendix A Use the following options instead of startup dialogs tcfg file Specifies a target configuration file which contains among other things the GDI module to be loaded among other things This overrules the filename specified in xvw ini C cpu Specifies the CPU type D device_type opt1 opt2 Specifies communications parameters such as communication port and baud rate G path Specifies the startup directory for CrossView Pro ini Specifies the xvw ini file d Section 4 4 Startup Options in Chapter Using CrossView Pro 1 2 3 STARTUP DIRECTORY The startup directory of CrossView Pro determines where the xvw ini file is written When CrossView Pro is invoked via its
217. d Therefore it is not possible to set a breakpoint within a sequence because breakpoints are set by a TRAP 2 NMJ instruction which is a class A hardware trap ON CHIP DEBUG SUPPORT all TASKING M WNadNsaaqav On chip Debug Support OCDS 3 1 INTRODUCTION This addendum gives supporting information for use of CrossView Pro with the on chip debug support OCDS of the Infineon Technologies architectures Part of the OCDS concept is the JTAG debug connection an industry standard serial connection with the MCU s inner states OCDS allows pervasive debugging control of the MCU CrossView Pro can debug with OCDS via the parallel port LPT or via the Device Access Server DAS The DAS architecture was designed by Infineon for multi device multi core systems with very demanding emulation requirements The goal of the DAS architecture is to provide one single interface for all types of tools CrossView Pro works with DAS and a USB wiggler connected to the on board OCDS connector 2 SUPPORTED HARDWARE CrossView Pro supports the following hardware OCDS via the parallel port e EASY UTAH v1 1 evaluation board with C161U or C165UTAH e Phytec phyCore XC161CJ or XC167CI OCDS via the Device Access Server e Starterkit XC164CM Rev 20 OCDS via the parallel port or via the Device Access Server e XC16Board Rev 200 with XC161CJ XC164CS or XC167CI 3 ADDITIONAL SYSTEM REQUIREMENTS The following are
218. d When you position the mouse cursor over a variable or a function a bubble help box appears showing the value of the variable or the type information of the function respectively A green colored toggle shows that no breakpoint is set A red colored toggle indicates an installed breakpoint An orange colored toggle indicates an installed but disabled breakpoint If code coverage is enabled coverage markers appear to the right of the breakpoint toggles If a checkmark appears next to a line it has been executed If no checkmark appears next to a line it has not been executed The Source Window provides a local Toolbar containing the following buttons nearly all of which are shortcuts using selected text to operations that you can perform via the menu bar Stop program or command Run or continue execution same as F5 Run to cursor same as F7 Step over function calls Step into function calls Restart application w g lit i Sl lo Find program counter PC 4 26 Chapter 4 Show selected source expression Watch selected source expression Find symbol Search for a text string Repeat search for text string Edit current source file Edit breakpoint at cursor wes RAAB Ee Display code coverage Display profiling You can toggle the appearance of this local toolbar by selecting Local Toolbars Source from the View menu Edit Source To edit the current source file in the Source Window select Edit
219. d Window enter the list registers command r CrossView Pro also supplies the following special variables sp stack pointer pc program counter fp current frame pointer for all targets For more information refer to the Command Language chapter 6 7 1 REGISTER WINDOW SETUP You can configure which register set definition with which and in which order registers must be displayed in the Register Window using the Settings Register Window Setup dialog Since you can have more than one Register Window the last active Register Window will be configured when you select this menu item 6 28 Chapter 6 Register Window Setup Default x cancel Figure 6 2 Register Window Setup Dialog ey To configure a Register Window follow these steps e Select a Register Window e From the Settings menu select Register Window Setup to view the Register Window Setup dialog box The dialog will show the active register set definition and the list of available and selected registers for this particular register set definition CODE AND DATA Accessing Code and Data 6 29 e You can create a new register set definition by entering an unique register set definition name in the Name edit field and using the Add button e You can delete a register set definition by selecting an item from the defined register set definition list and using the Delete button Note that when you delete a register set d
220. d for another debug session e Click on the Exit button in the Options dialog If you selected one or more items in the Options dialog your settings will be saved in the initialization file xvw ini This file is located in the startup directory Workspace files If you have set the Save desktop and target settings check box in the Save tab CrossView Pro will create a workspace file cws for each debugged or loaded application The settings will be restored in a following debug session If CrossView Pro cannot find a workspace file for a loaded application it uses the default workspace file xvw cws in the etc directory A CrossView Pro workspace file contains e Window positions and sizes e Local toolbars status e Main toolbar configuration e Monitored variables in Data windows e Memory window settings e Terminal window settings e Coverage and profiling display settings in the Source window e Color settings 1 34 s 1 6 8 Chapter 1 WHAT YOU MAY HAVE DONE WRONG Most problems in starting up CrossView Pro for a debugging session stem from improperly setting up the execution environment or from an improper connection between the host computer and the execution environment Some targets will require you to enter transparency mode to set the execution environment for a debugging session Check the notes for your particular execution environment Here are some other common problems Specifying the wrong device na
221. d in the file command cmd type lt command cmd d gt lt lt gt I Command Reference 13 25 lt lt Function Single step command playback To setup command playback select Playback CrossView from the Tools menu Disable the Continuous playback check box and click on the Execute button fee The command line syntax is lt lt ile Description Commands will be played back one at a time Each command will be loaded sequentially into the entry field of the Command Window The command can then be edited and executed If a playback file contains either a lt or lt lt command playback switches to the newly specified file and returns to the original file The first playback file determines the type of playback continuous or single step The carriage return will execute the current command and stop at the next one If a playback file contains either a lt or lt lt command playback switches to the newly specified file and does not return to the original file Record and playback options can also be specified via command line parameters Example To read and execute the commands found in the file command cmd type lt lt command cmd db lt gt 1 13 26 Chapter 13 gt Function Record CrossView Pro commands to a file To start recording or toggle the state of the command recording mechanism select Record CrossView from the Tools menu Type or select a file to record commands i
222. d the symbol table of file demo abs in CrossView Pro type N demo abs fo n 13 154 Chapter 13 r n Function Set address bias From the File menu select Load Symbolic Debug Info In the Load Symbolic Debug Info dialog you can edit the Code address bias field EEs The command syntax is n addr Description Set address bias of overlay files to addr If no address is given then display current bias If a program is to be loaded at a different address than that indicated in the linked and located absolute object file then the address information in the debugger s symbol file will be incomplete since it does not know where the program is actually going to be loaded This command will normalize the addresses by adding the bias to every address Example To add a bias of 1000 to every address in the code type n 1000 To display the current bias type n Command Reference 13 155 nc Function Set the viewing position to the next covered block of statements Q Use the scroll bar and click on the desired line Eg The command line syntax is nC Description If code coverage is supported by your version of CrossView Pro this command enables you to skip to the next block of statements that have been executed while the program was running on the target Example To move the cursor to the next executed block type nc Gls nU pC pU 13 156 Chapter 13 nU Function Set the viewi
223. de number Attempt to get message text fail CrossView Pro on VMS received an error while attempting to provide an error diagnostic message from the host error message library If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance Warning NULL pointer dereference The expression contained a null pointer dereference Check the expression for possible errors or verify that the pointer should in fact be null Warning pointer dereference with invalid segment selector The pointer is addressing invalid memory and the dereference may report unexpected data results Check the initialization of the pointer or verify that it has been set correctly Warning too few parameters The command given was not invoked with the proper number of arguments CrossView Pro will supply the command with defaults which may or may not produce the result you expected Warning Using file b instead of file a CrossView Pro could not find file a or file a s status was such that CrossView Pro could not use it If file b is not correct check file a spelling and its directory Warning X Y X is x size bytes and Y is y size bytes The assignment of two different size variables may cause unexpected results Please correct the condition if possible This condition is common when assigning string variables where string y is shorter than string x Warning X Y X is x size words and
224. ding mechanism will be displayed The optional forces flushing of the output after every write The emulator commands recorded can only be played back by selecting Playback Emulator from the Tools menu It is possible to have a command recording file and a screen output recording file to be open concurrently The file is also closed as a side effect of the q command Files may not be named t f or c Example To set or change the emulator command recording file to emu cmd and turn command recording on type gt emu cmd Command Reference 13 31 To suspend recording emulator commands type gt f To resume recording the emulator commands to the recording file type gt t To stop recording emulator commands and close the file type gt c Gb gt gt gt gt amp lt lt lt I q 13 32 Chapter 13 gt gt Function Log Command Window screen output All Command Window input and output will be saved to a file To create a log of Command Window screen output select Log Command Input Output from the Tools menu Type or select a file to log to and click on the Start button to start logging To suspend logging click on the Suspend button To resume logging click on the Resume button To turn off logging click on the Stop button a The command line syntax is gt gt file t f c Description Start logging the commands typed and their output in a file if file is specified
225. directory the current working directory 2 Be sure that the directory of the binaries is present in the PATH environment variable when you work from a command prompt instead of from EDE 3 Compile assemble link and locate the modules using one call to the control program cc166 ccl66 s g Ot ieee demo c addone src demo ilo o demo abs The s option puts the C source text as comments into the output assembly source files The g option instructs the compiler to generate symbolic debugging information This option must always be specified when debugging with CrossView Pro Overview 1 43 The Ot option is needed only to demonstrate the deliberate bug in demo c Normally you can omit this option The ieee option specifies the IEEE Std 695 format The o option specifies the name of the output file To compile for the C167 also specify the x option This enables all features of the C167 The command in step 3 generates the object files demo obj and addone obj the locator map file demo map and the absolute output file demo abs The file demo abs is in the IEEE Std 695 format and can directly be used by CrossView Pro No separate formatter is needed Now you have created all the files necessary for debugging with CrossView Pro using one call to the control program If you want to see how the control program calls the compiler assembler linker and locator you can use the v0 option or v option The v0 option on
226. dow must have a unique name CJ Terminal FSS output ioj x I a E2 Terminal FSS input Iof x FS Figure 4 13 CrossView Pro Terminal Windows 4 36 Chapter 4 You can specify the characteristics of the Terminal Window by opening the Terminal Window Setup dialog From the Settings menu select Terminal Window Setup to open this dialog or click with the right mouse button in the Terminal Window to bring up a popup menu and select Setup You can specify the input and output format of the terminal window The input format can be a VT100 like terminal The output format can be a VT100 terminal display control codes decimal octal or hexadecimal You can map linefeeds to carriage return linefeeds wrap at the end of a line specify buffered input or specify that the window must be cleared at system reset and program reset You can also log the input and output data to a file The default size of a terminal window is 24 lines of 80 characters Everything that scrolls outside this window is lost The visual window size can be smaller scroll bars are shown You can specify another size in the Terminal Window Setup dialog Each terminal window has a local popup menu which you can activate by clicking the right mouse button Reset Clear Reverse Local echo Setup Figure 4 14 Terminal Window Local Popup Menu Reset clears the contents of the terminal window and it also clears all attributes set with escap
227. dress number_of maus x Write binary data to a File I O stream Optionally interpret the data as hexadecimal values ios_writef stream file format expression Formatted write to a File I O stream printf ios_rewind stream file Move File I O file pointer to the beginning of the file 13 14 Chapter 13 7 13 2 8 FILE SYSTEM SIMULATION FSS lt gt H amp stream file Redirect to or from a stream or file FSS_stdio_open _filename rwdirection streamnumber Redirect the output of a stream to a file FSS_stdio_close streamnumber Close the specified stream 13 2 9 TARGET SYSTEM CONTROL demp file number_of_hits d Compare an application file with the memory contents and display differences dn Download the image part of the current absolute file specified when CrossView Pro was invoked or loaded with the N command dn file Download the image part of the absolute file file fa device_name base_address chip_width nr_of chips Add FLASH device to list of configured FLASH devices fc device_number Check the manufacturer and device identifiers of a FLASH device fd device_number Delete FLASH device fl List FLASH devices fp device_number Get protection status of a FLASH device fpe device_number Protect FLASH device fpd device_number Unprotect FLASH device Command Reference 13 15 fw address Specify workspace address of FLASH programming monitor l
228. e Function Open save restore close a debug instrument state Q From the Target menu select Save Restore Target State The command line syntax is di_state open state name di_state save siaie_name number di_state restore siaie_name number di_state close staie_name delete Description Before a state can be saved restored or closed it must be opend first To open a state use the di_state open state name command When opened successfully the name is added to the available state names list With the di_state save command you can now save the state of the debug instrument with the specified state_name and number With di_state restore you can restore a previously saved state of the debug instrument with the specified state_name and number Use di_state close to close a state The delete flag can be 1 to delete the state or use 0 to keep the state This feature is only available when it is supported by the debug instrument Example To open and save a state type di_state open S1 di_state save S1 0 To restore a state type di_state restore S1 0 13 92 Chapter 13 a dis Function Disassemble a range of memory From the View menu select Source Disassembly or Source Source and Disassembly to open the Disassembly or Source and Disassembly window respectively E The command line syntax is dis address address count i Description Disassemble a range of memory The output is interleaved w
229. e Mon 10 mext2n sre Mon 9 mext2r sre Mon 9 mext2re sre Mon 9 mF command 13 148 mf command 13 149 minimum addressable unit 15 8 mk166 1 11 Monitor configuration parameters Mon 18 connecting target board CAN Mon 43 RS 232 Mon 41 I ME C167C Mon 56 interface description Mon 21 rebuild Mon 16 resources used by Mon 14 startup configure at NMI Mon 20 troubleshooting Mon 50 monitor 1 20 1 22 Mon 36 OCDS 8 monitor command BAUD_ZL Mon 33 DEBUG Mon 33 FINIT Mon 34 FILLMEM Mon 28 GO Mon 30 ILVL Mon 32 MEMTOPC Mon 24 MONADR Mon 32 MOVMEM Mon 28 NULL Mon 23 PCTOMEM Mon 24 PEEK Mon 25 POKE Mon 25 REGLOAD Mon 26 REGSAVE Mon 27 SETIP Mon 29 SHOWSTAT Mon 30 SYNC Mon 31 VERSION Mon 29 monitor data 13 142 monitor programs Mon 7 monitors 13 143 more 3 10 ms command 13 151 multi FFT power spectrum 11 15 in lines 11 16 in lines and grid 11 17 mxcl6xb sre Mon 10 Index 14 7 mxcl6xd sre Mon 11 mxcl6xib sre Mon 10 mxcl6xn sre Mon 9 mxcl6xr sre Mon 9 mxcl6xre sre Mon 9 N command 13 153 n command 13 154 nC command 13 155 near 6 8 6 15 near pointer 6 9 nU command 13 156 O o command 13 157 OCDS OCDS 1 octal constants 3 5 octal notation 3 4 on chip debug support OCDS 1 configuration OCDS 5 hardware OCDS 4 Infineon OCDS interface circuit OCDS 9 installation hardware OCDS 4 software OCDS 4 software OCDS 4 system requirements OCDS 3 open a
230. e Browse button if you know the installation directory of another TASKING product Use the Scan Disk button to search for all TASKING products present on a specific drive Then return to step 2 How to Open an Existing Project Follow these steps to open an existing project 1 From the Project menu select Set Current gt 2 Select the project file to open For the demo program select the file demo pjt located in the subdirectory xvw in the examples subdirectory of the C166 ST10 product tree If you have used the defaults the file demo pjt is in the directory installation dir examples xvw How to Load Open Files The next two steps are not needed for the demo program because the files addone asm and demo c are already open To load the file you want to look at 1 From the Project menu select Load Files The Choose Project Files to Edit dialog appears 1 38 OVERVIEW Chapter 1 Choose Project Files to Edit C target examples demo welcome txt C target examples demo readme tet C tarqethexamples demo demo c C targethexamples demo addone asm C target examples demo lib src start asm 2 Choose the file s you want to open by clicking on it You can select multiple files by pressing the lt Ctrl gt or lt Shift gt key while you click on a file With the lt Ctrl gt key you can make single selections and with the lt Shift gt key you can select everything from the first selected fil
231. e Compare Unit For XC16x Super10 peripherals are only enabled when the alternate function is selected from the ALTSELOPx register When a peripheral is enabled from the ALTSEL1Px register the peripheral will not be enabled within the simulator SSC ASC Serial Ports The SSC ASC peripherals automatically get DIO Debug Instrument I O streams assigned to terminal windows You can use these terminal windows to display and enter data from and to these peripherals You can also redirect the terminals to read or write data to from files If DIO is not desired for these peripherals you can disable the DIO streams from within CrossView Pro See section 10 4 Debug Instrument I O for more information on DIO Simulator Sim 5 Parallel Ports The processor pins for parallel port Px are available in CrossView Pro as a special register PORT_Px The bits in these special registers are only effective if the DPx register is set properly A D Converter You can use the CrossView Pro special register PIN ADCx as replacement of the A D converter external port pin The value of this register is the value as put on the external ADC port pin The type of this register is floating point The A D converter also requires a ground and reference voltage The special registers PIN_VAREF and PIN_VAGND are for this purpose The types of these registers is also floating point General Purpose Timers All timers work only when there are no external inputs sel
232. e Control menu or by clicking a Close button as shown in figure 4 4 Selecting this item from the Command Window will exit CrossView Pro Control Menu Close Button Restore Move Size Minimize Maximize Close Ctr F4 Next Ctrl F6 denmo c 47 Figure 4 4 Closing a Window Using CrossView Pro 4 17 4 5 3 DIALOG BOXES The debugger uses dialog boxes to acquire information needed to complete a requested operation The debugger also uses dialog boxes to display information If a button or menu item displays an ellipsis after its name then there is an associated dialog box For example the dialog box shown in figure 4 5 searches for a string This dialog box uses a list edit field to enter a search string radio buttons to select the search direction a check box to specify case sensitivity and push buttons to allow certain functions to be performed List Edit Field Check Box Search String String m Direction C Up Down Help Radio Button Push Buttons Figure 4 5 Dialog Box 4 18 Chapter 4 7 4 5 4 CUSTOMIZING CROSSVIEW PRO You can customize CrossView Pro s visual appearance and operative parameters to best suit your debugging environment Changing the Visual Appearance Windows can be organized by resizing and moving them around the desktop see your Windowing System s manual for details on how to do this All windows under Micro
233. e RAM ROM Monitor Comunication Setup page of the CrossView Pro entry in the Project Project Options dialog 1 6 3 3 LOADING SYMBOLIC DEBUG INFORMATION You must tell CrossView Pro which program that you want to debug To do this e From the File menu select Load Symbolic Debug Info The Load Symbolic Debug Info dialog box appears as shown in figure 1 7 e Type in the path and file name of the program that you want to debug or click on the Browse button to bring up a file selection dialog box In our example we are using demo abs Note that in most cases you will want to set the code bias field to 0x0000 1 26 Chapter 1 If your program accepts command line arguments you can enter them as a comma separated list Set the Download image too check box by clicking on it if you want to download the image of your absolute object file to the target You can decide to postpone downloading to the target In that case you can select Download Application from the File menu any time afterwards Set the Reset target system check box if you want to reset the target system to its initial state You can decide to postpone resetting the target In that case you can select Reset Target System from the Run menu afterwards Set the Goto main check box if you want to execute the startup code This automatically enables the Reset application check box You can decide to postpone going to the main function In that case you can execute
234. e an auto baud rate detection The highest possible baud rate for the PC is 19200 baud The default baud rate is 9600 Use the correct ports on both the execution environment and host Many machines have two ports If you use a different port on the host than the default COM1 for PC you will have to use a special startup switch D See the startup options of the Using CrossView Pro chapter See the addendum for details on the connection to the execution environment Q From EDE you can select an execution environment in the Execution Environment page of the CrossView Pro entry in the Project Project Options dialog Overview 1 6 3 STARTING CROSSVIEW PRO To invoke CrossView Pro select it from the Windows Start menu or click on the Debug application button from EDE CrossView Pro starts up and opens the command window source window and other windows Breakpoint a a e Toggle Local Toolbar Menu Bar Main Toolbar CrossView Pro Demo abs e Target Edit Run Breakpoints Data Tools Settings View Window Help Bl oo 1d p Eg Source demo c m gt vile c BYwWAAN 6 Se ihe I 0x140a main Source lines z Source line step Y void main void int loopvar the loop counter 7 long sum will be 17 sum of factorials from 0 to 7 char cvar sample char variable t7 if initval gt recordvar a stopped at the breakpoint we set In the Source window CrossView Pro alwa
235. e current function stack level 0 and associates the list of CrossView Pro commands cmds with the breakpoint Breakpoints set in the Stack Window are always temporary meaning they will be deleted after the first time you reach them A breakpoint set in this manner will not be visible in the Source Window When the breakpoint is hit execution is halted the breakpoint is then removed By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bB command This command is not allowed when the target runs in the background Example To set a temporary breakpoint at the beginning of the current function which prints a stack trace type bB T To set a temporary breakpoint at the beginning of the function whose stack number is 2 type 2 bB d break b bb bd bD bi bI bt bti btI bu bU Q 13 44 Chapter 13 bb Function Set a permanent breakpoint at the beginning of a function In the Stack Window click on the desired function and select Stack Breakpoint At Function Entry from the Breakpoints menu To make the stack breakpoint permanent select Breakpoints from the Breakpoints menu select the desired breakpoint and click on the Edit button The Edit Code Breakpoint dialog appears Click on the Advanced gt gt button and disable the Remove when
236. e domain window update actions graph_add_update Output time domain memget output i 256 t Get new time domain data from output into t buffer graph_add_update Output time domain graph Output time domain x_t cxl t 0 1 This command recalculates and redraws the window 11 18 Chapter 11 DEFINE THE FREQUENCY DOMAIN WINDOW graphp Output freq domain 50 350 716 295 set window position graphmn Output freq domain show_multi_grid cxl 120 5 color set draw method graph Output freq domain multi_fft cxl f 0 1 256 use the f buffer graph_clear_updates Output freq domain Set Output freq domain window update actions graph_add_update Output freq domain bufa f t 4096 Add new data to buffer max size 4096 purging oldest graph_add_update Output freq domain color color 1 16 4096 256 16 graphs increment color offset to follow graph_add_update Output freq domain graphmn Output freq domain show_multi_grid cx1l 120 5 color Use the graphmn command to avoid double redraws Place color in braces to avoid confusion with buffers graph_add_update Output freq domain graph Output freq domain multi_fft cxl f 0 1 256 This command recalculates and redraws the window PLACE COMPLEX BREAKPOINT HAVE IT UPDATE THE GRAPHICAL DATA WINDOWS main 141 bi upd
237. e in the Command window corresponding to the last number of trace frames This command merely shows the contents of the emulator s trace buffer Since the ct r command relies on the emulator s trace buffer the ct r command will not be implemented on some emulators This command is not allowed when the target runs in the background Not available for all execution environments Example To display in the Command window the last 20 trace frames type 20 ct r d ct cti Command Reference 13 85 cxli Function Execute a CXL script i The command line syntax is cxl script arg Description Execute CXL script script The filename of the CXL script must be enclosed in double quotes For use with simulation scenarios you can supply the cxl command to a cycle count probe point Example To execute CXL script myscript cxl type cxl myscript cxl d Refer to Appendix B CrossView Extension Language CXL for details on the CXL syntax 13 86 Chapter 13 cxl_reset Function Reset variable of one or all CXL scripts Ea The command line syntax is cxl _reset Pscript Description Reset all variables of the CXL script script that are executed The filename of the CXL script must be enclosed in double quotes If you omit the script argument CrossView Pro resets all variables of all scripts For use with simulation scenarios you can supply the cxl_reset command to a cycle count probe
238. e in the Data Window You can skip the Expression Evaluation dialog if you activate the Bypass Expression Evaluation dialog check box in the Data Display Setup dialog Accessing Code and Data 6 13 6 Alternatively click on the New Expression button in the Data Window The Data Window must be open to display the result Otherwise CrossView Pro does not monitor the expression Therefore CrossView Pro opens the Data Window automatically when you choose to show or watch an expression Type the m expression command in the Command Window To place the variable initval in the Data window type m initval initval remains in the Data window You may run the program step through it and the display updates continually Even if you are not in window mode CrossView Pro still displays the value of initval after every CrossView command FUNCTION Monitor an expression or variable COMMAND m expression Similarly if you want twice the value of initval you could type m initval 2 And the expression initval 2 is monitored Monitored expressions are evaluated exactly as if you had typed them in from the command line therefore if you are monitoring a variable say R identical to an CrossView Pro command use the n format in this example R n Monitor Delete To remove a monitored expression you can Select the item in the Data Window and click on the Delete Selected Data Item button from the Data Window or select Data D
239. e label also specifies the path from the main menu bar for example AddDDEMenuEntry Options CaseTool Configure config menu entry An entry cannot be removed or replaced once it has been created Neither is there support for enabling or disabling entries via this interface this is somewhat problematic since we are communicating across an asynchronous interface so the disable may not be executed immediately AlwaysEnabled is either 1 true or 0 false default CrossView Pro by default disables the menu entry when the command window disallows entering a command for example when running an application To define the shortcut character of a menu entry place a amp before the character The shortcut character will be underlined To add a seperator line in the menu start the next menu entry with a The seperator line will precede this menu entry For example amp Options amp CaseTool amp Reset 2 5 EXAMPLES 2 5 1 EVALUATING AN EXPRESSION To get the value of an expression pass it to the command interpreter The syntax of the returned value is identifier value The value can even be a complete structure or union For example execute via the Command topic execext main The returned string could look like main 0x0 A 30 Appendix A 7 2 5 2 READING TARGET MEMORY You can retrive target memory either via requesting a variable s value or with the dump command The dum
240. e name has been defined as a macro Example To enter the host environment under a new shell type To execute the host date command type Idate To execute the CrossView Pro command b instead of the macro named b type b db set unset echo save 13 22 7 Chapter 13 Function Search down forward for a string To search for a string in the Source Window select Search String from the Edit menu and select the up radio button To repeat your search click on the Find Next Text String button The command line syntax is string Description The search begins with the line after the current line If the string is found the viewing position is changed to the line containing the string The execution position is not affected If you do not specify a string to search for CrossView Pro will look for the most recent specified string Searches wrap around to the beginning of the file Regular expressions are not recognized Example To look for the next occurrence of Random in the current file beginning with the line after the current line type Random doz Command Reference 13 23 a Function Search up backward for a string To search for a string in the Source Window select select Search String from the Edit menu and select the down radio button To repeat your search click on the Find Next Text String button eee The command line syntax is string Description
241. e room for directories gt max dir size You can reference no more that max dir size directories for source files 14 16 Chapter 14 No more SIO windows I O to command window Only four SIO streams can be displayed simultaneously in the SIO window Subsequent SIO streams output will be displayed in the command window No name of symbol file specified CrossView Pro cannot deduce the name of a symbol file No filename was given to the N command and no symbol file was currently loaded No playback name specified Give the name of the playback file to be used for this session No process CrossView Pro only allows one process to be debugged at the same time No such breakpoint The breakpoint number was incorrect List breakpoints with the 1b command to find the correct breakpoint No such field name name for lt structure union gt name The field name is not recognized for the specified structure or union Check the spelling of field name The t format will show you the names and types of a particular structure s or union s fields No Such Line CrossView Pro can not find the specified line number in any of its known files Please check the source window or a source listing for legal line numbers No such procedure name CrossView Pro does not recognize name as a procedure name Check the spelling and whether the file was compiled assembled linked located for debugging Check that the file
242. e sequences A Clear just clears the contents of a terminal window Reverse changes the foreground and background colors and Local echo enables echoing back of typed characters in a terminal window Setup opens the Terminal Window Setup dialog You can connect an I O stream to a terminal window in the Connections tab of the Settings I O Simulation Setup dialog box Using CrossView Pro 4 37 4 6 9 DATA ANALYSIS WINDOW CrossView Pro incorporates an advanced signal analysis interface designed to enable developers to monitor signal data more critically and thoroughly This feature is useful when developing signal processing software for application areas such as communication wireless and image processing Contrary to the other CrossView Pro windows the Data Analysis window as shown in figure 4 15 is not opened from the View menu but is opened as result of processing a data analysis script or from the Settings menu Most other CrossView Pro windows are updated whenever the target application stops execution due to for example a breakpoint The Data Analysis window is only updated on user request This is done because a large set of data is shown in the Data Analysis window and this set of data must be available and complete at the time the window is updated Therefore the user normally constructs a complex breakpoint to trigger the update of the Data Analysis window t Output freq domain Of x oka Smee amp 85
243. e size is OK default size is sizeof char D Print in decimal needs NO size specifier size is sizeof long d Print in decimal can have a size specifier default size is sizeof expression E Print in e floating point notation needs NO size specifier default size is sizeof double e Print in e floating point notation the size specifier can be sizeof float or sizeof double default size is sizeof expression F Print in f floating point notation needs NO size specifier default size is sizeof double f Print in P floating point notation the size specifier can be sizeof float or sizeof double default size is sizeof expression G Print in g floating point notation needs NO size specifier default size is sizeof double Command Language Style Description PR Print in g floating point notation the size specifier can be sizeof float or sizeof double default size is sizeof expression Print the function source line and disassembled instruction at the address Print the disassembled instruction at address Print in the natural format based on type use it for printing variables that have the same name as an CrossView Pro command Print in octal needs NO size specifier size is sizeof long Print in octal can have a size specifier default size is sizeof expression Print the name of the function at the address Print the
244. e source window However it may disappear from the window when scrolling through the source or when you loaded a new program To find the program counter again Click on the Find PC button in the Source Window or select Find PC from the Edit menu a From the Command Window use the L command The L Command The L command is shorthand for 0 e It synchronizes the viewing and the execution positions adjusting the viewing position if the two are different The L command never affects the execution position The L command is useful if you have changed your viewing position and do not remember where your execution position is FUNCTION Synchronize viewing and execution position COMMAND L 5 8 Chapter 5 E 5 2 CONTROLLING PROGRAM EXECUTION Using the mouse in the Source Window you can direct the execution of your source programs Among your options are e Starting execution from the first instruction or from the current execution position e Manually stopping execution whenever you want e Executing the program a single line at a time e Executing functions by calling them directly 5 2 1 STARTING THE PROGRAM To restart a program from its first instruction re Click on the Restart program button in the Source Window Or e From the Run menu select Reset Application e From the Run menu select Run or click on the Run Continue button Type the R command from the Command Window AN This is NO
245. e to constant folding optimizations performed by the compiler 3 8 E Global Variables Chapter 3 Global variables are defined outside every function and are not local to any function Global non static variables are accessible at any point during program execution after the system startup code has been executed Global variables can be defined static in a module These variables can only be accessed when a function in this module is active on the stack or when that file is in the Source Window using the e command Specifying Variables in C expressions The following table specifies how CrossView Pro treats different variables in C expressions The left column is the variable s syntax in the expression the right column is the CrossView Pro semantics Variable Syntax CrossView Pro Behavior variable CrossView Pro performs a scope search starting at the current viewing position and proceeding outwards The debugger first checks locals local statics and parameters followed by statics and globals explicitly declared in the current file Finally globals in other files are checked function variable CrossView Pro searches for the first instance of function f found the debugger uses the frame s address to perform a scope search for variable Variables are available only if the specified function is active That is the stack frame for that function can be found on the run time stack number
246. e to the file you click on Then click OK This launches the file s so you can edit it them Check the directory paths 1 From the Project menu select Directories The Directories dialog appears Directories PRODDIR bin PRODDIA include PRODDIR ib 2 Check the directory paths for programs include files and libraries You can add your own directories here separated by semicolons Overview 1 39 3 Click OK How to Build the Demo Application The next step is to compile the file s together with its dependent files so you can debug the application Steps 1 and 2 are optional Follow these steps if you want to specify additional build options such as to stop the build process on errors and to keep temporary files that are generated during a build 1 From the Build menu select Options The Build Options dialog appears Build Options 21x r Build IV Use TASKING build and error parser settings IV Save file s before starting a command I Stop build process on error I Keep temporary files that are generated during a build I Use additional make options T Use external makefile instead of demo mak I Use absolute path names in generated makefile T Include user defined makefile in generated makefile Browse Output directory instead of project directory Browse r Debug IV Warn if target file is not up to date when starting the debugger
247. e up 16 buttons 4 7 1 ECHOING COMMANDS The Command Window echoes every command given to CrossView Pro CrossView Pro translates most button actions and menu selections into the CrossView Pro keyboard command equivalents The Command Window echoes the equivalent commands just as if you had typed them there 4 7 2 _MOUSE MENU COMMAND EQUIVALENTS Actions in CrossView Pro are performed by using keyboard commands typed into the Command Window selecting a menu item by clicking on a push button and sometimes by direct manipulation of objects with the mouse Many actions can be accomplished several ways For instance there are three different ways to set a breakpoint You can 1 Use the line b command in the command entry field 2 Click on a breakpoint toggle in the Source Window 3 From the Breakpoints menu select Breakpoints to open up the Breakpoints dialog box 4 40 Chapter 4 4 8 USING THE ON LINE HELP CrossView Pro has an extensive on line help system to aid you Help topics cover all CrossView Pro Windows commands and dialog boxes 4 8 1 ACCESSING ON LINE HELP You can access help in several ways 1 Click the Help button on a dialog box Opens the help system with information about how to perform the task or about the meaning of the dialog 2 Click on the question mark in the upper right corner of a dialog then click the element in the dialog you want help on A yellow box briefly explains the e
248. e value of program variable ch1 type ios readf 4 x amp chl To read a hex value from stream 4 and store it in register R2 type ios _readf 4 x R2 To read two hex values from stream istrm and assign them to program variable ch1 and target register R2 type ios readf Sistrm x x amp ch1 R2 dE ios_read ios_write ios_open 13 134 Chapter 13 los rewind Function Move File I O file pointer to the beginning of the file From the Settings menu select I O Simulation Setup Open the File T O tab and click on the Configure button Attach a stream to a probe point In the New Stream dialog enable the Wrap around check box fee The command line syntax is ios_rewind stream file Description With ios_rewind the file pointer is moved to the beginning of the file Example To move the file pointer of the file connected to stream 4 to the beginning of the file type ios_rewind 4 To move the file pointer of the file connected to stream istrm to the beginning of the file type ios rewind Sistrm To move the file pointer to the beginning of file my txt which is connected to a stream type ios rewind my txt d ios_read ios_write ios_open Command Reference 13 135 ios wopen Function Open a File I O stream and map the stream to a terminal window From the Settings menu select I O Simulation Setup Open the File T O tab and click on the Configure button Attach a
249. eakpoint s number or name for this command For example to delete the breakpoint numbered 1 enter break delete 1 FUNCTION Delete a breakpoint COMMAND break delete breakpoint_number break delete breakpoint_name To clear all the breakpoints in the program type break delete all Do you want to delete all breakpoints y FUNCTION Delete all breakpoints COMMAND break delete all 7 4 ENABLING DISABLING BREAKPOINTS You can enable or disable a breakpoint directly from the source code using the menu items or through the Command Window To see a list of active breakpoints select Breakpoints from the Breakpoints menu or use the 1b command in the Command Window To enable or disable a code breakpoint amp Follow these steps e From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box This box contains an edit function 7 18 Chapter 7 On Windows e In the list of breakpoints toggle the check box in front of the breakpoint to enable or disable the breakpoint On UNIX e Select the breakpoint form the list e Click the Enable or Disable button to enable or disable a breakpoint Use the break enable or break disable command in the Command Window to enable or disable a breakpoint You need to know the breakpoint s number or name for these commands For example to disable the breakpoint numbered 1 enter break disable 1 FUNCTION Disable a breakpoint COMMAN
250. eakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Code Breakpoint to open the Code Breakpoint dialog Edit the Break At field and fill in the Task ID field In the Advanced dialog disable the Remove when hit check box Eg The command line syntax is laddr bti Taskld cmds Description Set a permanent task aware breakpoint at the machine instruction at address addr or the current viewing position s address if addr is not specified the list of CrossView Pro commands cmds are executed when the breakpoint is hit The Taskid is the identification of the task as displayed in the Tasks Window or specified by the 1 k command Make sure that addr is the start address of a machine instruction otherwise the results are unpredictable When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bti command Example To set a breakpoint for task 4 at the current viewing position s address type bti wan To set a breakpoint for task 4 at address 0xF00 and print the message type OxFOO bti 4 breakpoint triggered address OxF00 task 4 Gs break b bb bB bd bD bi bI bt btI bu bU 1 Q 13 66 Chapter 13 bTIM Function Set a t
251. eate a receive queue CAN idname can t make assignment for CAN interface The CAN interface could not make the assignment blocking of messages to the given receive queue CAN idname can t read from CAN interface CrossView Pro did not receive a message from the CAN interface CAN idname can t write to CAN interface CrossView Pro could not send a message to the CAN interface CAN idname found error ILLPARM The value of a parameter is invalid CAN idname found error ILLHW The pcNETCAN hardware could not be found CAN idname found error BUSOFF Bus error the CAN controller went in a Bus Off state CAN idname found error BUSERROR BUSLIGHT BUSHEAVY Bus error an error counter reached its limit CAN idname found error REGTEST An error occured during the register test of the CAN controller CAN idname found error XMTFULL The send buffer in the CAN controller is full ROM RAM Monitor Mon 47 CAN idname found error QXMTFULL The send queue is full CAN idname found error RCVEMPTY CrossView Pro did not receive a new message from the CAN interface CAN idname found error QRCVEMPTY The receive queue is empty CAN idname found error OVERRUN The CAN controller was read too late CAN idname found error QOVERRUN The receive queue was read too late CAN idname found error NOVXD VxD not loaded license expired CAN idname found error RESOURCE A r
252. eclaration_section gt represented in the lt enum_value_list gt However evaluating the expressions from the objects in the lt information_section gt also could have problems The problems could occur when the expression is to difficult to be evaluated or when one of the variables of the expression is not available when the symbolic debug info is loaded When an expression could not be evaluated it results into N A for the specified window object entry item When the expression could be evaluated but the enumerated type could not be found or the specified type could not be converted correctly this will result into n a for the specified window object entry item 11 6 Chapter 11 So there are two situations n a Expression could be evaluated but could not be converted correctly at current moment This expression will not occur in the list when the menu item Info Message is selected N A Expression could not be evaluated and will not change until the ORTI file is updated with a valid expression For the second situation you can type the expression in the command window and CrossView Pro will show a message box with the reason why the expression could not be evaluated e About RADM This menu item shows the supported OSEK ORTI version and the RADM version 11 3 COVERAGE B Q You can only use this feature if it is supported by the execution environment see the addendum When the application
253. ected TxXUDE 0 In all cases when the transition level is used as trigger it only works on the OTL level of the core timer The following four modes apply for all GPT timers TIMER_MODE All five timers T2 T3 T4 TS and T6 can be used in this mode GATED_TIMER_MODE All five timers T2 T3 T4 TS and T6 can be used in this mode COUNTER_MODE timer concatenation Only the timers T2 T4 and T5 can be used in this mode when the transition comes from the corresponding OTL of the core timer This mode is used for the concatenation of the timers RELOAD_MODE Timers T2 and T4 can be used for this mode only when the transition comes from the corresponding OTL of the core timer Timer T6 could be reloaded with the value of CAPREL when the sfrbit TOSR is set Sim 6 e Execution Environment 4 2 SCENARIO SCRIPTING USING CXL Before reading this section it is recommended to read Appendix B CrossView Extension Language CXL With the CrossView eXtension Language CXL you can set up scripts for simulation scenarios These scenarios are usually a sequence of events supplied to the peripherals In CrossView Pro you can achieve this by using probe points to run scripts at defined intervals Cycle Probe Point When a CXL script must perform some action after every number of cycles you will need to set a cycle probe point with the execution of a CXL script assigned You can do this as follows in CrossView Pro 1 From the B
254. ed a if S LINE gt 120 A s 1 x C LINE is a reserved special variable that CrossView Pro maintains containing the number of the line currently executing If it becomes equal to 120 assertion mode is turned off Normally the x would make the program stop but the non zero value 1 tells CrossView Pro to execute the rest of the commands in the list in this case C for continue Breakpoints and Assertions 7 35 In this manner you have created an assertion that is only active over a limited range of source lines 7 10 7 GATHERING STATISTICS WITH ASSERTIONS You can also use assertions to gather statistics about your code For instance you can find out how many lines of C code execute in a particular session a numlines numlines is a user defined special variable that increments on each line of C code When the program stops type Snumlines and CrossView Pro gives the result To start again you may want to re initialize numlines to zero Snumlines 0 Or just set a breakpoint on the first line of code to do the same Chapter 7 N SNOILH3SSV ANY SLNIOdNVsua DEFINING AND USING MACROS all TASKING M ddaLdVH Defining and Using Macros 8 3 8 1 CROSSVIEW PRO MACROS A macro is a user created shorthand for any sequence of CrossView Pro or C commands and expressions Macros allow you to debug more efficient when using CrossView Pro by substituting a short string
255. ed On MS Windows the WINSOCK DLL implementation is used host The name of the host to be accessed via TCP IP port The port number on host to be accessed Use a UNIX device driver as communication channel For RS 232 devices use the D rs232 option described above device file The full path of the UNIX device file Select communication channel to an E ISA interface card in the PC io port PC I O port number or I O channel used for accessing the E ISA card address The memory address used to access the E ISA card Enable EasyCODE support in CrossView Pro Read command line options from file Specify root directory for File System Simulation Specify startup directory for CrossView Pro Has CrossView Pro download the image of the absolute object file IRQ_enabled_debugging true false Allow debugging while interrupts are active Keeps a log of CrossView to target communications in a file Not available for all execution environments Informs CrossView Pro that the program was loaded into memory at an address other than zero Specify the name of an OSEK ORTI file for RTOS aware debugging Starts playing back commands from file 4 9 4 10 Chapter 4 Startup Option Description P file r file R file radmefile RegServer RegServerS s number single_instance tcfg file timeout n_seconds T file UnregServer UnregServerS USM sd directo
256. edictable When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bi command Example To set a breakpoint at the current viewing position s address type bi To set a breakpoint at address 100 that will print the addresses of the next five source statements type 100 bi P 5 d break b bb bB bd bD bI bt bti btI bu bU Q 13 56 Chapter 13 bINST Function Set a temporary instruction count breakpoint From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Instruction Breakpoint to open the Add Instruction Breakpoint dialog Type a value in the Instruction count field and enable the Remove when hit check box in the Advanced dialog Eg The command line syntax is count bINST cmds Description Set a temporary breakpoint after the specified count number of machine instructions have been executed count can be any expression evaluating to a number The list of CrossView Pro commands cmds are executed when the breakpoint is hit When the breakpoint is hit execution is halted the breakpoint is then removed By default the current execution position function line number and source statement are displayed Next any commands asso
257. ee 4 30 4 6 6 Stack Window 0 ccc cee es 4 33 4 6 7 Trace WANdOW e522 pee Shee Pee we oe ee 4 34 4 6 8 Terminal Window 0 00 c cece eee 4 35 4 6 9 Data Analysis Window 0000 eee eee 4 37 4 6 10 Pop Up Windows 0 606 ccc cece eee 4 38 4 7 Control Operations for CrossView Pro 4 39 4 7 1 Echoing Commands 00 0 cece eee 4 39 Table of Contents 4 7 2 Mouse Menu Command Equivalents 4 39 4 8 Using the On line Help 0005 4 40 4 8 1 Accessing On line Help 0 0 000005 4 40 4 8 2 Using MS Windows Help 000000005 4 40 CONTROLLING PROGRAM EXECUTION 5 1 5 1 Source Positioning 0 6 0 0 eee eee 5 3 5 1 1 Changing the Viewing Position 5 4 5 1 2 Changing the Execution Position 5 5 5 1 3 Synchronizing the Execution and Viewing Positions 5 7 5 2 Controlling Program Execution 5 8 5 2 1 Starting the Program 00 0 eee eee 5 8 5 2 2 Halting and Continuing Execution 5 9 5 2 3 Single Step Execution 0 00 cece eee 5 9 5 2 4 Stepping through at the Machine Level 5 12 5 3 Notes About Program Execution 5 14 5 4 Searching through the Source Window 5 14 5 4 1 Searching for a Function 0 0 0000 eae 5 14 5 4 2 Searching for a String 00 0 e eee eee 5 15 5 4 3 Jumping to a Source Line 0
258. efinition any Register Window displaying a deleted register set will be closed e You can select a register set definition by selecting an item from the defined register set definition list The list of available and selected registers will be updated according to the configuration of the selected register set definition Once you have selected a register set definition follow these steps to configure this register set definition e You can add registers to the list of selected registers by selecting registers from the list of available registers by highlighting those registers in the left list box and using the Add gt or Add All button or by double clicking on the register you want to add e You can remove registers from the list of selected registers by highlighting those registers in the right list box and using the Remove lt or Remove All button or by double clicking on the register you want to remove e By using the Move Up and Move Down buttons you can change the display order of the selected registers in the Register Window CrossView Pro automatically updates all Register Windows and places the registers in each Register Window starting at the top left position on one line wrapping to the next line if the next register does not fit 6 7 2 EDITING REGISTERS CrossView Pro lets you change the contents of registers in a simple and direct manner Q Follow these steps e In the Register Window click on the register va
259. egative number with parentheses 54 321 Expressions combining integers and floating point numbers will evaluate to floating point values 2 2 2 4 4 3 6 Chapter 3 E Character Character constants are single characters or special constants that follow the C syntax for special characters Examples of valid character constants include 1m Tx n Character constants must be a single byte and are delimited by single quotation marks For instance mychar m Remember not to confuse character constants with strings A character constant is a single byte in this example the ASCII value of m Strings Strings are delimited by double quotation marks In C all strings end with a null zero character Strings are referenced by pointer not by value This is standard C practice In CrossView Pro you may assign a string literal to a variable which is of type char pointer to character Systring name CrossView Pro supports the standard C character constants shown below Code ASCII Hex Function b BS 08 Backspace f FF oc Formfeed n NL LF OA Newline r CR 0D Carriage return t HT 09 Horizontal tab 5C Back slash 3F Question mark v 27 Single quote 4 22 Double quote ooo 3 digit octal number xhhh hexadecimal number Table 3 1 C character codes Command Language 3 7 Trigraph sequences are not supported
260. elect Code Breakpoint to open the Code Breakpoint dialog Edit the Break At field and fill in the Task ID field In the Advanced dialog enable the Remove when hit check box E The command line syntax is addr btl Taskld cmds Description Set a temporary task aware breakpoint at the machine instruction at address addr or the current viewing position s address if addr is not specified the list of CrossView Pro commands cmds are executed when the breakpoint is hit The 7askid is the identification of the task as displayed in the Tasks Window or specified by the 1 k command Make sure that addr is the start address of a machine instruction otherwise the results are unpredictable When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the btI command Example To set a temporary breakpoint for task 4 at the current viewing position s address type btI wan To set a temporary breakpoint for task 4 at address 0xF00 and print the message type OxFOO btI 4 breakpoint triggered address OxF00 task 4 d gt break b bb bB bd bD bi bI bt bti bu bU 1 Q Command Reference 13 65 bti Function Set a permanent low level task aware breakpoint at a machine instruction From the Br
261. elete Item To remove all expressions from the Data Window select Data Delete All Type the number m d command in the Command Window 6 14 Chapter 6 To remove initval from your Data Window 1 type the number of the expression first item of the Data Window has number 0 and md monitor delete Omad and CrossView Pro removes initval in this case assuming it is the first variable listed in the window from the Data Window FUNCTION Remove an expression from the Data Window COMMAND number md Since local variables have no meaning beyond their range CrossView Pro issues error messages if you try to evaluate local variables beyond their scope Some variables also become invisible when the program call another function For instance if you are in main monitoring sum and main calls factorial the unqualified name sum is no longer visible inside factorial You can get around this problem however by monitoring main sum instead 6 3 3 FORMATTING DATA When you display a particular variable CrossView Pro displays it in the format the symbolic debug information defines for it You may however easily specify another format using dialogues or keyboard commands See the section Formatting Expressions in the chapter CrossView Pro Command Language Examples To print the value of initval in hexadecimal format enter initval x Be sure not to confuse CrossView Pro format codes with C character codes
262. embedded system being designed CrossView Pro provides a high level interface between you the user working at the host system and a program running at the target system execution environment This means that you may issue commands that refer directly to the variables source files and line numbers as they appear in the source program You can do this because CrossView Pro uses symbol information generated during compilation to translate the high level commands that you type into a series of low level instructions that the target system understands Using Generic Debug Instrument GDI calls towards a shared library for the simulator or using a connection between the host and target CrossView Pro finds out information about the state of the target program and then tells the target to perform the requested actions A host target arrangement can perform functions beyond the reach of traditional software based debuggers Since the target contains the actual chip CrossView Pro can observe its operations without interfering The existence of CrossView Pro and the host is invisible to the target program This means that the program under debug runs exactly the same as the final program will in a real embedded system except for real time situations like timings Overview 1 9 With CrossView Pro you may also take advantage of any advanced capabilities of your target hardware through emulator mode transparency mode In transparency mode you
263. emory region is reached If your target supports multiple memory spaces then addr may refer to any memory space If the sizeof a given exp occupies more than one MAU only the least significant MAU will be written to memory This command does not have any effect on code breakpoints Example To store values 0x01 and 0x02 at succeeding memory locations in the range 0x400 to 0x404 type 0x400 mf 0x404 0x01 0x02 13 150 Chapter 13 7 The result of this command is address 0x400 0x401 0x402 0x403 0x404 value 1 2 1 2 1 Command Reference 13 151 ms Function Memory search From the Memory Window click on the Find Memory button to open the Search Memory dialog Enter the start address and end address inclusive of the memory region you want to search Enter one or more search patterns separated by commas and click on the OK button g The command syntax is addr_start ms addr_end expr expr Description The ms command searches for a pattern within a block of target memory The memory region starting at address addr_start and ending at address addr _end inclusive is searched for the pattern defined by exp exp Multiple exps separated by commas may be entered Each exp corresponds to a subsequent MAU If your target supports multiple memory spaces then addr may refer to any memory space This command does not have any effect on code breakpoints Example Suppose the memory range 0x400 to 0x4ff
264. emporary time breakpoint From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Timer Breakpoint to open the Add Timer Breakpoint dialog Enter a value in the Time field and enable the Remove when hit check box in the Advanced dialog Eg The command line syntax is time bTIM cmds Description Set a temporary breakpoint after the specified time in seconds time can be any expression evaluating to a number The list of CrossView Pro commands cmds are executed when the breakpoint is hit When the breakpoint is hit execution is halted the breakpoint is then removed By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bTIM command Example To set a temporary breakpoint after 0 5 seconds and list all global variables type 0 5 bTIM 1 g Gb break b bCYC bcyc bINST binst btim D Command Reference 13 67 btim Function Set a permanent time breakpoint From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Timer Breakpoint to open the Add Timer Breakpoint dialog Enter a value in the Time field and disable the Remove when hit check box in the Advanced dialog Eg The command line syntax is time btim
265. emulator under transparency mode are also recorded but each command is preceded by the o command Files may not be named t f or c Example To set or change the command recording file to command cmd and turn command recording on type gt command cmd Command Reference 13 29 To suspend recording commands type gt f To resume recording the commands to the recording file type gt t To stop recording commands and close the file type gt c 4b gt gt gt gt gt amp lt lt lt I q 13 30 Chapter 13 gt Function Record emulator commands to a file To start recording or toggle the state of the command recording mechanism select Record Emulator from the Tools menu Type or select a file to record commands in and click on the Start button to start recording To suspend recording click on the Suspend button To resume recording click on the Resume button To stop recording click on the Stop button E The command line syntax is note that the greater than sign must be typed as shown gt file t f c Description CrossView Pro will start recording emulator commands in a file if file is specified otherwise turn recording on t off f or close c the recording file Specifying a different file while recording is on will cause the old output file to be closed and all successive commands will be sent to the new file If no arguments are given the state of the recor
266. en locating your application you should reserve the memory areas used by the monitor running on your target board by using the RESERVE MEMORY control in the locator invocation See the description of the monitor for your target board for a list of the ranges to be reserved ROM RAM Monitor Mon 41 8 CONNECTING TO THE TARGET BOARD 8 1 RS 232 All configurations of the monitor have an automatic baud rate detection We recommend using a baudrate in the range 4800 to 19200 baud By using the D rs232 port baud rate Execution environment port and communication Speed baud rate option of CrossView Pro you can force the serial connection parameters to non default values You can use the Communication Setup dialog Target Communication Setup to set the port and baudrate The set of valid parameters for PC host computers running MS Windows is listed here port COM1 default COM2 COM3 COM4 baud rate 1200 2400 4800 9600 default 19200 The defaults for other host computers are host computer port baud rate Sun dev ttya 9600 others dev ttyOO 9600 Table Mon 8 Communication defaults UNIX hosts When your host computer can handle it we advise you to use a baud rate of 19200 to improve debugger performance The monitor does not operate at transmission speeds slower than 1200 bps After a hardware reset the monitor or the on chip bootstrap loader automatically detects the transmission speed by
267. ent Environment click on the Debug application button El From the desktop With MS Windows you can start CrossView Pro through the Start menu Or in the Windows Explorer you can double click on an absolute file if the abs extension is associated with the CrossView Pro executable AN On the PC CrossView Pro is a Microsoft Windows application As such you must invoke it from the Windows environment From the command line To begin the debugging session type the name of the CrossView Pro debugger and optionally the name of the target program absolute file xfwl66 absolute file option Using CrossView Pro 4 5 4 4 STARTUP OPTIONS CrossView Pro allows you to specify several options when you invoke the program Type these startup options or switches as they are sometimes called after the optional basename of the application The basename can also contain a path specification In this case CrossView Pro sets its current directory to the specified path A minus sign proceeds each option the options can appear in any order Note that some versions of CrossView Pro have different startup options and procedures than the ones described here Please consult the addendum at the end of this manual for precise information about starting up CrossView Pro with your target hardware From EDE You can select the execution environment setup communication parameters specify record and playback files and set some maximum
268. ented e The TFR flags are implemented as follows The CPU latches a 0 to l transition of a TFR flag in an internal flip flop This flip flop is reset upon entering the trap handler This implies that setting a TFR flag by software has no effect when it has already been set independent of the situation Also a pending trap can never be canceled e sequentially crossing the boundary between internal and external memory is allowed in the simulator not in hardware e explicit SP updates followed by RET RETI RETS RETP or POP require a one instruction delay but not in the simulator Sim 12 Execution Environment When the DIVL or DIVLU instructions results in an overflow the contents of the MDL and MDH registers on the simulator are not the same as on the C167 hardware As the results are unpredictable on the overflow the simulator fills the MDL and MDH registers with the value OxFFFF The simulator calculates the division as a 32 bits division The MDL contains the truncated lower 16 bits of the result of the division and the MDH contains the truncated lower 16 bits of the result of the modulo The V flag is set when the result is larger than 16 bits The N flag is set then the highest bit of the MDL is set When a breakpoint is set in an ATOMIC or EXTEND sequence CrossView Pro will set a breakpoint at the first instruction after the sequence Within an ATOMIC or EXTEND sequence class A hardware traps are not handle
269. er 1 CrossView Pro converts this action into a command Depending on preferences you have set the variable is shown in the Data Window or the Expression Evaluation dialog is shown CrossView Pro consults the symbol table to deduce the type and address of initval Suppose initval is a variable of type int which lies at absolute location 100 The debugger forms a command asking the target system to read two bytes starting at address 100 the size of an int equals 2 CrossView Pro then transmits the command to the target system and receives the response CrossView Pro interprets the response and for example determines that initval equals 17 CrossView Pro then displays initval 17 since it knows initval s type Command CrossView set if initval gt recordvar a sum 0 1 initval x Execute Halt Figure 1 2 CrossView Pro Command Output This is a simplified example many CrossView Pro commands require several complex transactions but all take place without you being aware of them Overview 1 5 C166 ST10 PROGRAM DEVELOPMENT The CrossView Pro debugger package is part of a toolchain that provides an environment for modular program development and debugging The figure below shows the structure of the toolchain The toolchain contains the following programs cc166 cp166 c166 m166 a166 1166 ar166 d166 dmp166 mk166 The control program can build an absolute loadable file
270. er 4 Using CrossView Pro Command Language 3 13 3 5 FORMATTING EXPRESSIONS By default CrossView Pro displays the value of an expression using the appropriate format for the type of expression CrossView Pro follows several simple rules for displaying variables The defaults are addresses appear in hexadecimal format characters as ASCII and integers as decimal There are four possible formats to show one integer value decimal hexadecimal octal and ASCII There are two different formats to display one floating point value decimal real and hexadecimal If the absolute value is either too big or too small with too many non significant zeroes the debugger automatically converts the format to one with fixed decimal point and exponent ASCII is the only format to display a string Note that you can opt for the array format Unpredictable characters are output as xbh where bh is a hexadecimal value Control characters are output as 2G All the values in an array appear in the same format You are free to select this format from the available options If All the values of a structure appear in the same format You are free to select this format from the available options You can determine in which format a variable is displayed Once the format has been selected however you must enter values or change values in the appropriate format When editing is finished the debugger interprets all values in terms of the c
271. ered block 13 156 previous covered block 13 161 previous not covered block 13 166 source window 4 25 covinfo command 13 79 cp166 1 11 cproinfo command 13 80 CPU reserved variable 3 10 CPU selection 4 7 cpu selection 13 98 13 99 cpu_type 1 18 Mon 35 Sim 9 OCDS 6 creating a makefile 1 41 CrossView and command line options 4 5 command files 4 6 command language 3 1 command line batch processing 9 10 command reference 13 1 commands summary 13 4 13 16 customizing 4 18 desktop 4 12 Index Index 7 executable name Mon 3 Sim 3 features of the execution environment Sim 3 invoking 4 4 restrictions of execution environment Mon 4 Sim 11 sound support C 1 special features 11 1 starting 4 4 state of 13 126 using 4 1 CrossView Pro before starting 1 13 debugger 1 13 debugging environment 1 8 documentation 1 7 exiting 1 33 features 1 3 how it works 1 9 invoking 1 15 output 1 32 source level debugging 1 8 target settings 1 16 using windows 1 4 windows 1 4 CrossView Pro workspace 1 33 ct command 13 82 ct i command 13 83 ct r command 13 84 cursor 5 3 cxl command 13 85 CXL script 4 38 execute 13 85 reset variables 13 86 supplied scripts 11 13 syntax B 35 CXL scripting Sim 6 CXL syntax B 3 array and string functions B 11 base types B 6 compound types B 7 constants and expressions B 8 file inclusion B 9 functions B 9 graph functions B 13 I O function
272. error conditions throughout the entire length of your program C Trace CrossView Pro has a separate window that displays the most recently executed C statements or machine instructions This feature uses the execution environment s trace buffer along with symbolic information generated during compilation This feature is depending on the execution environment I O Simulation IOS With I O simulation you can debug programs before the actual input and output devices are present CrossView Pro can read input data from the keyboard or a file or can send output to a window or a file You can view the data in several formats including hexadecimal and character You can have an unlimited number of simulated I O ports which can be associated with the screen and displayed in windows Data Monitoring You may place variables and expressions in the Data window where CrossView Pro updates their values when execution stops Single Stepping With CrossView Pro you can single step through your code at source level or at assembly level into or over procedure calls Running your program one line at a time lets you check variables and program flow 1 6 Chapter 1 E Coverage When a command such as StepInto or Continue executes the application CrossView Pro traces all memory access i e memory read memory write and instruction fetch Through code coverage you can find executed and non executed areas of the application program Areas of
273. es Q From the Target menu select FLASH Setup EEs The command line syntax is fl Description List the configured flash devices You can use the Number in other CrossView Pro flash commands Example To list the flash devices type fl This results for example in the following list Number Device name Address Width Chips 0 AM29F040 OxFFE00000 8 2 1 AT29C010 0x2000000 8 1 d gt fa fc fd fp fpe fpd 13 108 Chapter 13 5 fp Function Get protection status of a FLASH device From the Target menu select FLASH Setup Select a device and click Protection gt Get status Ees The command line syntax is fp device_ number Description Get the protection status of the specified flash device A flash device that supports a protection mechanism can be protected or not Use the fpe or fpd command to enable or disable the protection Use the fl command to see a numbered list of flash devices Example To get the protection status of flash device number 0 type po f db fl fpe fpd Command Reference 13 109 fpd Function Unprotect a FLASH device From the Target menu select FLASH Setup Select a device and click Protect gt Disable g The command line syntax is fpd device_number Description A flash device that supports a protection mechanism can be protected or not With this command you can disable clear the protection Use the fl command to see a numbered list of fla
274. escription Set a permanent up level breakpoint immediately after the call to the function designated by the stack number stack otherwise the currently viewed function is used Associate the list of CrossView Pro commands commands with the breakpoint When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bu command This command is not allowed when the target runs in the background Example To set a temporary up level breakpoint immediately after the call to the currently viewed function type bu To set an up level breakpoint immediately after the call to the function at stack level 2 and after stopping print out the local variables and arguments of that function type 2 bu 1 Command Reference 13 71 d gt break b bb bB bd bD bi bI bt bti btI U Q 13 72 Chapter 13 bufa Function Append the contents of one buffer to another buffer Ea The command line syntax is bufa target_buffer_name added_buffer_name size_limit Description Add the contents of buffer added_buffer_name to buffer target_buffer_name If size_limit is specified buffer target_buffer_name will be trimmed down to the specified size keeping size_limit elements of the tail of the buffer Example To append t
275. esent in disassembly Default is ON Command Language Reserved Variable Description SRCLINENRS Contains a string ON or OFF The value ON specifies that line numbers should be printed in the source window The value OFF suppresses printing of line numbers Default is OFF SRCMERGELIMIT Contains the value for the source merge limit in the assembly window the number of source lines to be intermixed in the assembly window Value 0 indicates that there is no limit Default is 0 Table 3 3 Reserved special variables Registers You can reference registers and special function registers SFRs directly The format is register For instance type r1 316 SR1 316 Sstkov 0xfa40 SSTKOV OxFA40 Sdpp3 SDPP3 0x3 rh7 255 SRH7 OxFF ip IP 0x138A For CrossView Pro a fixed set of registers is always available You can add additional C166 ST10 derivative specific SFRs in a regname def file See the C Cross Compiler User s Manual for more information You can configure which and in which order registers must appear in the register window in the Register Window Setup dialog Settings Register Window Setup It is possible to request the address of an SFR by using the address operator amp The operator may even be used on an SFRBIT for this purpose In this case the bit offset and the SFR where it is located in are displayed Example 3
276. esource FIFO Client Timeout was not available 8 4 CONNECTION PROCESS MESSAGES The following messages can be displayed while CrossView Pro is connecting to the target board Connecting to boardname This message is printed when connecting for the first time in the session to the board or when CrossView Pro did not get a response from the board and starts connection Connecting waiting for response from the target After detecting that the monitor is not alive CrossView Pro starts waiting for a known response from the board This response can either be the bootstrap acknowledge byte or a OxAA response from the monitor Mon 48 Execution Environment 7 Connecting sending bootstrap CrossView Pro received the bootstrap loader acknowledge byte from the board and starts the boot sequence The bootstrap acknowledge byte for a board is defined in the target configuration file c g with the field bslack CrossView Pro starts downloading the boot program defined in the target configuration file cfg Connecting Could not open S record file CrossView Pro detected that no boot program file name is defined in the target configuration file cf g for the selected board Check if you selected the right board with the tcfg command line option or with the Target Settings menu Connecting sending monitor CrossView Pro starts downloading the monitor program defined in the target configuration file cfg Con
277. ession exp The assertion can be activated a a deleted a d or suspended a s The second version creates a new assertion with the given command list cmds Using the mouse you can create a new assertion or toggle the state of an existing one from the Assertions dialogue box Suspended assertions continue to exist but are not active Deleted assertions must be explicitly redefined in order to be made active again The commands for every active assertion are executed after every source statement is executed The x command in an assertion command list forces an exit from assertion mode This command is not allowed when the target runs in the background Example To suspend assertion 3 type 3as To delete assertion 1 type lad 13 40 Chapter 13 To set an assertion to stop the program when global variable myvar exceeds 3 type a if myvar gt 3 x Gls atx Command Reference 13 41 Function List all of the currently defined breakpoints From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box a The command line syntax is B Description Breakpoints are listed with numbers associated with them These numbers can be used to delete individual breakpoints d gt break b bb bB bi bI bu bU R C D 1 13 42 Chapter 13 b Function Set a code breakpoint From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt but
278. et also implies that servicing interrupts is inhibited OCDS 10 Execution Environment eee e e E mo Z5 oo ih ff ok bo of fe on Mhe Lt 82 Schottky _ nr m 0 0 TMS nas Q 2 0 Lh vec HE gf te r 0 GND TH 0 0 l RESET 0 Ni 0 he GND l 0 TDI 82 7 8 a j 0 7 0 l TRST nis he Q 9 TCLK o te l 0 0 GND 0 l BRK_INE 4 6 0 m 0 5 16 0 BRK_OUT is 0 0 0 0 l OCDS_E 2 wiremount Sockbt 1 m o o 5 2x il L DB25 F E L 1 SN74HC244N a Figure OCDS 1 Infineon OCDS Interface Electric Schematics Number of Part parts 2 74HC244 11 10k Ohm 1 470 Ohm 1 110 Ohm 2 51 Ohm 7 82 Ohm 2 10 nF 1 LED 1 Schottky 1 DB25 Female connector Table OCDS 2 Parts list On chip Debug Support OCDS 11 7 1 THE INFINEON JTAG CONNECTOR Since there is no standard connector defined in the IEEE1149 1 JTAG standard specification nor an established industry standard has emerged Infineon has defined their own standard connector for debugging purposes 7 1 1 THE CONNECTOR LAYOUT Mechanical The connector is a standard 2 54mm 0 1 inch centers
279. evel The hold level when the reset is active rs232_bootstrap_pin The name of the RS232 pin to set the target in bootstrap mode for example DTR rs232_bootstrap_level The level when the BSL pin is active rs232_bootstrap_hold_ level The hold level when the BSL pin is active Table Mon 7 Configuration file fields Notes e Fields not required for the target can be omitted e CrossView Pro searches for the cfg files in the current directory and in the etc directory ROM RAM Monitor Mon 39 The SYSCON register will always be initialized before the boot program and monitor execute the EINIT instruction The configuration files could have the following syscon einit combinations syscon 0x0080 configuration value for syscon einit empty field necessary for new boot monitor program syscon 0x0000 overruled value einit Ssyscon 0x0080 new value einit Ssyscon 0x0080 Fields not required for the target board can be omitted Example of a part of the target cfg file Target board configuration file for CrossView title Ertec EVA167 cpu_type 167 bslack 0xC5 0xA5 boot b167 sre monitor ml67n sre register file regl67 dat einit Ssyscon 0x0000 init Saddrsell 0x0406 Sbusconl 0x0680 Sstkov Oxfa00 debug_instrument_module dieval6 6 reserve 0x200 OxFFF 0xFCC0O OxFCDF 0xFD00 0xFD4B CrossView Pro searches for the target configuration file
280. ew Pro displays 34 6 11 6 12 Chapter 6 The expression can contain names of variables constants function calls with parameters and so forth anything that you can write directly at the Command Window you can use in the Evaluate Expression dialog box For more information on expressions and the CrossView Pro command language refer to the section CrossView Pro Expressions in the Command Language chapter The Dot Operand Using the dot shorthand can save you some typing The dot stands for the last value CrossView Pro displayed For instance initval initval 17 Now you can use the value 17 in another expression by typing 2 34 The value is the result of the new expression Naturally using the dot operand saves you from retyping complex expressions 6 3 2 MONITORING EXPRESSIONS CrossView Pro allows you to monitor any variable or expression Monitoring means that the debugger evaluates a particular expression and displays the result each time the program stops If you are in window mode CrossView Pro displays the values of the monitored variables and expressions in the Data window Monitor Set Up S7 To set up a monitor you can From the Data menu select Evaluate Expression or double click on a variable in the Source Window or click on the Watch Expression button to view the Expression Evaluation dialog box From this dialog box you can enter an expression and monitor watch its valu
281. ewing position The line of source code currently being viewed This line contains the dashed line cursor Some commands operate by default on the viewing position The viewing position and the execution position are initially the same but you may adjust each individually INTERPROCESS COMMUNICATION all TASKING M XIGNAddV Interprocess Communication A 3 1 COM INTERFACE 1 1 INTRODUCTION CrossView Pro provides a COM object interface on MS Windows platforms The purpose of the COM object interface is to make the command line interface of the command window available to the outside world Simultaneously a callback mechanism is provided which allows the outside world to tap into events that occur within CrossView Pro for example a breakpoint hit message This is achieved by a COM connection point interface to which multiple programming languages can connect The CrossView Pro COM object can be used in programming languages like Python Visual C or Visual Basic Applications that are COM clients can also make full use of the CrossView Pro COM object interface COM is a binary reusable object technology linked tightly to MS Windows COM is closely related to ActiveX and Automation ActiveX consists of a set of predefined interfaces to be implemented in a COM object and used to create plugable GUI components Automation is a similar set of predefined COM interfaces but with a wider range of applications than A
282. exp T Trace the stack for exp number of levels list local variables exp t Trace the stack for exp number of levels printing active functions and parameters passed td Disable tracing te Enable tracing 13 2 2 CODE AND DATA MONITORING cd Disable turn off gathering of coverage information ce Enable turn on gathering of coverage information 13 6 Chapter 13 covinfo all module_or_function_namel filename List coverage information cproinfo alli filename add remove function List cumulative profiling info or add or remove functions from the list of profiled functions dis address address count i Disassemble a range of memory dump address address count style width filename a l Dump a memory range M Display list of monitored expressions in the Command window m exp Monitor the expression exp nummd Remove monitored expression labeled num addr start mcp addr_end addr_dest Memory copy addr mF exp exp Single fill memory address addr with expressions addr start mf addr_end exp exp Fill memory address range with expressions and repeat the pattern until the end address of the memory region is reached addr start ms addr_end exp exp Search memory address range for a given pattern pd Disable turn off profiling pe Enable turn on profiling proinfo all module_or_function_namel filename List profiling info Command Referen
283. externally by a high to low transition at the NMI pin On entry of the monitor e g after a breakpoint all timer registers TOICON T2CON T3CON T4CON TSCON T6CON and T78CON for the 167 are saved and set to zero This way the timers are stopped while the monitor is running The timers are reloaded with the saved value before continuing with the user program At startup the monitor executes the DISWDT and the EINIT instruction The DISWDT instruction disables the watchdog timer and it cannot be enabled by the user program The EINIT instruction causes the RSTOUT pin to go high This pin cannot be used by the user program The serial receive interrupt vector SORINT or SIRINT when configured for port S1 is used by the monitor to abort execution of the user program This interrupt vector points to the start address of the monitor If program execution needs to be aborted the debugger sends an escape sequence to the serial port to cause an interrupt When the interrupt is serviced by the CPU the monitor is trapped and debugging continues The receive interrupt level for the serial port is set to the lowest priority LVL 1 and GLVL 0 These interrupt levels can be changed in the monitor source See section 5 3 Rebuilding the Debug Monitors for more information The interrupt enable bit in the program status word PSW is enabled in the monitor and need to stay enabled when the user program is running Otherwise interrupting the program from
284. f the flash programing monitor used for flashing files for example a ROM monitor in an EPROM ROM RAM Monitor Field Description flash_direct_access When set to TRUE CrossView Pro performs flash operations using target memory read write accesses When FALSE CrossView Pro downloads a FLASH programming monitor to the target and executes this program to perform the flash operations flash_device_num The FLASH device number flash_workspace The code address where the FLASH programming monitor must be loaded flash_vendor0 The name of the FLASH device vendor flash_chipo The name or type of FLASH device flash_width0 The width in bits per FLASH device flash_chips0 The number of FLASH devices used flash_base_address0 The start address of the memory range that will be covered by the FLASH device register file The filename of the register file def to be used for the CPU on the target When this field is omitted CrossView Pro uses the default reg def as register file This register file contains debug information for CrossView Pro like which E SFR registers are present and at which location syscon The initialization value for the SYSCON register This entry is here for backwards compatibility only The SYSCON register can now be initialized using init syscon init Initialize the register specified in the subfield with the
285. face Type Library entry Interprocess Communication A 17 Option Explicit Public WithEvents Xvw As Xfw lt targ gt Private Sub Form_Load Dim Result As String Set Xvw CreateObject Xfw lt targ gt CommandLine Call Xvw Init Call Xvw Execute echo Hello Result 0 End End Sub Private Sub Xvw_CrossViewEvent ByVal EventText As String MsgBox Called back with amp EventText End Sub 1 5 3 WORD EXAMPLES BBS ON Here is an example of connecting to CrossView Pro PowerPC It starts xfw lt targ gt and shows all messages that CrossView Pro sends to Word Visual Basic for Applications provides a special feature WithEvents to connect to the connection point of a COM interface You must use WithEvents in a variable declaration There is a catch however You can only use it in a class module including form modules and it must appear in the declaration section You cannot declare a variable using WithEvents in the body of a procedure Replace all occurences of Xfw lt targ gt in the example below by the name of your CrossView Pro executable to make the text applicable To add the example to Word Start the Visual Basic editor and go to Tools References Search and check the CrossView COM Interface Type Library entry Insert a class module via the menu bar Insert Class Module Change its name to clsXfw lt targ gt in the properties pane Paste the following text A 18 Appendix A
286. fication If there is no argument the format defaults to x which prints an address in hexadecimal This command is intended to allow users to see memory addresses in decimal octal or a format of their choosing Example To display addresses in octal type f 0 To display addresses in hex type f db expression 13 103 13 104 Chapter 13 7 fa Function Add a FLASH device From the Target menu select FLASH Setup Click Add to specify a FLASH device EEs The command line syntax is fa device name base_address chip_width nr_of_chips Description Add a flash device to the list of configured flash devices This command also checks whether the device address range overlaps with already configured flash devices device_name is a unique name for the flash device base_address is the start address of the memory range that will be covered by the flash device chip_width is the width of the flash device in bits number_of chips is the number of flash devices you want to use in parallel Example To add flash device AM29F040 with base address OxFFE00000 chip width 8 and number of chips 2 type fa AM29F040 0xFFE00000 8 2 As a result 16 bits can be accessed in one memory read cycle To add flash device AT29C010 with base address 0x2000000 chip width 8 and default number of chips 1 type fa AT29C010 0x2000000 8 Gb fc fd fl fw Command Reference 13 105 fc Function Check a FLASH device
287. filename type help save for more information The save command requires a file to be supplied Note if the supplied file name already exists it will be overwritten Fatal XVW error CrossView Pro has detected a error which it can not handle If information is displayed you may be able to detect the source of the error and correct it Otherwise if the message persists please contact TASKING Technical Support Oxvalue is an invalid value The register register is unchanged The value supplied is incorrect for the specified register Verify that both the value and the register are correct and retry Adding 2 pointers not allowed You cannot add two pointers together in an expression If you intended to add to a pointer make sure that the argument is a value not another pointer 14 4 Chapter 14 Address not allowed for or or operator The Not One s complement and Modulus operators cannot be used with an address If you intended to perform the operation on the contents of the address please be sure to dereference the pointer Addresses not allowed in or operator The multiply and divide operators cannot be used with address data If you intended to perform the operation on the contents of the address please be sure to dereference the pointer Addresses not allowed in bitwise logical or logical or shift operators Bitwise logical amp or logical amp amp or
288. fresh the Memory Window and to display data coverage information Data Analysis Window Setup Allows you to configure the graph display of a Data Analysis Window I O Simulation Setup Allows you to specify the I O streams to be used in the Terminal Windows 4 20 Chapter 4 e Terminal Window Setup Allows you to specify the input and output format of a Terminal Window You can map linefeeds to carriage return linefeeds wrap at the end of a line specify buffered input or specify that the window must be cleared at system reset and program reset You can also log the input and output data to a file e Background Mode Setup Allows you to specify which windows to automatically refresh when running in background mode This feature is only available if it is supported by your execution environment Saving Changes on Exit If you find yourself using a particular configuration you may want to save your configuration when you exit CrossView Pro e From the File menu select Exit or close the Command Window e In the Save tab of the Options dialog that appears select the options you want to be saved for another debug session e Click on the Exit button in the Options dialog CrossView Pro exits If you selected one or more items in the Save tab of the Options dialog your settings are saved in the initialization file xvw ini This file is in the startup directory 4 5 5 CROSSVIEW PRO MESSAGES CrossView Pro communicates with you in a
289. from the sio command or add a prompt string 14 14 Chapter 14 Must supply b or f The color command requires a value of f for foreground or b for background to modify the screen color Must supply r w or b Both the data range bD and data bd breakpoint commands require the type of data modification to generate a break condition Use r for read w for write and b for both read write Please see chapter Command Reference for more information Must supply data to be monitored You did not specify a variable or expression to the m monitor command Please provide a variable or expression to be monitored for example m myvar Must supply second address with bD command The bD command requires two addresses Either specify an upper limit if you want to break anywhere in memory range or use the bd command if you want to break on an individual address Negative baudrate value ignored VAX or Negative baud rate S value ignored The baudrate specified was a negative value Please specify a legal value or use the default Negative TIMEOUT value ignored VAX or Negative timeout interval l value ignored The time out value specified was negative Please specify a legal timeout value or use the default No child process The CrossView Pro internal data structure containing user information about child processes is not as expected Please contact the TASKING Technical Support staff f
290. function To change the display format position the cursor on the profile column and click the right mouse button Select the appropriate format from the popup menu Next to the source window the profile report dialog Tools Profiling Report shows the time spent in each function The time consumed by functions called from the function being profiled is not included in the displayed time FUNCTION List profile information to output window or file COMMAND proinfo all module_or_function_namel filename Code range profiling data is gathered whenever the program is executed It does not matter if the program executes due to a continue step over or step into command Code range profiling heavily relies on special profiling features in the execution environment Normally code range profiling is only supported by instruction set simulators To enable disable profiling From the Tools menu select the Profiling checked menu item When the menu item is checked code range profiling is enabled Enabled means that the execution environment starts gathering profiling data Select the menu item again to disable profiling Special Features B Type the pe or pd command on the command line pe FUNCTION Enable profiling COMMAND pe FUNCTION Disable profiling COMMAND pd Select the Profiling button in the Source Window to display profile data in the Source Window If profiling is not enabled this but
291. g drawing commands are supported clear Clear drawing area This is usually the first command issued in a drawing sequence graph_area x offset y offset x size y size printf graph_area d d d d n xo yo XS YS Set graph area size The offset determines the lower left corner of the graph area Size is the exact number of pixels axis xlow ylow xhigh yhigh Define the axes ranges for determining the cross hair cursor coordinates to be displayed in the cursor field and to be passed to the representation generator The axes range up to the top right coordinate which is excluded reduces axis drawing maths but mind axis lengths of 0 The axes are linear pen_color color Set pen color Black is the default color The color can be specified by name or by RGB number in the form red green blue as decimal number for each base color for 0 to 255 E g 255 128 0 is orange Valid names are black red yellow green blue cyan magenta dkgray gray ltgray white brush_color color Color used for filling areas Black is the default color See pen_color for possible colors The value background sets the brush to the current background color which is WINDOW_BACKGROUND under Windows CrossView Extension Language CXL B 15 filled_rectangle x y1 x2 y2 Puts a rectangle filled with the latest set brush_color bounded by x1 yl and x2 y2 both points inclusive Coordinates are expressed in pixels The o
292. gnored when the Execute these settings at CrossView startup check box in the Load Symbolic Debug Info dialog box is not checked For more information on record and playback functions see the next chapter Command Recording amp Playback 8 8 Chapter 8 E 8 2 5 DELETING MACROS To delete a specific macro Q Follow these steps e From the Tools menu select Macro Definitions to open the Macro Definitions dialog box e Highlight the name of the macro e Click on the Delete button To delete all the macro definitions at the same time click on the Delete All button CrossView Pro prompts you for confirmation Eee Type the unset command in the Command Window For example to remove the st macro enter unset st When you are removing a macro definition in this manner you must place an exclamation point after the macro name to prevent CrossView Pro from expanding the name to its full macro definition To update your macro definition files issue a save command after using unset EEs You can remove all existing macro definitions by entering the unset command by itself CrossView Pro prompts you for confirmation before deleting the macros unset Do you want to delete all macros y FUNCTION Delete a macro COMMAND unset name Defining and Using Macros 8 9 8 3 MACRO PARAMETERS Macros can accept arguments Parameters are labelled sequentially in a macro definition 1 2 3 etc Note that 0 h
293. h a software reset but with a trap 0 This implies that the target remains in the bootstrap mode Mon 8 Execution Environment Boot Program Description btargetnrbe sre for target and derivative boards which have no RAM selected by CSO Therefore the monitor is not started with a software reset but with a trap 0 This implies that the target remains in the bootstrap mode All registers within the einit field are not stored anymore within the internal RAM and CrossView Pro initializes all specified registers necessary when more than six registers should be initialized without modifying the monitor sources After initialization the EINIT instruction is executed with the monitor command EINIT This is the most flexible boot program to initialize a target board Use this boot program together with monitor program mtargetre sre b164nrb sre same as b167nrb sre but with the difference that now timer T3 is used for the BSL Timer T3 is used when the target has only one GPT1 for example C164Cl b167a sre for C167 AA step with 960 byte BSL instead of 32 byte b167snrb sre no RAM boot version and Phytec memory switch bi_me167 sre for I ME C167C board bext2f sre same as bext2 sre but with the exception that the I O is initializazed with the Fractional Divider SOFDV to get higher baud rates bext2i sre same as bext2 sre but with an extra l O initialization after the EIN
294. handle events with more than one line a header not a newline is used to distinguish between the individual events The header format is EVENT number of characters lt newline gt So you must always split events that arrive in one DDE message An example of such a multi event DDE message is A 27 A 28 Appendix A EVENT 27 SourceFileChanged demo c EVENT 23 ViewedLineNrChanged 93 EVENT 27 Stopped BREAKPOINT input EVENT 24 CommandInterpreterReady EVENT 79 CmdAnnotatedOutput OK r OUTPUT 1 r Error breakpoint name input is not unique r d For an overview of all available events see section 1 4 Events 2 4 CROSSVIEW PRO DDE SPECIFIC OPTIONS AND COMMANDS 2 4 1 COMMAND LINE OPTIONS ddeservername name This command line option specifies a unique DDE server name This way it is easier to distinguish between multiple instances of the same debugger If you do not use this option the server name is the name of the CrossView executable To distinguish between multiple DDE servers with the same name you must connect to all DDE servers using DdeConnectLists and obtain distinguishing information 2 4 2 COMMANDS With regard to DDE support the following commands are available enhance integration support AddDDEMenuEntry Syntax AddDDEMenuEntry abel id string AlwaysEnabled Interprocess Communication A 29 Creates a menu entry with given abel and id string Th
295. hat the simulator is an instruction set simulator If an instruction takes more than one cycle the simulator will never break in the middle of the instruction but completes the whole instruction first When the number of cycles of the cycle probe point is elapsed in the middle of an instruction the probe point is hit after the instruction is finished and this may be a number of cycles later So the CXL script invoked by the probe point is not always executed exactly after the number of cycles defined with the probe point You have to keep this in mind when writing a CXL script that does things depending on the cycle counter For example it triggers a port pin every 1000 cycles and it triggers another port pin every 2000 cycles You will have to round the cycle counter in the CXL script to get this done This means that it is inevitable that there is an inaccuracy in the timing An example of rounding the cycle counter long ccnt ccnt floor get SCCNT 20 20 In this example the script is executed by a probe point every 20 cycles To do something in the script every 1000 cycles you can now for example use if ccnt 1000 0 actions here Sim 8 Execution Environment The number of cycles that you fill in with the probe point is depending on the demand of your scenario If you need a high frequency of events a lower cycle count may be required than with a low frequency of events Keep in mind that
296. he lt Enter gt or lt Return gt key is equivalent Use the Halt button to interrupt commands executing in continuous mode or to stop the emulator If you right click on the border of the dialog a quick access menu opens with entries for searching and setting up The Command Window maintains a history of recently executed commands To re perform previously executed commands simply double click on it or select the command s from the command history list in the Command Window and press the Execute button By hitting the lt Tab gt key it is also possible to select one or more entries Hitting lt Tab gt or lt Esc gt will return you to the command edit field AN The maximum number of lines saved to the CrossView Pro command buffer list is set during debugger startup The default is 100 lines To change the default select Command Window Setup from the Settings menu This number can also be modified via a startup option You do not have to restart CrossView pro for these changes to take effect 4 24 Chapter 4 e 4 6 2 SOURCE WINDOW The Source Window offers most of the debugging functions you will need on a regular basis It allows you to e View the source file source lines disassembly or both e Set and clear assertions not in Toolbar e Set and clear breakpoints e Monitor and inspect variables e Search for strings functions lines addresses e Control execution e Call functions not in Toolbar and evaluate expressions
297. he CPU on the target When this field is omitted CrossView Pro uses the default reg def as register file This register file contains debug information for CrossView Pro like which e sfr registers are present and at which location debug_instrument_module The name of the Debug Instrument using GDI used for debugging diocds1 66 for target boards that use the OCDS interface via the parallel port and gdi2das for target boards that use the OCDS interface via DAS RegisterFile The filename of the register list file dat to be used for OCDS interface This register file contains register information for Debug Instrument like which E SFR registers are present and at which location This file must be used along with the register file entry which contains the register information for CrossView Pro init Initialize the register specified in the subfield with the value specified in field value The register name in subfield must be known by CrossView Pro i e must be specified in the register file You can specify multiple registers by separating them with commas ResetDelay A delay in miliseconds for CrossView Pro after a target reset When you use OCDS CrossView Pro resets the target However CrossView Pro cannot detect if the reset is released when a capacitor is used inside the reset circuit on the board reserve The reserved memory ranges from to for OCDS monitor re
298. he Command Window For example break code 0x1234 name brk_1 sets a code breakpoint at address 0x1234 with the name brk_1 7 2 4 SETTING THE COUNT CrossView Pro allows you to set a breakpoint s count The count defines how many times you encounter the breakpoint before it halts the program For example a breakpoint with a count of 3 means the program stops on the third hit Each time the breakpoint is hit CrossView Pro decrements the count When the count reaches 0 CrossView Pro halts the program and resets the count to the value of the reset count The default reset count is 1 To set a breakpoint s count Q Follow these steps e From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box e When you add or edit a breakpoint click on the Advanced button e Enter a breakpoint s count in the Breakpoint count field e Enter a reset count in the Reset count field zee From the Command Window e Use the count argument with the break command to set both the current count and the reset count e Use the curr_count and or reset_count arguments with the break command to set the current count and the reset count separately Breakpoints and Assertions 7 15 For example suppose you have a breakpoint set at address 0x59 of your source code The first time the program halts at address 0x59 enter break code 0x59 curr_count 3 reset_count 4 This command sets the breakpoint s cou
299. he Highlight Value Changes button in the Memory Window to see the changed cells With the Freeze Highlight Reference Values button you can enter a new reference point for highlighting All the cells that have been changed since that reference point are highlighted The Memory Window provides a local Toolbar containing the following buttons Fill memory Fill single memory address Fd Ki Copy memory xy Find memory 4 30 Chapter 4 cal Display data coverage Highlight changed values Set highlighted values as reference 2 Refresh memory window You can toggle the appearance of this local toolbar by selecting Local Toolbars Memory from the View menu 4 6 5 DATA WINDOW The Data Window is shown in figure 4 10 This window allows you to show the value of monitored expressions and variables The Data Window updates the values shown every time the program stops and after an o command It is possible to display both monitored and unmonitored data expressions in the Data Window CrossView Pro monitors and updates WATCH expressions after every halt in execution and marks them with the text WATCH at the start of the display line in the Data Window SHOW expressions on the other hand are one shot inspections of an expression s value and CrossView Pro does not update them until you click on the Update Selected Data Item button or Update Old Data Items button When a SHOW expressions is no longer actu
300. he I O stream you want to change and select the Redirect button In the Connection Configuration dialog enter a filename and or a terminal window name Click OK to accept the changes and close the dialog g Enter the ios_open or ios_wopen command in the Command Window to open a File I O stream To disconnect an I O stream from a file and or terminal window amp From the menu system From the Settings menu select I O Simulation Setup to open the I O Simulation Setup dialog box In the Connection tab select the I O stream you want to change and select the Redirect button In the Connection Configuration dialog erase the filename and or terminal window name Click OK to accept the changes and close the dialog E Enter the ios_close command in the Command Window to close a File I O stream FUNCTION Close a File I O stream COMMAND ios_close stream file I O Simulation 10 7 To disable enable an I O stream Q From the menu system e From the Settings menu select I O Simulation Setup to open the I O Simulation Setup dialog box e In te Connection tab clear the check box in front of the I O stream you want to disable Set the check box to enable the stream Disabling a File I O stream means that I O actions will not be honored Writing is not passed to the output file and reading does not result in new data being placed in the target buffer 10 3 FILE SYSTEM SIMULATION File sys
301. he Start button to start logging To suspend logging click on the Suspend button To resume logging click on the Resume button To turn off logging click on the Stop button zee The command line syntax is gt amp file t f lc Description Start host to execution environment communication logging in a file if file is specified otherwise turn logging on t off f or close c the log file This feature is most often used to diagnose problems with CrossView Pro itself The optional forces flushing of the output after every write The commands captured cannot be played back the way commands recorded by the gt command can The log file is also closed as a side effect of the q command AN Not available for all execution environments Example To open the file out 1log and put the following host to emulator communications in this file type gt amp out log To suspend logging communications in the log file type gt amp f To resume logging communications in the log file type gt amp t Command Reference 13 35 To stop logging communications and close the file type gt amp C Gb gt gt gt q 13 36 Chapter 13 gt Function Log GDI accesses To save GDI accesses select Log CrossView GDI Accesses from the Tools menu Type or select a file to log to and click on the Start button to start logging To suspend logging click on the Suspend button To resume logging click o
302. he contents of buffer to buffer all_data and keep the last 1024 elements type bufa all_data buffer 1024 bufd graph memeget Section 11 5 Data Analysis in Chapter Special Features Command Reference 13 73 bufd Function Free a used buffer Ea The command line syntax is bufd buffer_name Description Discard the specified buffer if the target data is not to be used anymore Example To discard buffer buffer type bufd Sbuffer bufa graph memeget Section 11 5 Data Analysis in Chapter Special Features 13 74 Chapter 13 a C Function Continue using the current value of the program counter In the Source Window click on the Run Continue button You can also select Run from the Run menu EEs The command line syntax is exp C line Description If exp is specified and you are stopped at a breakpoint then the breakpoint count is set to this value If ine is specified a temporary breakpoint is set at that line number Note that this temporary breakpoint will overwrite any existing breakpoint at that line The C command can be used in the command lists of breakpoints to resume execution automatically This command is not allowed when the target runs in the background Example To continue execution from the current target program counter type c To set the breakpoint s count to 4 and continue type 4c To set a temporary breakpoint at line 52 and continue type c 52 db brea
303. he current display Pop up windows usually contain information like a command definition that need not be continuously displayed probe A part of an emulator that can be inserted in place of the target chip in the actual embedded systems hardware probe point A special kind of breakpoint When a probe point breakpoint is hit the associated commands are executed and program execution is continued Glossary 15 9 profiling For each source code line that is executed the timing information is given quiet command A Q instruction at the start of the command list of a breakpoint suppressing the default display of function line number source file record amp playback The ability to save CrossView Pro commands and if desired Command window output to a file CrossView Pro can play back simple text files consisting solely of CrossView Pro commands register window A CrossView Pro window showing the contents of the target microprocessor s registers reserved special variables Special variables SLINE PROCEDURE FILE whose values CrossView Pro maintains to reflect the current status of the debugging session See also special variables ROM monitor A program which supervises or controls at an elementary level the overall operation of an embedded system Because of the limited hardware features of most boards containing ROM monitors some CrossView Pro features may not be supported See also emulator RS 232 cable
304. he field comment optional comment Empty lines lines consisting of only white space are allowed Comments start at an exclamation sign C and end at the end of the line The line for the shared library that supports RTOS aware code could be radm yourrtos dll Special Features 11 5 ee Or you can specify the RADM filename on the CrossView Pro command line with the following option radm osek_radm dll You can specify the ORTI filename on the CrossView Pro command line with the following option orti ORT filename The OSEK RADM adds an OSEK ORTI menu to CrossView Pro that has several items each description in the notation lt text gt is represented in the syntax of the OSEK Run Time Interface file OSEK implementation name if reading of the ORTI file succeeded The OSEK implementation name is specified with lt name gt in the lt declaration_section gt of the ORTI file For each lt declaration_spec gt a sub menu item will be created with the name represented for lt object gt When selecting an object item a window will appear with all objects from the lt information_section gt for the specified lt object gt The new created window always contains the Object column and then the columns represented in the lt object_decl_list gt of the specified object Info Messages This menu item lists all expressions from the ORTI file that could not be evaluated This could be an expression within the lt d
305. he macro expansion exceeds 200 commands The macro must be simplified Error Messages 14 13 Macro Expansion error missing See the command reference page or use the help command to review macro command syntax Macro Expansion error missing See the command reference page or use the help command to review macro command syntax Macro Expansion error missing See the command reference page or use the help command to review macro command syntax Macro Expansion error not enough args See the command reference page or use the help command to review macro command syntax Macro Expansion error out of space There is not enough memory to expand the macro Eliminate one or more unused macros before adding a new one Maximum trace size is max trace size CrossView Pro can perform C tracing only up to max trace size source lines Choose a number less than max trace size with the ct command Missing after if command The required format for the if command is if exp commands Missing file name or screen The sio command was missing a required parameter for setting up a simulated i o stream See chapter Command Reference for command definition and format Missing format character You did not specify a display format type with your command Either remove from the command or add a format character Missing prompt string You did not specify a prompt string with the sio command Either remove p
306. he target CrossView Pro needs to know the start address the size of the data elements and the number of items to fetch The number of items to fetch from the target is specified by count The following algorithm is used to fill the acquisition buffer addr0 char amp expr lt i 0 gt addr1 char amp expr lt i 1 gt delta addrl addr0 elem size sizeof expr lt i 0 gt type C type expr lt i 0 gt for i 0 i lt count i value read elem_size MAUs from address addr0 i delta buffer i convert_to_double type value Command Reference 13 147 Example 1 C structure access struct double re im int f data 100 To store the data x re values into acquisition buffer a memget data i re 100 a To store the data x im values into acquisition buffer b memget data i im 100 b 2 Memory access To retrieve 18 integer values from memory starting at address 0x100 and store these in acquisition buffer buffer memget int 0x100 i 3 6 buffer bufa bufd graph rawmemeget Section 11 5 Data Analysis in chapter Special Features 13 148 Chapter 13 mF Function Memory single fill From the Memory Window click on the Fill Single Memory Address button to open the Single Fill Memory dialog Enter the start address the memory region you want to fill Enter one or more expressions separated by commas and click on the OK button g The command syntax is
307. he target hardware must be non intrusive not all functions of the debugger are enabled while running in background mode You can only use this feature if it is supported by the execution environment see the addendum 11 7 1 CONFIGURATION Q amp CrossView Pro can be instructed to automatically refresh one or more windows of the debugger periodically while running in background mode You can use the Background Mode Setup dialog for specifying the desired set of windows to be refreshed From the Settings menu select Background Mode Setup to open the Background Mode Setup dialog A distinction has been made between updating the Source lines window and updating the Disassembly window Updating the Disassembly window may be to time consuming so you may want to disable its updating in Background mode while still keeping the Source lines window up to date when that is displayed on screen Use the u command to toggle the updating of windows in background mode FUNCTION Toggle update of window in background mode COMMAND interval u jd k r cd ck cr s a mem t 11 24 7 6 Chapter 11 The following windows can be updated in background mode d Data k Stack r Register s Source a Assembly mem Memory t Trace Initially only the data window will be updated CrossView Pro repeatedly looks at the execution environment to react on changes It pseudo simultaneously looks for user commands from the
308. his case you enter in the Assertion dialog box or into the Command Window after the a command if initval gt 17 x This command creates an assertion with the condition that if initval exceeds 17 CrossView Pro halts the program The x is a special assertion command that tells CrossView Pro to halt the program and return control to you Breakpoints and Assertions 7 31 Be aware that depending on the level of optimization variables may not exist anymore in the compiled application so you may not be able to use them in assertions In this case compile your application at a lower optimization level 7 10 3 EDITING AN ASSERTION To edit the contents of an assertion Q Follow these steps e From the Breakpoints menu select Assertions to open the Assertions dialog box e Click on the assertion to edit e Click on the Edit button A text edit dialog box opens allowing you to edit the assertion Click on OK or Cancel when finished E You must delete the specific assertion section 7 10 5 and define a new assertion previous section with the desired command 7 10 4 ACTIVATING AND SUSPENDING ASSERTIONS A particular assertion is either active or suspended A suspended assertion does not execute before every line but it retains its definition You may find it helpful to use activate and suspend assertion commands in conjunction with code breakpoints since assertions tend to slow the target program B
309. ic word by an instance For example filename means type the name of a file in place of the word filename Encloses a list from which you must choose an item Encloses items that are optional l Separates items in a list Read it as OR You can repeat the preceding item zero or more times For example command option filename This line could be written in plain English as execute the command command with the optional options option and with the file filename e Manual Purpose and Structure Illustrations The following illustrations are used in this manual AN This is a note It gives you extra information A This is a warning Read the information carefully Q This illustration indicates actions you can perform with the mouse g This illustration indicates keyboard input db This illustration can be read as See also It contains a reference to another command option or section OVERVIEW all TASKING M ddaLdVH Overview 1 3 1 1 INTRODUCTION This chapter highlights many of the features and capabilities of CrossView Pro including an Introduction to Source Level Debugging and the C166 ST10 Development Environment This chapter also contains the section Getting Started which shows you how to compile a program to work with the debugger 1 2 CROSSVIEW PRO S FEATURES CrossView Pro is TASKING s high level language debugger CrossView Pro is a real time source level
310. iew Pro maintains a set of variables that are separate from those defined in your program being debugged These special variables reside in memory on the host computer not on the target system They contain the values of the target processor s registers information about the debugger s status and user defined values Special variables are case insensitive Use the opt command to display and set these variables without using the sign The following is a list of the reserved special variables for CrossView Pro Reserved Variable Description ARG n Contains the value of the nth int sized argument of the current function Allows access to arguments of variable argument list functions without knowing the name of the argument FILE Contains the name of the file that holds the current viewing position IN function Contains the value 1 if the current pc is inside the specified function otherwise 0 LINE Contains the line number of the current viewing position This variable is often used in assertions to monitor program flow 3 10 Chapter 3 Reserved Variable Description PROCEDURE Contains the name of the procedure at the current viewing position ASMHEX Contains a string ON or OFF The value ON specifies that the disassembled code as displayed in the assembly window will display hexadecimal opcodes Default is OFF AUTOSRC Contains a string ON
311. ile Usually whenever the execution position changes the viewing position automatically follows suit But you may easily change the viewing position without affecting the execution position amp To change the viewing position use any of the following possibilities e Use the vertical scroll bar to move a line or a page at a time The view point stays on the same line until it is no longer visible It then stays on the first or last line of the display depending on the direction of scrolling e Click on the desired unmarked source line e From the Edit menu select Find Line to specify to which particular line you wish to move In the upper left corner of the Source Window there are two text fields These fields show the line number of the current viewing position and the address of the first machine instruction for that line CrossView Pro updates the Line and Address values each time the viewing position changes You can change the viewing position to the first executable line of a particular function with the e command For instance e main will make the first executable line of main the current viewing position and display it in the Source window You may also use the stack depth as an argument if you place it before the e le This will change the viewing position to stack depth 1 that is the line that called the current function FUNCTION Change the viewing position COMMAND stack e e function Co
312. iling results of all functions in the output window type pe cproinfo To dump cumulative profile information of all functions in file hello cpr type cproinfo all hello cpr To add function main to the list of profiled functions type cproinfo add main Command Reference 13 81 To remove function main from the list of profiled functions type cproinfo remove main d proinfo pd pe 13 82 Chapter 13 7 ct Function Display a C execution trace From the View menu select Trace Source Level The Trace Window displays the most recently executed lines of code every time program execution is stopped CrossView Pro automatically updates the Trace Window each time execution is halted as long as the window is open ga The command line syntax is number ct Description Display a C execution trace in the Command window corresponding to the last number of machine instructions executed Since the ct command relies on the emulator s trace buffer the ct command will not be implemented on some emulators For each executed line of code the Trace Window displays e The name of the source file e The name of the function e The line number and corresponding source code The window shows all the code executed since the the last time the program halted This command is not allowed when the target runs in the background amp Not available for all execution environments Example To display in the Command w
313. ill be filled with 1 byte and the highest 16 bits will be filled with zeros The ios_write command writes target memory to the host In binary mode for each MAU the number of bytes to be written equals the number of bytes that fits in 1 MAU For a MAU size of 24 bits CrossView Pro will write 3 bytes to the host If the mode is not binary CrossView Pro will write the least significant 8 bits 1 byte of each MAU to the host CrossView Pro opens all files by default in w mode overwriting the opened file if it already exists The optional r specifies to rewind to the beginning of the file when the end of file is reached xvw_variable is a user special variable in CrossView Pro which holds the value of the newly opened stream number This variable can also be used in the read and write commands to read from or write to the file Example To open a new File I O stream type ios open To open file data txt and assign the new stream number to ios_nr type ios_open data txt ios_nr To open file data txt in read only mode and wrap around when end of file is reached type ios_open data txt r r ios_ nr Gs ios_wopen ios_close ios_read ios_write 13 132 Chapter 13 ios _ read Function Read binary data from an I O stream fee The command line syntax is ios_read stream file addressnumber_of_ maus x Description You can specify a File I O stream number or a filename address is the memory loc
314. in RAM You can locate the user vector table at an address in RAM with the VECTAB address control while locating the application When the absolute output file of the locator is formatted using the ieee166 program you should use the command line option saddress of ieee166 to set the start address of the user program When in CrossView Pro you should always reset first with the rst command or from the Run menu select Reset Application The following S record S1 files for burning into EPROMS are installed in the etc directory ml67d sre ROM debug monitor with dual vector table for the C16x ST10 derivatives mext2d sre ROM debug monitor with dual vector table for the Super10 architecture mxcl6xd sre ROM debug monitor with dual vector table for the XC16x architecture Mon 12 Execution Environment 7 The ROM debug monitors with dual vector table are by default configured as follows Resource Start End monitor register bank OFCCOh OFCDFh C16x ST10 monitor code 00000h OOFFFh C16x ST10 monitor data OFDOOh OFD8Fh C16x ST10 application user interrupt 08000h 081FFh vector table XC16x Super10 monitor code oCoo0000h 0CO1FFFh Super10 monitor data ODFOOh ODF8Fh XC16x monitor data OCFOOh OCF8Fh XC16x Super10 application user interrupt 00000h OOFFFh vector table Table Mon 4 ROM debug monitor dual vector table configuration The memory ranges for monitor code data and register bank should be
315. ind a specific line you can use one of several methods amp From the Edit menu select Find Line to open the Find Line dialog box After you enter a line number or select one from the history list in this dialog box and click on the Find button CrossView Pro will change the viewing position to the indicated line number At the first use the Find Line dialog box contains no line number but on subsequent invocations it will show the line number you entered before g Enter the line number on the command line ACCESSING CODE AND DATA all TASKING M daLdVH Accessing Code and Data 6 3 6 1 INTRODUCTION This chapter discusses topics related to viewing and editing the variables in your source program and execution environment including accessing variables and registers viewing and modifying the data space using monitors viewing the source file and disassembling code 6 2 ACCESSING VARIABLES B This section describes how to view and edit your program variables using the debugger You can monitor data so that every time you stop the program CrossView Pro updates the current value The Data Window displays the values of variables and expressions As long as the this window is open CrossView Pro automatically updates the display for each monitored variable and expression each time the program stops Uninitialized variables will not have meaningful values when you first start the debugger
316. indow Alternatively depending on the preferences you set in the Data Display Setup dialog the expression appears in the Evaluate Expression dialog Click the Add Watch or Add Show button to display the result of the expression in the Data Window Click the Evaluate button to display the result of the expression in the output field of the Evaluate Expression dialog To evaluate a complex expression From the Data menu select Evaluate Expression and type in any C expression in the Evaluate Expression dialog box Optionally select a display format Click the Evaluate button E Type the expression into the command edit field of the Command Window followed by a return or click the Execute button For example to find the value of initval in demo c type initval and CrossView Pro will display initval 17 FUNCTION Display the value of a variable COMMAND variable s_ name LN For variables having the same name as an CrossView Pro command use n as format style code Accessing Code and Data Any expression that can be typed into the Command Window can also be typed in the Expression field of the Expression Evaluation dialog box Throughout this discussion expressions can be typed in either location depending on what is convenient Viewing Structures You can also view structures By using any of the methods described above you can print out the entire structure For example recordvar and CrossView Pro
317. indow the last C statements corresponding to the last ten machine instructions executed type 10 ct d cti ctr Command Reference 13 83 ct i Function Display a disassembled trace From the View menu select Trace Instruction Level The Trace Window displays the most recently executed lines of code every time program execution is stopped CrossView Pro automatically updates the Trace Window each time execution is halted as long as the window is open Eg The command line syntax is number ct i Description Display a disassembled trace in the Command window corresponding to the last number of machine instructions executed Since the ct i command relies on the emulator s trace buffer the ct i command will not be implemented on some emulators or implemented differently This command is not allowed when the target runs in the background AN Not available for all execution environments Example To display in the Command window the last 20 disassembled instructions executed type 20 ct i 4b ct ctr 13 84 7 Chapter 13 ctr Function Display a raw trace From the View menu select Trace Raw The Trace Window displays the most recently executed lines of code every time program execution is stopped CrossView Pro automatically updates the Trace Window each time execution is halted as long as the window is open g The command line syntax is number ct r Description Display a raw trac
318. information for CrossView Pro to correlate object code with source code The symbol information is part of the absolute file See also absolute file system startup code A run time library routine written in assembly language source that initializes the target environment before calling main See also main target communication The low level communication between the host and the target system For the most part CrossView Pro handles target communications allowing the programmer to concentrate on the high level information target microprocessor The chip on which the target program runs target system The targeted microprocessor where the embedded application runs terminal window A CrossView Pro window containing all the input and output streams directed to the screen CrossView Pro can display several windows at a time timer breakpoint A breakpoint that halts program execution after a specified number of seconds or timer ticks A timer breakpoint can have a command list trace buffer A target resident buffer that contains the most recent instructions executed by the target microprocessor CrossView Pro uses this buffer to deduce a C trace transparency mode The mode in which CrossView Pro passes user input directly to the emulator Transparency mode is often used when setting up memory maps 15 12 Chapter 15 up level breakpoint A code breakpoint set at the return from a function at a specified stack depth vi
319. ing You may not assign to a constant The value of a constant cannot be changed Check the name that you have specified You may not mix assignment of a scalar and an aggregate An attempt was made to assign incompatible types of data Please check the data types and retry You need to supply a program name CrossView Pro requires a program name to debug on the invocation line 14 28 ERRORS Chapter 14 GLOSSARY all TASKING M daLdVH Glossary 15 3 15 1 WHAT THIS CHAPTER COVERS This chapter defines terms common to CrossView Pro and source level embedded systems debugging Italicized items in definitions are also glossary entries 15 2 GLOSSARY TERMS absolute file The IEEE 695 file abs that contains symbolic debug information and the final executable code of the target system active window The window last selected by the user in CrossView Pro that commands operate on as a default An active window s title appears in a different color on color monitors or inverse video on monochrome assertion A command or set of commands to be executed before every line of source code assessing the application state on validity Assertions are especially useful in tracking down hard to find bugs when other methods fail Individual assertions may either be active or suspended See also assertion mode assertion mode A mode of CrossView Pro operation under which assertions will be executed
320. initialization file xvw ini for following debugging sessions e Click on the Start button to start recording 9 4 7 Chapter 9 gm Enter the gt command with the name of the file to start recording For example enter gt session cmd After you invoke this command CrossView Pro saves every executed command whether using the mouse or manually typed into the Command Window to the file session cmd FUNCTION Save CrossView Pro commands to a file COMMAND gt filename FUNCTION Save CrossView Pro commands to a file and force flushing COMMAND gt Yilename FUNCTION Save CrossView Pro and emulator commands to a file COMMAND gt filename FUNCTION Save emulator commands to a file COMMAND gt filename 9 1 1 ENTERING COMMENTS Every command whether typed into the Command Window or the result of a mouse or menu action goes into the recording file To add comments to a file recording CrossView Pro commands enclose text typed in the Command Window with C comments delimiters and When logging emulator commands refer to your emulator documentation for the appropriate comment characters Command Recording amp Playback 9 5 9 1 2 SUSPEND RECORDING This function acts like the pause button on a tape recorder the recording mechanism stays in place but suspends temporarily CrossView Pro does not save to file any commands you enter while you suspend recordi
321. interpreter distributed with the TASKING EDE Or you can download the Python interpreter from http www python org May 2001 or use win32all exe from http aspn activestate com ASPN Downloads ActivePython Extensions Win32all1 May 2001 Synchronous Calls Replace all occurences of Xfw lt targ gt in the example below by the name of your CrossView Pro executable to make the text applicable Example without events callback import win32com client Python 1 4 requires import ni first Interprocess Communication A 13 class Xfw lt targ gt Xfw lt targ gt via COM wrapper class def _ init__ self cmdline options try self COMobject win32com client Dispatch Xfw lt targ gt CommandLine self COMobject Init cmdline_options except Exception e print Is the Xfw lt targ gt COM object installed using xfw lt targ gt exe RegServer raise e def Execute self text sequence number 0 result self COMobject Execute text sequence_number convert Unicode to Python string retval result 0 str result 1 return retval def test_xfw lt targ gt _com_object xvw Xfw lt targ gt r sd c testdir success result xvw Execute echo Hello from Python print received result success result xvw Execute l d print success success print result success result xvw Execute Shoi print result success result xvw Execute
322. ints Command Reference 13 63 bt Function Set a task aware code breakpoint From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Code Breakpoint to open the Code Breakpoint dialog Fill in the Task ID field g The command line syntax is Vine bt Taskld cmds Description Set a task aware code breakpoint at the specified source line and associate the list of CrossView Pro commands cmds with the breakpoint If no line is given set the breakpoint at the current viewing position The Taskid is the identification of the task as displayed in the Tasks Window or specified by the 1k command When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bt command Example To set a breakpoint for task 4 at the current viewing position type bt w 4 uw To set a breakpoint for task 4 at line 10 which lists all global variables type 10 bt 4 1 g d break b bb bB bd bD bi bI bti btI bu bU 1 Q 13 64 Chapter 13 bti Function Seta temporary low level task aware breakpoint at a machine instruction From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and s
323. io_open Ea The command line syntax is FSS_stdio_close streamnumber Description Close the stream indicated by streamnumber Example To close stream 1 type FSS_stdio_close 1 d FSS_stdio_open Section 10 3 File System Simulation in Chapter 1 0 Simulation Command Reference 13 113 FSS stdio open Function Redirect the output of a stream to a file fee The command line syntax is FSS_stdio_open _filename rwdirection streamnumber Description Redirect the stream indicated by streamnumber to the file filename rwdirection can be an r for read only w for writable or rw for read write Example To redirect stream 1 output so w for writable to the file myfile out type FSS_stdio_ open myfile out w 1 The following command is used to close the stream FSS_stdio_ close 1 d FSS_stdio_close Section 10 3 File System Simulation in Chapter I O Simulation 13 114 Chapter 13 a fw Function Specify workspace address of FLASH programming monitor From the Target menu select FLASH Setup Specify the Flash workspace address EEs The command line syntax is fw address Description You can specify to CrossView Pro to download a FLASH programming monitor to the target to perform the actual flashing With the fw command you specify the data workspace address used by the FLASH programming monitor This address determines the data address only and the code address has a fixed location The flash wo
324. ion 3 4 floating point constants 3 5 format of 3 13 Index 10 7 monitoring 6 12 removing monitored 6 13 show 4 30 special expressions 3 18 specifying variables in 3 8 strings 3 6 watch 4 30 extension language B 3 eye diagram 11 19 F f command 13 103 fa command 13 104 far 6 8 6 15 fe command 13 105 fd command 13 106 FFT power spectrum 11 15 combined with phase 11 18 multi 11 15 multi in lines 11 16 multi in lines and grid 11 17 FFT waterfall 11 15 file system simulation 10 7 15 6 close a stream 13 112 libraries 10 8 redirect output to a file 15 113 redirection 10 7 13 111 summary of commands 13 14 filenames 2 3 fl command 13 107 FLASH programming 11 19 ddd FLASH device 13 104 check FLASH device 13 105 delete FLASH device 13 106 disable protection 13 109 FLASH monitor workspace 13 114 get protection status 15 108 list FLASH devices 13 107 protect FLASH device 13 110 flash_base_address 1 19 Mon 37 flash_chip 1 19 Mon 37 Index flash_chips 1 19 Mon 37 flash_device_num 1 19 Mon 37 flash_direct_access 1 19 Mon 37 flash_monitor 1 19 Mon 36 flash_vendor 1 19 Mon 37 flash_width 1 19 Mon 37 flash_workspace 1 19 Mon 37 floating point constants 3 5 format codes 3 14 formats for variables 6 14 formatter d out to IEEE 695 1 13 a out to Intel Hex 1 13 a out to Motorola S 1 13 formatting expressions 3 13 fp command 13 108 fpd command
325. ion 11 5 Data Analysis in Chapter Special Features Command Reference 13 125 gus Function Suppress or reactivate window updating E The command line syntax is gus on off Description With gus on the GUI updating suppress feature is enabled This means that the graphical windows are no longer updated To reactivate the window updating use the gus off command Example To suppress the updating of CrossView windows type gus on 13 126 Chapter 13 Function Print out information about the state of CrossView Pro Ea The command line syntax is I Description Print out information about the state of CrossView Pro including the CrossView Pro version number the execution environment version information the name of the program being debugged and the number of its files and functions the state of the assertion mechanism the state of output recording the state of command recording the state of target communication recording and the state of search case sensitivity The state of the assertion mechanism tells how many assertions have been defined and whether the overall assertion mechanism is active or suspended it does not tell whether any individual assertions are active or suspended d l a A gt gt gt gt amp Z Command Reference 13 127 ied Function Interrupt enabled debugging From within EDE from the Project menu select Project Options Expand CrossView Pro and select Initia
326. ion and viewing positions 5 7 13 138 syscon 1 21 Mon 37 system stack 6 21 Mon 14 system startup code 15 11 T T command 13 180 t command 13 181 Tab key 4 22 target board Mon 1 Mon 3 application notes Mon 52 connecting CAN Mon 43 RS 232 Mon 41 connection messages Mon 47 connection problems Mon 49 selecting Mon 4 Mon 39 target communication 15 11 target configuration file 1 17 Mon 35 Sim 9 OCDS 6 example Mon 39 target program counter 13 75 target settings 1 16 target state 13 15 target system 1 8 task selection 13 102 td command 13 182 te command 13 183 Terminal Window 4 35 keyboard mappings 10 10 setup 4 36 Index 18 7 TerminateServer 1 24 OCDS 9 timer breakpoints 7 3 timer support Sim 5 title 1 18 Mon 35 Sim 9 OCDS 6 toolbar 4 12 data analysis window 4 37 data window 4 32 memory window 4 29 source window 4 25 stack window 4 34 toolbox 8 11 TQ Components application notes Mon 58 trace C 13 82 disable 13 182 disassembled 13 83 enable 13 183 instruction level 6 26 raw 6 26 13 84 source level 6 25 trace buffer 15 11 Trace Window 4 34 6 25 instruction level 13 83 raw 13 84 source level 13 82 traceback mode 1 5 transparency mode 1 9 11 3 13 157 and CrossView startup 4 6 defined 15 11 entering 11 5 one shot commands 11 3 startup options 11 3 trigraph sequence 3 7 troubleshooting 1 34 4 11 Mon 50 U u command 13 184 ubgw co
327. ions Stepping over a function means that CrossView Pro treats function calls as a single statements and advances to the next line in the source This is a useful operation if a function has already been debugged or if you do not want to take the time to step through a function line by line For example suppose you reach line 59 in demo c which calls the function factorial as in the example above If you give a Step Over command the execution position moves to line 60 of the source code in the main function immediately without entering the source code for factorial CrossView Pro has executed the function call as a single statement 5 12 Chapter 5 If you try to step over a function that contains a breakpoint or that calls another function with a breakpoint CrossView Pro halts at that breakpoint Once execution stops the step over command is complete Therefore if you resume execution by clicking on the Run button or with the C command you do not regain control at the entrance to the function with the breakpoint You can either single step through the rest of the function or select the Run Return from Function menu item to return to the line after the point of entry 5 2 4 STEPPING THROUGH AT THE MACHINE LEVEL While single stepping through code at the source level is informative you might need a lower level approach CrossView Pro can step through a program at the assembly language instruction level While more time
328. ip bootstrap loader BSL These boards are using the TASKING RAM debug monitor for working with CrossView Pro The Ertec EVA167 manual supplied with your evaluation board explains how to connect your board to the host computer For more information on connecting the target board to your host computer see also section 8 Connecting to the Target Board in this addendum To enable the BSL of the C16x the switch S2 on the evaluation board must be set to the position ON Then the bootstrap loader can be activated with a hardware reset Mon 56 Execution Environment 10 2 RIGEL RMB 165 RMB 167 RMB 167SR AND RMB 167CRI The debugger has been tested with the the RMB 165 RMB 167 RMB 167SR and the RMB 167CRI evaluation boards of RIGEL Corporation The TASKING boot program and monitor can be loaded and downloaded by CrossView Pro For more information about the boot program and monitor see section 5 The RAM and ROM Debug Monitor The Hardware Manual supplied with your evaluation board explains how to connect your board to the host computer 10 3 1 ME C167C BOARD The I ME C167C board uses the on chip BSL to load the TASKING boot program and RAM debug monitor Please read section 5 The RAM and ROM Debug Monitor of this addendum first for more information on the monitor The following section describes some details on the configuration for the monitor for the I ME C167C board 10 3 1 DEBUG MONITORS Because of
329. isters contents directly by clicking on the corresponding cell 4 28 Chapter 4 4 6 4 MEMORY WINDOW The Memory Window is shown in figure 4 9 This window allows you to view and edit the target memory Depending on the setting of the Automatically refresh check box in the Memory Window Setup dialog CrossView Pro updates the displayed values every time the program is stopped or only updates the values by user request For example by pressing the Update Memory Window button located on the toolbar es7ec emos EI address 0 1 0x0 OxFA 0x00 0x2 0xC4 0x16 0x4 OxFA 0x00 a 0x6 0x04 0x00 0x8 OxFa 0x00 Oxa 0x08 0x00 Oxc OxFA 0x00 Figure 4 9 CrossView Pro Memory Window To edit the target memory click on a memory cell and type a new value To display another memory region click on an address cell and type a new address CrossView Pro accepts input in symbolic format so you can enter expressions instead of just values CrossView Pro supports multiple instances of the Memory Window If your target supports multiple memory spaces the Memory Window supports them all Refer to the section about memory space keywords to become familiar with the memory space keywords and associated syntax your target system uses Using CrossView Pro 4 29 You can specify the way data appears in the Memory Window by opening the Memory Window Setup dialog From the Settings menu select Memory Window Setup to open this dialog The me
330. ith source lines when i is specified You can enter valid expressions as well for address and count Example To disassemble 4 instructions starting at 3 bytes behind the start address of the function main type dis main 3 4 To disassemble memory for initval 1 instructions starting at the address of the function main type dis main 3 initval 1 To disassemble from 0x2000 up to and including the instruction at 0x2100 and also interleave C source lines of any function resident in that memory range type dis 0x2000 0x2100 i dE dump expression Command Reference 13 93 dn Function Download a file From the File menu select Download Application to download the image part of the file to the execution environment g The command line syntax is dn file Description Download the image part of the specified file to the execution environment If no file is specified use the file specified when CrossView Pro was invoked and from which the symbolic information was read during startup or the file specified in either the N command or the Load Symbolic Debug Info dialog Downloading a file only copies an image part into target memory It will not cause CrossView Pro to re read symbolic information This command is not allowed when the target runs in the background Example To download the current file type dn To download the IEEE file demo abs type dn demo abs To download the hex file test hex ty
331. ize options specified would create a window that would have exceeded the screen size Retry with corrected window size options There is insufficient information to do a structure dump CrossView Pro cannot uniquely identify the structure or part of the structure to be dumped There is no associated source The program counter holds an address which is outside all the address ranges that CrossView Pro knows about This may happen if program execution has reached a file that was not compiled with the g debug switch There is no available source line for the current address pc address CrossView Pro is reporting that the current position has no associated source line This may happen if you are trying to debug a routine that was not compiled with g debug switch or are trying to debug a runtime library routine This does not appear to be a struct or a union The data entered is not recognizable as a structure or union Check the specified variable 14 22 Chapter 14 Timed read I O request could not be queued VMS reported a condition on a timed read i o request that CrossView Pro could not handle If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance Too many args to unset argument You may specify only one macro at a time for example unset name or you may remove all macros at once with unset Too many assertions gt max number The
332. k bc g R CB Command Reference 13 75 CB Function Continue execution in background using the current value of the target program counter fee The command line syntax is exp CB line Description If exp is specified and you are stopped at a breakpoint then the breakpoint count is set to this value If line is specified a temporary breakpoint is set at that line number Note that this temporary breakpoint will overwrite any existing breakpoint at that line The CB command can be used in the command lists of breakpoints to resume execution automatically This command is not allowed when the target runs in the background aN Not available for all execution environments Example To continue execution from the current target program counter type CB To set the breakpoint s count to 4 and continue type 4 CB To set a temporary breakpoint at line 52 and continue type CB 52 d gt g R C st wt 13 76 Chapter 13 a cd Function Disable turn off gathering of coverage information Q From the Tools menu select Coverage if this item was set Eg The command line syntax is cd Description If coverage is supported by your version of CrossView Pro this command disables the coverage system Normally you should disable coverage if you are not interested in the coverage results as this will often improve the performance of the execution environment Example To disable coverage type cd d
333. king the use and possible misuse of pointers global variables and memory mapped I O ports Data breakpoints are not available for all execution environments please check the addendum When setting a data breakpoint you can specify whether the breakpoint stops the program when data is read from written to or both Data breakpoints are implemented in hardware As a consequence the number of allowable data breakpoints is limited by your execution environment A simulator does not have these restrictions Refer to the environment specific addendum for more information You may set a data breakpoint on a local variable but only if the local variable is active CrossView Pro notifies you when program execution passes beyond a local variable s scope and a breakpoint set on such a variable is deleted automatically Data breakpoints for static variables do not have this restriction Note that any local variables placed in registers cannot be tracked with data breakpoints In this case you must use an assertion Refer to the Assertions section later in this chapter for more information 7 8 7 Chapter 7 7 1 3 LISTING AND JUMPING TO BREAKPOINTS Q To see a listing of all of the currently defined breakpoints From the Breakpoints menu select Breakpoints to view the Breakpoints dialog box If you select a code breakpoint you can click on the Goto button to jump to the location in the source code where the selected code
334. kpoint timer breakpoint and sequence breakpoint See also probe point breakpoint window A CrossView Pro dialog displaying all breakpoints and any attached commands C trace window A CrossView Pro window keeping a record of the most recently executed C or machine statements cache Some microprocessors keep a copy of the most recently executed instructions in on chip memory to speed up execution code breakpoint A breakpoint that halts program execution when a particular line of code is reached A code breakpoint can have a command list A breakpoint can be set on a line of source code or at the address of a machine instruction See also count code coverage See coverage command window A CrossView Pro window that gives access to CrossView Pro via a command line interface with history command list A series of CrossView Pro commands and or C assignment statements attached to a code or data breakpoint executed when the breakpoint is hit count The number of times a breakpoint must be hit to finally stop execution Breakpoints are created with a count of 1 The C command may be used to change the count of a breakpoint Glossary 15 5 coverage With code coverage the source line is marked for each source code line that is executed Through code coverage you can find executed and non executed areas of the application program Data coverage allows you to verify which memory locations i e which variables are accessed du
335. l stack variable the function in which it was declared must be currently active on the stack If the local variable corresponding to a data breakpoint goes out of scope due to a return from the function in which it is currently active the data breakpoint will be removed and a message will be printed telling you that the variable is no longer active AN Not available for all execution environments Example To set a breakpoint at the variable count which will all be hit only if the variable is read from memory type amp count bd r Command Reference 13 51 Note that the breakpoint only acts on the lowest byte in memory of this variable To set a breakpoint at address 10 hex that will list all global variables type 0x10 bd b 1 g This breakpoint will be hit if address 10 hex is either read from or written to db break b bb bB bD bi bI bt bti btI bu bU Q 13 52 Chapter 13 bdis Function Disable code breakpoint From the Breakpoints menu select Breakpoints On Windows toggle the check box in front of the breakpoint to enable or disable the breakpoint On UNIX select the breakpoint and click the Enable or Disable button g The command line syntax is number bdis Description Disable the code breakpoint associated with the given number This does not delete the code breakpoint It disables the code breakpoint until you enable it again with the bena command This command does not work on da
336. lashing files for example a ROM monitor in an EPROM flash_direct_access When set to TRUE CrossView Pro performs flash operations using target memory read write accesses When FALSE CrossView Pro downloads a FLASH programming monitor to the target and executes this program to perform the flash operations flash_device_num The FLASH device number flash_workspace The code address where the FLASH programming monitor must be loaded flash_vendor0 The name of the FLASH device vendor flash_chipo The name or type of FLASH device flash_widtho The width in bits per FLASH device flash_chipso The number of FLASH devices used flash_base_address0 The start address of the memory range that will be covered by the FLASH device For the instruction set simulator ISS the following items can be added to this list Field Description map_iram The range where the simulator should simulate internal RAM memory Multiple ranges can be separated by commas map_sfr The range where the simulator should simulate the SFRs and or ESFRs Multiple ranges can be separated by commas map_ram The range where the simulator should simulate external RAM memory Multiple ranges can be separated by commas 1 20 Chapter 1 Field Description map_rom The range where the simulator should simulate external ROM mem
337. last command or to exit CrossView Pro You can reset the board and click the Retry button to reestablish the connection When using a ROM monitor the memory contents are not affected by the reset When the board uses a RAM debug monitor CrossView Pro reboots the monitor using the on chip bootstrap loader and the boot program Some memory is overwritten at startup of the boot program and monitor and your application must be downloaded again using the download command dn or select Download Application from the File menu The RAM debug monitor can only use serial port 0 of the CPU because only that port can be used by the on chip BSL The ROM debug monitors installed in the etc directory use port 0 by default They should be rebuilt when port 1 has to be used The monitors are always configured using 8 data bit one stop bit and no parity ROM RAM Monitor Mon 43 8 2 CAN WINDOWS ONLY ROM RAM monitors and configuration files are available for debugging over the CAN interface First a ROM RAM monitor with CAN support must be downloaded via the RS 232 serial interface The connection will be lost after downloading the monitor because the monitor now tries to communicate via the CAN interface whereas CrossView Pro still uses RS 232 CrossView Pro has to be restarted with CAN support options to establish the CAN connection 1 Download the RAM ROM monitor via the RS 232 interface From EDE select Project Project Options Expand
338. le 1 18 Mon 36 Sim 10 OCDS 7 debugger starting 1 40 debugging and optimized code 3 7 assembly language 12 3 code without symbols 5 14 environment 1 8 multiple programs 12 3 Index notes about 12 1 quitting 1 33 source level 1 8 viewing source while 1 28 debugging an application 1 30 desktop 4 12 DestroyedAllSymbols A 11 development flow 1 12 Device Access Server OCDS 3 di_state command 13 91 diagnostic output and breakpoints 7 27 diagnostics 15 5 dialog boxes 4 17 DidAddSymbols A 11 DidDownloadImage A 11 DidLoadSymbols A 10 dis command 13 92 disassemble memory 13 92 disassembler 1 11 disassembly 6 18 window 15 5 display customizing 4 18 display formats set default 13 103 dmp166 1 11 dn command 13 93 documentation 1 7 dot operand 6 12 download a file 13 93 download image 13 141 downloading files to the execution environment 1 25 dual vector table Mon 11 dump 3 16 6 16 dump command 13 94 dump utility 1 11 Dy command 13 87 e command 5 14 13 96 Index Index 9 EasyCODE 4 9 eC command 13 98 ec command 13 99 echo command 13 100 echo string to terminal 13 20 EDE 1 35 build an application 1 39 load files 1 37 open a project 1 57 select a toolchain 1 36 start a new project 1 40 Starting 1 35 edit source 4 26 ei command 13 101 einit 1 21 Mon 38 embedded development environment See EDE embedded system 15 6 emulator com
339. lease contact the TASKING Technical Support staff for assistance XVW error message or XVW Fatal error message These messages are generated by internal conditions that should not normally occur The message is usually encrypted and should be brought to the attention of the TASKING staff Please contact the TASKING Technical Support staff for assistance Error Messages 14 27 XVW main Cannot continue incomplete initialization CrossView Pro s initialization was interrupted and could not be completed Please re start CrossView Pro and if the condition persists contact the TASKING Technical Support staff for assistance You can t goto a line outside of the current procedure The specified line number is outside the current procedure Change the line number to one within the procedure or enter the correct procedure before executing this command You may not assign from a host system string array The expression given performs an assignment that CrossView Pro can not perform at this time You may not assign from a void function The expression attempts to assign a variable from a void function Please check the return value of the function and verify that you are referencing the correct function You may not assign more than max size bytes to a special variable An attempt was made to assign greater than the maximum number of bytes to a special variable Check the expression for errors and check the variable s spell
340. lement you asked help on 3 Select the Help Help menu item or press the F1 key Opens the help system with information about the active window 4 Hover the mouse pointer over a toolbar button A yellow box shows the title of the button A more complete description is shown in the status bar at the bottom of the screen 4 8 2 USING MS WINDOWS HELP You enter help at a topic that explains the current window or dialog By clicking on links you can follow different paths To return to your starting point click the Back button or open the Options Display History Window and click on the node that you want to return to The Contents tab displays a list of main subjects The Index tab displays a list of keywords that relate to certain topics When you click the Find tab you can search for a string pattern To save time you can iconize the Help Window and maximize it when necessary CONTROLLING PROGRAM EXECUTION all TASKING M ddaLdVH Controlling Program Execution 5 3 5 1 SOURCE POSITIONING When you have the Source Window open and it displays a source file there are two points of reference to keep in mind the execution position and the viewing position The execution position refers to the line of source at the Program Counter address This line is always the next statement or instruction to be executed When you load a file into the Source Window CrossView Pro automatically displays the porti
341. line in the Stack Window is the selected stack level meaning that this line is selected for window operations You can change the selected stack level by clicking on a different line Checking the Stack from the Command Window The stack information is also accessible from the Command Window with the t and T commands The t command reconstructs the program s calling path For instance if you stepped into the function factorial and issue a t trace command t CrossView Pro displays 0 factorial num 0 demo c 105 1 main demo c 59 The numbers to the left indicate the depth of each function on the stack The function at the zero stack level is your current function CrossView Pro tells you the line number where the function was called demo c line_nr and the value of the argument passed num value With this information it is fairly easy to reconstruct your calling path and see what parameter values your functions have received FUNCTION Trace stack to reconstruct program s calling path COMMAND t There is a slight variation on the t command called the T command The two are identical except that the T command also displays the local variables for each function For instance T 0 factorial num 0 demo c 105 locvar x 1 main demo c 59 loopvar 0 sum 0 cvar xff Accessing Code and Data 6 23 FUNCTION Trace stack and display local variables COMMAND T 6 5 3 LISTING LOC
342. lization Enable Interrupt Enabled Debugging E The command line syntax is 1 0 ied Description With this command you can enable or disable interrupt enabled debugging If enabled you can debug while interrupts are enabled and being generated on the target If an interrupt source continues generating interrupts while the target is stopped either by the user or by hitting a breakpoint a following single step will always enter the Interrupt Service Routine This can lead to some problems during single stepping With interrupt enabled debugging interrupts are temporarily disabled after the target has stopped When execution resumes the interrupts are restored Example To enable interrupt enabled debugging type 1 ied To disable interrupt enabled debugging type 0 ied To show the current mode type ied Interrupt enabled debugging is disabled enabled 13 128 Chapter 13 if Function Conditional command execution zee The command line syntax is if expression cmds cmds Description If expression evaluates to a non zero value execute the first group of commands Otherwise the second group of commands if present will be executed This command is nestable Leave a space between if and exp if a b parses as a function call The if statement is used primarily within breakpoint command lists Example If you type if a b 5t C CrossView Pro will trace back five levels on the stack if
343. ll update commands with the graph_clear_updates command Example To retrieve data and show it in window demo type graph_clear_updates demo graph_add_update demo memget data i 100 buffer graph_add_update demo graphm demo show_x_t cxl graph_add_update demo graph demo x_t cxl buffer 0 1 update demo graph_clear_updates update Section 11 5 Data Analysis in Chapter Special Features Command Reference 13 119 graph_clear_updates Function Clear the sequence of update commands i The command line syntax is graph_clear_updates window Description Clear the sequence of update commands for Data Analysis window window This is needed prior to adding new update commands with the graph_add_update command Example To retrieve data and show it in window demo type graph_clear_updates demo graph_add_update demo memget data i 100 buffer graph_add_update demo graphm demo show_x_t cxl graph_add_update demo graph demo x_t cxl buffer 0 1 update demo Gb graph_add_update update Section 11 5 Data Analysis in Chapter Special Features 13 120 Chapter 13 graph_close Function Close a Data Analysis window i The command line syntax is graph_close window Description With the graph_close command you can close the named window Example To close window demo type graph_close demo graph gr
344. lled playback mode see more about playback mode later in this chapter LAN Record and playback modes can never be active at the same time You can record CrossView Pro commands and or Emulator commands When recording on CrossView Pro command level all commands that you type in the Command Window as well as the CrossView Pro command language equivalents of dialog actions and menu selections are saved in a file When you also want to record commands entered in the Emulator Command Window you can record them in a separate dialog or combine them with the CrossView Pro commands From the Command Window you control record mode using either the mouse or keyboard commands To start or setup recording Q From the menu system From the Tools menu select Record CrossView to open the Record CrossView dialog box or select Record Emulator to open the Record Emulator dialog box The Record dialog box contains an Automatically at CrossView startup check box If you select this check box the debugger enters record mode at every startup e Enter the name of the file in the Command file edit field or click on the Browse button to select an existing file The default filename extension is cmd e Optionally select Include emulator commands in the Record CrossView dialog In this case all recorded emulator commands are also recorded preceded by the o command e Click on the OK button to save the current settings into the
345. lue are listed By specifying an option s name the current value of that option is displayed By specifying an option name followed by a valid value the option is set to that new value The options are a sub set of CrossView s so called special variables See Chapter 3 Command Language for a list of all special variables Example To display all options type opt To disable mixing of disassembly code and source lines in the assembly window type jo opt mixedasm off Command Reference 13 159 P Function Print source lines including machine addresses In the Source Window the machine address of the line at the current viewing position is displayed in the address field in the upper left corner EEs The command line syntax is dine P exp Description Print exp lines of source starting at line Jine including machine addresses If exp is omitted print one line If ive is omitted start from the current viewing position Example To print source lines 4 5 6 7 and 8 displaying machine addresses of the current source file type 4P5 do 13 160 Chapter 13 a P Function Print source lines Q C source is displayed in the Source Window E The command line syntax is line p exp Description Print exp lines of source starting at line Jine If exp is omitted print one line If line is omitted start from the current viewing position Example To print source lines 4 5
346. lue of an individual element of an array Enter the name of the array and the number of the element in brackets For instance to find the address and value of the third element of array table enter table 3 Command 0x20C 0 Output Note that CrossView Pro returns the information in the form address value Displaying Character Pointers and Character Arrays The following piece of C code can be accessed in CrossView Pro using the string format codes char text Sample n char ptext text text What is the address of this char array text 0x8200 text a Print it as a string text Sample J ptext What is the contents of this pointer string 0x8200 ptext s Print it as a string string Sample J amp ptext Where does ptext itself reside 0x8210 Accessing Code and Data 6 7 Sizing Structures With structured variables it is especially useful to know the size of a variable In the Command Window you can determine the size of a variable with the sizeof function For instance to determine the size of the structure recordvar enter sizeof recordvar 24 6 2 2 CHANGING VARIABLES With CrossView Pro you can not only view your variables but change them This function allows you to easily test your code by single stepping through the program and assigning sample values to your variables For instance to set the variable initval to 100 enter initval 100 and CrossView Pro confirms ini
347. lue you wish to edit In situ editing will be activated e Specify the new value in the edit control and hit the Enter key If the edited value is not acceptable the debugger will emit an error message and reset the old value 6 30 Chapter 6 When in situ editing is active you can use the Tab key to move the edit field to the next register value or use the Shift Tab key combination to move the edit control to the previous register Use the Esc key to cancel in situ editing When a register is not in view the contents of the Register Window will be updated automatically You can enter any expression in the Registers Window Registers which can be edited symbolically have a special marker just before the register name You can click on this marker to activate the Assign Register Symbolically dialog To access registers from the Command Window use the designation and the register name in the format Sregister value BREAKPOINTS AND ASSERTIONS all TASKING M ddaLdVH Breakpoints and Assertions 7 3 You can use breakpoints to stop program execution at specified locations and return control to the user An assertion is a number of statements executed by the debugger each time the target executes a program line Use assertions to track down bugs the cause of which is very hard to find 7 1 INTRODUCTION TO BREAKPOINTS Breakpoints halt program execution and return control to you There are sever
348. ly displays the invocations without executing them The v option also executes them ccl66 s g Ot ieee demo c addone src demo ilo o demo abs v0 The control program shows the following command invocations without executing them UNIX output demo c c166 demo c o tmp cc6825c src e s g Ot al66 tmp cc6825c src TO demo obj NOPR addone src al66 addone src TO addone obj NOPR 1166 LNK TO tmp cc6825e lno demo obj addone obj 166 c166s lib 166 fp166s lib 166 rt166s lib 1166 LOC TO tmp cc6825f out tmp cc6825e lno PR demo demo ilo ieeel66 tmp cc6825f out demo abs The e option removes output files after errors occur The NOPR assembler control suppresses list file generation The TO control has the same function as the o option of the other tools and specifies the output filename The PR control of the locator specifies the basename of the map file 1 44 Chapter 1 s The demo ilo file contains the following locator invocation controls RESERVE MEMORY 00200h to OOFFFh OFCCOh to OFCDFh OFDO0h to OFD4Bh Monitor code and data Monitor register bank Monitor data se Ne Ne SECSIZE C166 US 40 NOCHECKCLASSES No classes check The RESERVE control reserves areas used by the several debug monitors The SECSIZE control increases the user stack size because the demo program contains a recursive function The NOCHECKCLASSES control tells the locator not to check if all classes have a CLAS
349. lysis Window Scripts in Chapter Special Features for more information Example To set the display mode for window demo using CXL script show_x_t cxl and show demo in the title bar of the window type graphm demo show_x_t cxl bufa graph graphp memeget Section 11 5 Data Analysis in Chapter Special Features Command Reference 13 123 graphmn Function Set Data Analysis window display mode fee The command line syntax is graphmn window script arg Description The graphmn command works similar to the graphm command but it does not update the graph window This can be useful where a graph and a graphm command are followed by each other preventing the redrawing of the same graphics twice Example To set the display mode for window demo using CXL script show_x_t cxl and show demo in the title bar of the window type graphmn demo show_x_t cxl bufa graph graphp memeget Section 11 5 Data Analysis in Chapter Special Features 13 124 Chapter 13 a graphp Function Position Data Analysis window on the screen fee The command line syntax is graphp window Jeft_top_x left_top_y width height Description With the graphp command you can position the named window at the specified screen coordinates Example To put window demo at position 0 0 on the screen with a size of 100x100 type graphp demo 0 0 100 100 d gt graph graphm Sect
350. m the File menu select New Project Space The Create a New Project Space dialog appears 2 Give your project space a name and then click OK The Project Properties dialog box appears 3 Click on the Add new project to project space button The Add New Project to Project Space dialog appears Overview 1 41 4 Give your project a name and then click OK The Project Properties dialog box then appears for you to identify the files to be added 5 Add all the files you want to be part of your project Then press the OK button To add files use one of the 3 methods described below f lt Detault Settings gt Directories Members Tools Errors Filters demo 1 Project Project C target examples demo demo pit By demo 0 Files Files Add new file Add existing files Scan existing files e If you do not have any source files yet click on the Add new file to project button in the Project Properties dialog Enter a new filename and click OK e To add existing files to a project by specifying a file pattern click on the Scan existing files into project button in the Project Properties dialog Select the directory that contains the files you want to add to your project Enter one or more file patterns separated by semicolons The button next to the Pattern field contains some predefined patterns Next click OK e To add existing files to a project by selecting individual files click on the Add existing
351. made in order to display data Set the display mode for the desired window using the graphm command For example graphm demo show_x_t cxl Special Features 11 13 demo will be shown in the title bar of the window It is also the name used to refer to the window Retrieve data from the target into a buffer using the memget command For example memget int 0x0 i 128 Sbuffer i is the iterator to walk 128 times through the expression Note the retrieved elements are assumed to be equidistantly placed in memory and store the results in buffer Optionally the buffer contents can be appended to another buffer using the bufa command in order to maintain a limited history For example bufa all_data buffer 1024 Transform the buffer contents to displayable data using the graph command For example graph demo x_t cxl Sbuffer 0 1 For details of the arguments provided to x_t cx1 see below Now a used buffer can be freed using the bufd command if the target data is not to be used anymore Steps 1 and 2 can be repeated as many times as desired The display mode can be changed at any time by issuing a graphm command for the window to be changed Using the graphp command a window can be positioned anywhere on the screen 11 5 1 SUPPLIED DATA ANALYSIS WINDOW SCRIPTS B The following scripts and commands are described for completeness Normally you will not use the commands
352. mation point in the definition is necessary to prevent infinite recursion It tells CrossView Pro to take the command literally and to not expand it into a macro definition For example 66 b CrossView Pro interprets this command as the standard breakpoint command and places a breakpoint at line 66 despite the macro definition for b Be sure not to have any space between the command and the exclamation point Otherwise CrossView Pro may interpret the as the C not operator Defining and Using Macros 8 11 8 5 USING THE TOOLBOX The CrossView Pro toolbox shown in figure 8 2 is controlled from the View menu Using the Tools menu you can configure the toolbox and define the macros for it You can resize the toolbox to the size you want Figure 8 2 CrossView Pro Toolbox 8 5 1 OPENING THE TOOLBOX To open the toolbox amp From the View menu select Toolbox AN The Toolbox is a pop up window that remains on top of the CrossView Pro Desktop while you work in other windows 8 5 2 CONNECTING MACROS TO THE TOOLBOX To configure the toolbox select Toolbox Setup from the Tools menu to view the Toolbox Setup dialog box shown in figure 8 3 This dialog box displays the toolbox buttons and an alphabetized list of the current macro definitions To connect a macro to a toolbox button Q Follow these steps e Click on the button you wish to change e Scroll through the macro list to highlight the desired function
353. maximum number of assertions allowed is max number as shown in the error message Remove a previous assertion before trying to add one or reinvoke CrossView Pro with the a option to increase the maximum number of assertions Too many breakpoints gt max_number The maximum number of breakpoints allowed is max number as shown in the error message You must explicitly delete a breakpoint before adding any new ones Alternatively you could re invoke CrossView Pro with the b option to increase the maximum number of breakpoints Too many locals gt max number Eliminate some existing locals or reinvoke CrossView Pro with the s switch to increase the number of locals allowed Too many modules The symbol file describes an application that was constructed from more than 1818 modules Too many processes gt max number CrossView Pro allows only one process to be debugged Too many streams gt max number The maximum number of I O streams max number has been reached You must eliminate an I O stream before adding a new one Trace size is required The required format of the command is exp ct where exp is the number of statements to trace Re enter the command with a value for exp Error Messages 14 23 Type r to run program from power on conditions or c to continue with current program pointer This is to inform you that command r is not implemented and that you should used r or c Type of command line
354. md R session log UNIX xfwl66 timeout 120 tcfg siml166 cfg p session cmd R session log This command must be issued in the temporary directory After the execution has ended the file session log contains a transcript of the commands 6 Save the output files and clean up or remove the temporary directory This must be done because the xvw ini file has been modified now If CrossView Pro would be started again in the temporary directory the file session cmd would be executed again The timeout 7_seconds command activates the batch operation mode of CrossView Pro It causes CrossView Pro to terminate when the specified 9 12 Chapter 9 amount of time has elapsed which is crucial in batch processing if a program does not terminate the timeout will terminate CrossView Pro so that the next program in the batch can be executed CrossView Pro will also terminate in the batch mode if a modal dialog pops up since this requires user interaction to continue Before CrossView Pro exits the text in the dialog will be written to the log file A special case of this dialog is the End of program reached dialog For this reason the line __ EXIT bi has to be added to the cmd file so it is possible to do some things for example read registers modified by a machine code program after the program is finished If the breakpoint at __EXIT is absent Cross View Pro immediately exits after having executed the R command so any consecu
355. me when invoking the debugger Specifying a baud rate different from the one the execution environment is configured to expect Not supplying power to the execution environment or an attached probe Using the wrong kind of RS 232 cable Plugging the cable into an incorrect port on the execution environment or host Some target machines and hosts have several ports Installation of a device driver or resident application that uses the same communications port on the host system The port may already be in use by another user on some UNIX hosts or being allocated by a login process Specifying no or an invalid CPU type with the C option Overview 1 35 1 6 9 BUILDING YOUR EXECUTABLE The subdirectory xvw in the examples subdirectory contains a demo program for the C166 ST10 toolchain In order to debug your programs you will have to compile assemble link and locate them for debugging using the TASKING C166 ST10 tools You can do this with one call to the control program or you can use EDE the Embedded Development Environment which uses a project file or you can call the makefile from the command line If you want to build a complete C166 ST10 executable application the module containing the C function main is treated like a reset task and therefore must be linked with C startup code All tasks must be linked with a library that contains among run time routines functions such as printf The C startup code is incl
356. ment are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the bU command Breakpoints set in the Stack Window are always temporary meaning they will be deleted after the first time you reach them A breakpoint set in this manner will not be visible in the Source Window This command is not allowed when the target runs in the background Example To set a temporary up level breakpoint immediately after the call to the currently viewed function type bU To set a temporary up level breakpoint immediately after the call to the function at stack level 2 type 2 bU 1 Command Reference 13 69 After stopping this command will cause CrossView Pro to print out the function s local variables and arguments d break b bb bB bd bD bi bI bt bti btI bu Q 13 70 Chapter 13 a bu Function Set a permanent up level breakpoint to finish the function at a specific stack level Click on the desired function in the Stack Window and select Stack Breakpoint After Call to Function from the Breakpoints menu To make the stack breakpoint permanent select Breakpoints from the Breakpoints menu select the desired stack breakpoint and click on the Edit button The Edit Code Breakpoint dialog appears Click on the Advanced gt gt button and disable the Remove when hit check box Ea The command line syntax is stack bu commands D
357. menu select Macro Definitions to open the Macro Definitions dialog box e Click on the macro that you want to see e The Commands box shows a part of the macro If you need to see more click on the Edit button g Type the echo name command in the Command Window For instance to see the definition for the st macro echo st Command e main C 56 Output FUNCTION Display macro expansion COMMAND echo name 8 2 2 REDEFINING A MACRO If you want to change the definition of a macro amp From the Tools menu select Macro Definitions to open the Macro Definitions dialog box Click on the name of the macro you want to change and click on the Edit button In the Command Window use the set command again but enter an exclamation point after the macro name For instance to redefine the macro st which was defined in the example above use the command set st e main C 56 8 6 Chapter 8 Now the st macro changes the viewing position and restarts program execution placing a temporary breakpoint at line 56 Be sure you do not include a space before the exclamation point Otherwise CrossView Pro may interpret the as the C not operator 8 2 3 SAVING MACRO DEFINITIONS TO A FILE S7 You can save all the macros you define in a debugging session in an external file This way you do not lose the definitions when the program ends To save macros to an external file Follow these step
358. mers Mark Hammond amp Andy Robinson 1st Edition January 2000 1 56592 621 8 A 16 Appendix A 7 1 5 2 VISUAL BASIC EXAMPLES Replace all occurences of Xfw lt targ gt in the example below by the name of your CrossView Pro executable to make the text applicable Synchronous Calls This example demonstrates plain commands being executed in CrossView Pro without receiving any events from CrossView Pro Dim Xvw As Object Dim Result As String here we invoke the PowerPC xvw replace xfw lt targ gt by your executable name Set Xvw CreateObject Xfw lt targ gt CommandLine Call Xvw init Call Xvw Execute I Result 0 MsgBox Result End Events Callback Visual Basic provides a special feature WithEvents to connect to the connection point of a COM interface It is also available in VBA 5 0 You must use WithEvents in a variable declaration There is a catch however you can only use it in a class module including form modules and it must appear in the declaration section You cannot declare a variable using WithEvents in the body of a procedure For this example first select Xfw lt targ gt type library in the Project References dialog 1 In Microsoft Word or Microsoft Excel start the Visual Basic editor and go to Tools References or In Visual Basic go to Project References AN Note that VBA differs from VB See the Word example for VBA 2 Search and check the CrossView COM Inter
359. mmand 13 185 UIDPATH 2 3 unset command 13 186 Index update command 13 187 update windows 13 184 13 185 updating makefile 1 41 use command 13 188 user defined functions 1 7 user stack 6 21 using EDE 1 35 vV variables 3 7 and case sensitivity 3 20 and scoping rules 3 9 casting 5 7 changing 0 7 determining the size of 0 7 formats of 6 14 global 6 10 global variables 3 8 local 15 7 local variables 3 7 scope 15 9 special 15 10 special variables Pages 3 9 specifying in expressions 3 8 static variables 3 7 user defined special variables 3 12 ViewedLineNrChanged A 10 viewing position 3 9 5 3 changing the 5 4 5 7 defined 15 12 establish 13 96 establish at address 13 101 sync with execution position 5 7 W wait for target completion 13 189 waiting 11 26 Index Index 19 window update reactivate 15 125 suppress 15 125 windows 4 21 active 4 16 15 3 automatic switching between source and assembly 3 10 closing 4 16 command window 4 22 customizing 4 18 data analysis window 4 37 data window 4 30 help window 4 38 memory window 4 28 opening 4 15 pop up 4 38 register window 4 27 selecting 4 16 source positioning 5 3 source window 4 24 stack window 4 33 terminal windows 4 35 toolbox 4 38 trace window 4 34 workspace file cws 1 33 write to an I O stream 13 136 formatted 15 157 wt command 13 189 X x command 13 190 X Resources 2
360. mmand Window For more information on executing a program see the chapter Controlling Program Execution 1 30 Chapter 1 e 1 6 5 DEBUGGING AN APPLICATION When debugging your application you probably want to see the calling sequence of your program and inspect the contents of variables and data structures used within your program To see the calling sequence of your program the Stack Window must be open The stack window shows the functions that are currently on the stack To open the stack window e From the View menu select Stack To see the value of the local variables of a function e From the View menu select Data Watch Locals Window Cross iew Pro Demo abs OL x File Target Edit Run Breakpoints Data Tools Settings View Window Help Bl Bl co did mm gt D gt ILE SE G2 G2 SEY we Source demo c n gt h 2Bvw AVN w 2B void main void int loopvar the loop counter af long sum will be 17 sum of factorials from 0 to 7 char cvar sample char variable ty if initval gt faama Nitd a All Local Variables d Aes 29 LOCAL loopvar n lt dead gt LOCAL sum n 1 LOCAL cvar n lt dead gt gt recordvar n recordvar n struct rec_s recordvar struct rec_s a 1 1 0x1028 TASKING 0x1028 TASKING 987654321 987654321 color blue color blue n Stack 5 x prst SEN RQ recordyar n O main demo c 47 Figure 1 9 Watch variables Overview 1
361. mmunicate directly with the execution environment Most of the time CrossView Pro will handle all the low level communications freeing you to concentrate on the high level C code Depending on the type of execution environment however you may have to enter transparency mode to set up the execution environment when the machine is first turned on To enter transparency mode amp From the View menu select Command Emulator All commands entered in the Emulator Command Window are passed directly to the execution environment To exit transparency mode E From the View menu select Command CrossView In CrossView Pro you can pass a string directly to the execution environment without leaving CrossView Pro with the o command o map This passes the command map directly to the execution environment while you remain in CrossView Pro Naturally you will have to learn your execution environment s command set to make use of the o command FUNCTION Pass a command to the execution environment COMMAND o string AN Do not issue one shot transparency commands that result in large output or otherwise require intervention other than a carriage return to terminate output Instead enter transparency mode first then issue the command You may also enter transparency mode upon startup with the T option See the section on startup options 11 4 Chapter 11 m 11 2 RTOS AWARE DEBUGGING CrossView Pro supports RTOS
362. mory accesses to set the device in programming mode These accesses must occur in a given time interval So if the interface between CrossView Pro and the target is rather slow for example an RS 232 interface you can better choose to download a FLASH programming monitor do not use target memory accesses The Use target memory accesses to program flash devices check box in the Flash Setup dialog specifies the type of access to the FLASH device To setup a FLASH device Q From EDE From the Project menu select Project Options The Project Options dialog appears 2 Expand the Application FLASH Setup entry Specify On Chip Flash or specify an External Flash Chip Se From CrossView Pro From the Target menu select FLASH Setup The FLASH Setup dialog appears 2 Click Add to specify a FLASH device The Add FLASH Device dialog appears 3 In the Device type box double click on the name of the manufacturer of the device 4 Select a flash device Special Features 11 21 5 Click on the Base address edit field and enter the start address of the memory range that will be covered by the FLASH device 6 In the Chip width field select the width of the FLASH device 7 In the Number of chips field enter the number of FLASH devices that are located in parallel For example if you have two 8 bit devices in parallel attached to a 16 bit data bus enter 2 8 Click OK The FLASH Setup dialog appears again and
363. mory contents can appear in many formats including ASCII character hexadecimal decimal signed unsigned and floating point formats You can specify the size of the memory window You specify the number of memory cells that appear within the window The number of cells is fixed in the sense that if you re size the window the number of cells does not change Besides the current value of memory locations the Memory Window also displays whether memory locations have been accessed during program execution This is called data coverage An application program may read from write to or fetch an instruction from a memory location Of course all combinations may be legal Although writing data to a memory location from which an instruction has been fetched is suspicious All types of accesss read write fetch or combinations of these can be shown using different foreground and background colors The color combination used to show rwx access are specified in the Desktop Setup dialog Change the background color if instructions are fetched from a memory location and change the foreground color to show read and write access You can display data coverage information in the Memory Window by clicking on the Coverage button in the Memory Window or by setting the Display data code coverage check box in the Memory Window Setup dialog The Memory Window has the ability to highlight memory cells of which the contents have been changed Click on t
364. mp the first 5 bytes of the function main as 1 string type dump main main 10 M main sre a To append the first 5 bytes of the function main as 1 string type dump main c5 To dump the resulting value bytes of the address of main binary anded with 3 type dump main 1 main amp 3 Gb dis expression 13 96 Chapter 13 7 e Function Establish viewing position From the File menu select Open Source to view a file In the Source Window click on the Find Symbol button to find a function or select Find Symbol from the Edit menu In the Stack Window click once on the function to be examined g The command line syntax is e file function stack e Description The e option invokes two distinct commands The first version establishes the viewing position to be the first line of file the first executable line of the function function or the current viewing position if no argument is given The second version establishes the viewing position to be the line at stack level stack in the stack trace See the t command The stack e command is not allowed when the target runs in the background The L command is equivalent to 0 e Example To view the function main type e main To view the test file test c type e test c To view the call site of the current function type 0e Command Reference 13 97 To view the line at stack level 3 type 3 e lo ei L p P 13 98 Chapter 13
365. munication setup 1 24 emulator mode 1 9 environment variable LD_LIBRARY_PATH 2 3 UIDPATH 2 3 error messages alphabetical listing of 14 1 Esc key 4 22 et command 13 102 EVA Mon 40 EVA165 application notes Mon 55 EVA167 application notes Mon 55 EVA167AA application notes Mon 55 evaluate expression 13 17 event A 26 events A 8 A 27 AssertionsChanged A 11 BreakpointsChanged A 11 CmdAnnotatedOutput A 11 CommandCanceledByUser A 9 CommandinterpreterBusy A 8 CommandInterpreterReady A 9 DestroyedAllSymbols A 11 DidAddSymbols A 11 DidDownloadImage A 11 DidLoadSymbols A 10 HaltButtonPressed A 9 MenuEntrySelected A 11 Quit A 12 Reset A 10 kesetProgram A 10 Running A 9 RunninginBackground A 9 SourceFileChanged A 10 Stopped A 9 ViewedLineNrChanged A 10 example starting EDE 1 55 using EDE 1 35 using the control program 1 42 using the makefile 1 45 exec A 24 execext A 23 executable building for CrossView 1 35 Execute A 6 ExecuteNoWait A 7 executing an application 1 28 execution control commands summary of 13 8 execution environment Mon 1 Sim 1 OCDS 1 connecting to CrossView 4 6 downloading files to 1 25 execution position 5 3 changing the 5 5 definition of 15 6 sync with viewing position 5 7 exit 4 20 exponential notation 3 5 expression evaluator 1 4 expressions 3 3 C character codes 3 6 character constants 3 6 evaluating 0 11 evaluation precis
366. n and click on the Start button to start recording To suspend recording click on the Suspend button To resume recording click on the Resume button To stop recording click on the Stop button E The command line syntax is note that the greater than sign must be typed as shown gt fle t f c Description CrossView Pro will start recording commands in a file if file is specified otherwise turn recording on t off or close c the recording file Specifying a different file while recording is on will cause the old output file to be closed and all successive commands will be sent to the new file If no arguments are given the state of the recording mechanism will be displayed The optional Y forces flushing of the output after every write The commands recorded can be played back by using the lt or lt lt command It is possible to have a command recording file and a screen output recording file to be open concurrently The file is also closed as a side effect of the q command Commands issued to the emulator under transparency mode are not recorded Files may not be named t f or c Example To set or change the command recording file to command cmd and turn command recording on type gt command cmd Command Reference 13 27 To suspend recording commands type gt f To resume recording the commands to the recording file type gt t To stop recording commands and close the file type gt
367. n and display of macros To create a macro select Macro Definitions from the Tools menu Click on the New button and add a new macro g The command line syntax is set name cmds Description The set command allows for definition and display of macros If name and cmds are supplied a macro entry is made associating the name with the commands If only name is supplied the body of the specified macro is displayed If no arguments are supplied the names of all currently defined macros are displayed Macro definitions must contain the body of the macro in double quotation marks Macros may take arguments In the body of a macro formal arguments are referred to as n where n is the argument number starting from 1 It is important to understand that macro expansion takes place for all names Therefore if you wish to pass the name of an existing macro to a command such as set you must escape it with to keep CrossView Pro from expanding the name Example To display the names of all currently defined macros type set To display the body of the macro named macro type set macro To define macro to be a macro which lists the registers then enters the function given by its first argument type set macro 1 r e 1 13 176 Chapter 13 7 To invoke this macro you might type for example macro main d unset echo save Command Reference 13 177 Si Function Single step machine
368. n the Find button Alternately you may click on the desired source line in the Source Window eee Enter the line number in the Command Window The syntax is line Description The current viewing position becomes line Example To display the twelfth line in the current source file type 12 eer 13 20 Chapter 13 string Function Echo a string to the terminal fee Enter the string to the Command Window Description A string may contain standard C escapes such as n for a newline The syntax for a string in the Command Window is string Example This function can be useful for labelling breakpoints For example to insert a breakpoint at line 12 and have a message printed when that line is reached enter 12 b At the twelfth line n C When CrossView Pro reached line 12 the message At the twelfth line will be printed and the program will continue If you only type Debug CrossView Pro will simply echo the word Debug d gt Q expression Command Reference 13 21 Function Instruct CrossView Pro to interpret a command literally ignoring any macro definitions of the same name Also enter a shell command Eg The syntax for this command is string or string Description This command is useful whenever string should be treated literally and not as a potential macro invocation It can be used for example in executing an CrossView Pro command whos
369. n the Resume button To turn off logging click on the Stop button E The command line syntax is gt 1 file t c Description Start GDI accesses logging in a file if file is specified otherwise turn logging on t off f or close c the log file This feature is most often used to diagnose problems with the Debug Instrument The optional Y forces flushing of the output after every write The commands captured cannot be played back the way commands recorded by the gt command can The log file is also closed as a side effect of the q command Example To open the file gdi 1log and start logging GDI accesses in this file type gt gdi log To stop logging GDI accesses and close the file type gt c d gt gt gt q Command Reference 13 37 Function Display contents of preceding memory location based on the size of the last data item displayed E The command line syntax is format Description Use previous format or format if supplied Formats have the syntax count style size count is the number of times to apply the format style and defaults to 1 style may be one of acDOUXdouxEFGefgiInPpst d gt See Chapter 6 Accessing Code and Data and section 3 5 Formatting Expressions in Chapter 3 Command Language for details on each of the format styles size indicates the number of bytes to be formatted Rather than a number for the integer type styles size can also be c for char
370. name 7 3 names 7 13 patching code with 7 25 permanent 7 4 permanent low level 13 55 task aware 13 65 permanent up level 13 70 probe point 1 5 7 4 quiet reporting of 7 22 reset count 7 3 7 14 restrictions on OCDS OCDS 5 sequence 7 15 set at beginning of function 13 43 set count 13 45 setting 1 28 7 8 from command window 7 10 from menu 7 9 from source window 7 9 from stack window 7 10 setting the count of 7 14 strings 7 22 system startup code 7 7 task aware code 13 63 permanent low level 13 65 temporary low level 13 64 temporary 7 4 7 12 temporary low level 13 54 task aware 13 64 temporary up level 13 68 time 13 66 13 67 timer 7 3 up level 7 23 while loops 7 6 BreakpointsChanged A 11 bslack 1 20 Mon 36 bt command 13 63 btl command 13 64 bti command 13 65 bTIM command 13 66 13 67 bU command 13 68 bu command 13 70 bufa command 13 72 bufd command 13 73 bxcl16x sre Mon 7 bxcl6xnrb sre Mon 7 bxcl6xnrbe sre Mon 8 C C character constants 3 6 C command 5 12 13 74 C trace 1 5 13 82 C compiler 1 11 c166 1 11 Cable 1 23 OCDS 8 cache debugging with 15 4 CAN Mon 43 interface messages Mon 45 case sensitivity 3 20 13 191 casting values 3 16 6 16 CB command 13 75 cc166 1 11 cd command 13 76 ce command 13 77 character codes 6 14 character codes table 3 6 character constants 3 6 ChipReset 1 23 OCDS 8 clear command 13 78 ClientValue 1 23 O
371. nction Toggle case sensitivity in searches From the Edit menu select Search String to open the Search String dialog box This dialog contains the Case Sensitive check box EEs The command line syntax is Z Description Toggle case sensitivity in searches The initial state of this toggle depends on information in the currently loaded absolute file Use the I command to find out the state of the case sensitivity This command affects everything file names function names variables and string searches 13 192 REFERENCE Chapter 13 ERROR MESSAGES all TASKING M ddaLdVH Error Messages 14 3 14 1 WHAT THIS CHAPTER COVERS The following is a list of common user error messages and some suggested ways to solve the problem CrossView Pro is a complex program running on several hosts From time to time slight differences between the documentation and the program s operations do occur The list of errors presented below and the suggested remedies may not be therefore entirely comprehensive If you get a message that begins with XVW Error or XVW Fatal Error please contact TASKING technical support for help 14 2 ERROR MESSAGES in alphabetical order member name is not defined for enum enum You cannot assign or compare an enum type with a name that is not in the enumeration s members Try casting the enum to a different type save must have a
372. nd case sensitivity and retry You may also enter 1 s to print out all the user and system special defined variables Not enough memory available to start up windows Either use the nw no window option or remove resident programs from memory CrossView Pro has detected that there is not enough host memory to execute the windowing software You may need to use the nw option to start up CrossView Pro in line mode Check whether you have unnecessary processes running in the background or resident in memory 14 18 Chapter 14 Not enough memory to execute shell command The attempt to create a child process for the shell command failed due to the lack of host memory Check whether you have unnecessary processes running in the background or resident in memory Not enough memory to start window mode CrossView Pro has detected that there is not enough host memory to execute the windowing software You may need to use the nw option to start up CrossView Pro in line mode Check whether you have unnecessary processes Not enough space CrossView Pro has detected a general error due to lack of host memory Check whether you have unnecessary processes running in the background or resident in memory Not in known territory Could not set breakpoint CrossView Pro s current location is not in a file or procedure that it knows about The breakpoint request can not be performed Not in window mode The command issued requires CrossVie
373. nd describes what kinds of values should be substituted for italicized terms Expressions in brackets are optional items you may include in a particular command In this example x is not necessary for the ios_read command to work Usually if you omit an optional expression CrossView Pro uses a default value The symbol means or For instance stream file means a stream number or a filename between double quotes but not both can be used in the command 13 4 e Chapter 13 13 2 COMMANDS SUMMARY 13 2 1 VIEWING COMMANDS format exp Display contents of preceding memory location Print value of expression using n format exp formatPrint address of expression exp in format format exp format line clear number ct number cti number ctr Print value of expression exp in format format Move viewing position to line line Clear the Command Output Window Display a source level trace corresponding to the last number of machine instructions executed This command is not available for all execution environments Display a disassembled assembly level trace corresponding to the last number of machine instructions executed This command is not available for all execution environments Display a raw trace corresponding to the last number of trace frames This command is not available for all execution environments e func file stack e addr ei Enter function func or file file o
374. nd exploits the feature of suppressing the fly back of the displayed line 1 Generating window data pairs graph win_title eye cx buffer wrap_limit t_increment t_offset trigger_level trigger_hold_off 2 Setting the display mode graphm win_tiile show_x_t cx low_x high_x low_y high_y displays lines drawn between successive coordinates specified by the window data If x it1 lt x i going back in time no line is drawn from x i y i to x itl y it1 which can be regarded as the fly back suppression in an oscilloscope 11 6 PROGRAM A FLASH DEVICE With CrossView Pro you can download an application file to FLASH memory Before you download the file you must specify the type of FLASH devices you use in your system and the address range s used by these devices 11 20 Chapter 11 There are two ways you can program a FLASH device CrossView Pro can program the FLASH device through target memory read write accesses host target communication or alternatively CrossView Pro can download a FLASH programming monitor to the target to execute the FLASH programming algorithm target target communication The second method is faster however you use temporary target memory to store the FLASH programming monitor and you have to specify a temporary data workspace for interaction between CrossView Pro and the FLASH programming monitor Most flash devices require a sequence of me
375. nd window for instance when you are recording output Using the 1 list command you can find out all sorts of things about the current state of the debugger and have the information appear in the Command window Arguments of the Command a assertions k kernel state data b breakpoints m memory map of application code sections d directory p procedures functions f files modules r registers g globals s special variables For configurations that support real time kernels the 1k command can have additional arguments See the description of the 1 command in the Command Reference for details You may for example view the contents of the registers lr Or the list of procedures that is functions l p a complete list of global variables lg The 1 f command list files also shows the address where CrossView Pro placed the first procedure in the module If the module is a data module then the address reflects the first item s placement With all of these 1 commands you can specify a string l g record and CrossView Pro searches the globals for a match with the same initial characters in this case global variables that begin with record Accessing Code and Data 6 3 EXPRESSIONS 6 3 1 EVALUATING EXPRESSIONS CrossView Pro expressions use standard C syntax semantics and allow special variables You can calculate and show the values of expressions in CrossView Pro by using a variety of method
376. nds will cause this message to be displayed Can t write to a read only SFR The SFR register is a read only register It can not be set or altered Cannot allocate memory for symbol table Allocating memory for storing the symbol table failed Remove some tasks from memory or add more memory to your computer system Cannot allocate symbol table memory buffers The symbol table is too large for CrossView Pro You may need to selectively compile with the g switch only those files and procedures that most interest you Cannot allow that combination of operand s and operator The operand s is are incompatible for this type of operation For example you may not add two structures Please verify the operation and data types you are using Character constant is missing ending Character constants must be delimited with single quotes Example a 14 8 Chapter 14 Command command not allowed while emulator running in background The target is running this command is not allowed unless the target is stopped See the st command couldn t error message VMS is reporting a condition that CrossView Pro can not handle If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance Data already being monitored task id symbol The variable or expression symbol is already being monitored by CrossView Pro You do not need to enter it again
377. necting Target board not responding After the boot program was downloaded and running CrossView Pro did not get the expected response from it See 8 5 Connection Problems for a checklist Connecting no or bad acknowledge from bootstrap loader While downloading the monitor CrossView Pro did not get the expected acknowledge from the boot program CrossView Pro checks this each time a series of bytes is downloaded to the board When CrossView Pro is ready downloading the monitor it gives a GO command to the boot program The boot program then executes a SRST instruction to boot the monitor As soon as the monitor is running it should give a response to CrossView Pro This message is issued when CrossView Pro got no or an unexpected response See 8 5 Connection Problems for a check list Connecting connection lost After CrossView Pro first detected that the monitor was running some initial commands are executed Before the connection is marked as established CrossView Pro does a last check if it the monitor is really alive This message is issued when that check fails ROM RAM Monitor 8 5 CONNECTION PROBLEMS When connection fails or errors occur first check the following e check if you selected the right target board All target boards are defined in a target configuration file cf g You can select the target board with the tcfg option or with the Target Settings menu e check if all parameters in the targe
378. ng but the file remains open and ready to accept input To suspend recording re From the Tools menu select Record CrossView or select Record Emulator Click on the Suspend button In the Command Window use the gt f o gt f command for false FUNCTION Suspend recording CrossView Pro commands COMMAND gt f FUNCTION Suspend recording emulator commands COMMAND gt f 9 1 3 RESUME RECORDING This function is the counterpart of the suspend recording function CrossView Pro resumes adding commands to the current record file Any new command you enter appears in the file they do not affect the commands already saved GY From the Tools menu select Record CrossView or select Record Emulator Click on the Resume button to resume recording Ea In the Command Window use the gt t or gt t command for true FUNCTION Resume recording CrossView Pro commands COMMAND gt t 9 6 Chapter 9 7 FUNCTION Resume recording emulator commands COMMAND gt t 9 1 4 CHECK RECORDING STATUS If at any point you do not remember whether recording is on or off check by Q From the Tools menu select Record CrossView or select Record Emulator If record mode is active the Stop button is enabled If the Start and OK buttons are enabled record mode is off E Enter the gt command in the Command Window This command shows the status of the recording and loggi
379. ng parameters can easily be changed in the mondef h file by changing the defines MON_RB_START The start address of the monitor register bank default OFCCOh ROM_START The start address of the monitor code in ROM ROM_SIZE The monitor code size RAM_START The start address of the monitor data in RAM RAM SIZE The monitor data size Mon 20 Execution Environment VECTAB_APP_START The start address of the vector table of the user application for the ROM dual vector table configuration All vectors except the reset NMI and serial receive interrupt vectors in the monitor vector table jump to a vector table starting at this address in RAM The default is 08000h VECTAB_MON_START The start address of the monitor for the ROM dual vector table configuration Startup configure at NMI C16x ST10 derivatives can enter the bootstrap mode by activating the NMI pin in combination with another port pin When the bootstrap program starts the monitor using the SRST instruction the following may happen 1 the target board has deactivated the NMI pin when the RSTOUT pin went low Then the NMI remains deactivated when the SRST instruction causes the RSTOUT pin to go high again 2 the target board did not deactivate the NMI pin or activated it again at the SRST instruction Now the NMI occurs before starting at the reset vector To cope with both situations the monitor module main c uses a C preprocessor macro NMI STARTUP When this ma
380. ng mechanism For example if you enter gt you might see gt Output logging is OFF Command recording is ON Emulator command recording is OFF Target communication logging is OFF The gt command gives you the status for the different recording mechanisms Output logging and target communication logging are described below 9 1 5 CLOSE FILE FOR RECORDING Closing a file for recording differs from suspending recording in that when you close a file you may not add any more commands to it If you were to start recording again using the same filename the old commands in the file would be deleted Note that this does not exclude editing the file manually by some other means since the file is saved as ASCII text Q From the Tools menu select Record CrossView or select Record Emulator Click on the Stop button to stop recording Command Recording amp Playback a Enter the gt c or gt c command to close the file FUNCTION Close command recording file COMMAND gt C FUNCTION Close emulator command recording file COMMAND gt C 9 1 6 COMMAND RECORDING EXAMPLE For example consider the following command sequence from the Command Window gt session cmd 2 wae Start Recording to File initval p 12 Carriage Return rr Suspend Recording lb sum gt to o o e Resume Recording This is a comment gt c This series starts with a command to record to a file named session
381. ng position to the next not covered block of statements Q Use the scroll bar and click on the desired line E The command line syntax is nU Description If code coverage is supported by your version of CrossView Pro this command enables you to skip to the next block of statements that have not been executed while the program was running on the target Example To move the cursor to the next not executed block type nU d nC pC pU Command Reference 13 157 O Function Enter emulator mode From the View menu select Command Emulator If you know the emulator level command language you can communicate directly with the emulator from this window E The command line syntax is o string Description Pass string to emulator and show the emulator response The o command lets you communicate with the emulator directly via emulator commands Do not issue one shot transparency emulator commands that result in large output or otherwise require intervention other than a carriage return to terminate output Instead enter transparency mode first then issue the command Example To send the string map to the emulator type o map 13 158 Chapter 13 e opt Function Set or display specific options amp Option values can be changed in various dialogs and menus Eg The command line syntax is opt option_name option_value Description If no arguments are passed all options with their current va
382. nical Support staff for assistance file has already been edited going to NEW file The command executed requires that the file be edited only once A new file has been created failed to allocate the SIO tables Entries for recording simulated input output information could not be allocated due to lack of host memory Please contact your system administrator or call the TASKING Technical Support staff for assistance Float not allowed in or operator You may not use the modulus or one s complement operators on floating point types Change the data type to an appropriate type for example integer Float not allowed in bitwise or shift operator You may not use the bitwise amp or or shift gt gt or lt lt operators on floating point types Change the data type to an appropriate type for example integer Framing Error on COM port number The host computer detected a data frame communication error on COM port number Check the host and target communication set up as well as line connections If the problem persists please contact your system administrator or call the TASKING Technical Support staff for assistance 14 10 Chapter 14 can t put something that big in the child process The size of the expression exceeds the buffer size needed to spawn a child process Be sure you have linked end c in your application This module implies space for CrossView Pro in your execution environmen
383. nly one load module in one absolute object file at a time Consequently if there are several absolute files or several load modules within one absolute file you will have to change the context from one to another explicitly Use the N command or the Load Symbolic Debug Info dialog to load the appropriate symbols This does not disturb the state of the target system You can also download the image part of another absolute object file using the dn command without leaving the debugger 12 4 Chapter 12 SALON SNISDNEAG COMMAND REFERENCE all TASKING M ddaLdVH Command Reference 13 3 This chapter contains a summary of all CrossView Pro commands followed by a complete description of each command 13 1 CONVENTIONS USED IN THIS CHAPTER Each CrossView Pro command has a particular syntax that is the form it must take for CrossView Pro to recognize it To help you learn the syntax of each command this chapter uses a special notation to describe the syntax of each command Consider the following example ios_read stream file addressnumber_of maus x Command items in bold font are the actual command keywords typed from the keyboard In the example above ios_read is in bold font since you must type it exactly as shown Items in italics are names of the command part Here stream is in italics since you must substitute the appropriate value for stream The Description section for each comma
384. ns are generally associated with the first line of the clause In an if then else construct the character before the else is associated with the branch around to the end of the statement Consider the following example 22 if a b amp amp 23 c d 24 x 2 25 else 26 y 3 27 Chapter 7 If you try to set a code breakpoint at line 23 CrossView Pro sets the breakpoint on the preceding statement If you try to set a breakpoint on line 22 CrossView Pro highlights line 23 If you set a breakpoint on line 25 it hits after the assignment to x but before the jump to line 27 Notice that it is not hit unless the if clause is true In other words a breakpoint on line 25 is really a break on the not on the else The same behavior applies when the else statement is on the next source line Breakpoints and For Loops and While Loops The code generated for a C for statement has three parts the initialization the body of the loop and the increment test and branch The initialization part and the increment test and branch are different parts of code but are both associated with the for statement itself For example consider 99 for i 0 i lt 9 itt 100 myfunction i 101 A breakpoint placed on line 99 will only be hit once because it is hit at the initialization code The code for the increment test and branch is associated with line 101 not 99 as you might expect
385. nt can perform input and output using GDI callback functions The Debug Instrument I O DIO stream number is passed as parameter to these callbacks The output can be redirected to DDE Windows only The first access to a DIO stream will create a new terminal window and the title of the window will be DIO x where x is is the number of the used stream No new window will be created if the used stream is already mapped to a terminal window You can use the I O Streams Terminal Map dialog to map one or more streams to one window 10 10 Chapter 10 7 10 5 THE TERMINAL WINDOW If you direct I O simulation to the screen CrossView Pro displays the output in the terminal window Similarly if you direct input from the keyboard whatever you input appears in the appropriate terminal window See section 4 6 8 Terminal Window for more information 10 5 1 TERMINAL WINDOW KEYBOARD MAPPINGS The following keyboard mappings being both control codes and escape sequences are supported by the VT100 like terminal mode of the terminal windows Key Character Sequence and or Decimal Value Backspace 8d TAB 9d DEL 127d ESC 27d Insert ESC 2 Prev Page Up ESC 5 Next Page Down ESC 6 Arrow Up ESC A Arrow Right ESC B Arrow Left ESC C Arrow Down ESC D Table 10 1 General Keyboard Mappings 1 O Simulation Display Control The VT100 like terminal mode of the termin
386. nt to 3 and the reset count to 4 You can observe a breakpoint s current count and reset count when you list the breakpoints in the Command Window with the 1 b command FUNCTION Set the count and reset count for a breakpoint COMMAND break type address count count FUNCTION Set the count and reset count for a breakpoint separately COMMAND break ype address count count reset_count reset_count 7 2 5 SEQUENCE BREAKPOINTS A sequence breakpoint is a special kind of breakpoint Only if other breakpoints are hit in a specified order the sequence breakpoint itself will hit To hit a breakpoint without halting the program the breakpoint in the sequence must be specified as a Probe point When a probe point is hit the associated commands are executed and program execution is continued When all specified probe points are passed in the logical sequence you specified the program stops at the last breakpoint in the sequence To set a sequence breakpoint amp Follow these steps e From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box e Click on the Add gt button and select Sequence Breakpoint 7 16 Chapter 7 e Click the Sequence button to open the Edit Sequence Breakpoint dialog box e Select a breakpoint from the Available Breakpoints list box and add it to the sequence with the buttons ADD AND or OR Use the NOT button for a breakpoint that should not be passed
387. ntrolling Program Execution 5 5 To change the viewing position to a specified address you can use the ei command This command is useful for viewing some code in the assembly window without changing the program counter since the execution position is not changed FUNCTION Change the viewing position to address COMMAND address ei 5 1 2 CHANGING THE EXECUTION POSITION S7 There may be times when you want to start or resume execution at a different line than the one marked by the current execution position Exercise caution when changing the execution position Often each line of C source code compiles into several machine language instructions Moving the program counter to a new address in the middle of a series of related assembly instructions is sometimes risky Moreover even though you change the program counter registers and variables may not have the expected values if you bypass parts of the code In the Source Window you can change the execution position to the viewing position with the menu entry Run Jump to Cursor This menu entry is disabled in Source file window mode to prevent problems by skidding pieces of C code which are required to be executed See also the g and gi commands below When the program halts you can change the execution position with the g command in the Command Window The g command moves the execution position but does not continue the program To resume execution from your new execu
388. nu the icon on the top left of the window to manipulate the window The menu Close command in the control menu closes the current window Your implementation of the windowing system may have additional features See your documentation for further details CrossView Pro Demo abs Run Jump to easan Source lines A B BackaroundMode the loop counter will be 17 sum g sample char var allie onGuGr Figure 4 2 CrossView Pro Menus USING Using CrossView Pro 4 15 4 5 1 1 LOCAL POPUP MENUS On MS Windows environments CrossView Pro supports local popup menus Local popup menus are invoked by clicking the right mouse button The menu contents is context sensitive If the mouse pointer is on top of the global main toolbar the Configure Toolbar dialog is shown If the mouse pointer is located in the MDI window task window or background the View Menu is shown which allows you to open new windows Within the Source Window four different local popup menus may appear If the cursor is within the display area of the window the Run Menu is shown The Run Menu contains commands associated with program execution If your cursor is at a breakpoint indicator the Breakpoints dialog is shown If the cursor is on a code coverage marker then the local popup menu contains commands to move the cursor to the next or previous block of not covered statements If your cursor is in the profile column you can
389. numbering can be entirely altered when an assertion is removed MenuEntrySelected id string The menu entry d string was selected by the user Only menu entries created with the AddDDEMenuEntry or AddCOMMenuEntry command are reported CmdAnnotatedOutput lt n gt annotated output Provides the command window output in an annotated form The first line indicates the error status and says OK ERROR or NOT EXECUTED The second line has the form SEQ sequence_number where the sequence number is either 0 or the number specified with the command Although the sequence number is optional it may be omitted in some commands this line is always present The next lines are either output or error messages A label indicates the type OUTPUT or ERROR and the number of lines that follow A 12 Appendix A Example ERROR SEQ 9284 OUTPUT 1 Hello World ERROR 1 No such name xy The reason behind this event is the inevitable merging of all data streams into one when TCP IP server is provided next to for example the DDE server Quit The debugger is about to terminate This is not necessarily the last event nor is it guaranteed that a CommandInterpeterReady event was send before The quit event may not be send at all due to technical restrictions 1 5 COM EXAMPLES 1 5 1 PYTHON EXAMPLES To use COM objects for Python you must first install the Python interpreter and the Win32COM extensions You can use the Python
390. o the command edit field bottom field or select them from the command history list middle field edit and execute them The command history field displays previously entered commands You can select and execute one or more commands The command history list provides you with a clear comfortable way to re execute specific commands or sequences of commands by preserving them in a scrollable list You can switch between the history list and the command edit field by hitting the lt Tab gt key Hitting the lt Esc gt key escape returns you to an empty edit field The top field is the Command Output Window or the Emulator Output Window depending on the type of Command Window you choose Each command echoed from the command edit field appears with a gt prefix CrossView Pro displays its response or the emulator s response if the window is an Emulator Command Window to the command immediately following the command You can use the clear command to clear this window Using CrossView Pro 4 23 CrossView Command CrossView Response Output Window Command CrossView gt initval initval 17 initval Execute Command Edit Field Command History List Figure 4 6 CrossView Pro Command Window The Command Window also has two push buttons that provide rapid access to frequently used actions The Execute button executes the current command or sequence of commands if more than one command is selected Note that t
391. o evaluate a complex expression From the Data menu select Evaluate Expression and type in any C expression in the Evaluate Expression dialog box Optionally select a display format Click the Evaluate button Type the expression into the command edit field of the Command Window followed by a return or click the Execute button 3 3 Chapter 3 Expressions can be any length in most windows and dialog boxes CrossView Pro provides a horizontal scroll bar if an expression exceeds the visible length of the entry field In CrossView Pro C expressions may consist of a combination of numeric constants character constants strings variables register names C operators function names function calls typecasts and some CrossView Pro specific symbols Each of these is described in the next sections Evaluation Precision CrossView Pro evaluates expressions using the same data types and associated precision as used by the target architecture when evaluating the same expression 3 3 CONSTANTS CrossView Pro like C supports integer floating point and character constants Integers Integers are numbers without decimal points For example CrossView Pro will treat the following as integers 5 9 23 The following number however are not treated as integers 5 1 9 27 0 23 Negative integers if they appear as the first item on a line must have parentheses around the number 5 4 This is to prevent confusion with Cros
392. oad jfile Load symbol table of file in CrossView Pro and download the image part to the target This is a combination of N and dn N file Load symbol table of file in CrossView Pro n addr Set code address bias for overlays to addr If no address is given then display the current bias o cmd Enter transparency mode exit with ctrl D If cmd is present pass cmd to the execution environment Not available for all execution environments command line Execute shell command command line or invoke new shell 13 2 10 SAVE AND RESTORE TARGET STATE This feature is only available when it is supported by the debug instrument di_state open state name Open the state with the specified state_name di_state save siate_name number Save the state of the debug instrument with the specified state_name and number di_state restore siaie_name number Restore the state of the debug instrument with the specified state_name and number di_state close siaie_name delete Close the state with the specified state_name delete can be 1 to delete the state or use 0 to keep the state 13 2 11 HELP COMMANDS I Print information about debugger state 13 16 Chapter 13 7 13 2 12 SEARCH COMMANDS Z Toggle case sensitivity in searches string Search forwards in source file for string If string is not present perform previous search again strin Search backwards in source file for string If string is not g g 8 p
393. ogram btargetnrbe sre ml67cr sre for C16x ST10 boards using CAN as communication channel ml67crd sre for C16x ST10 boards using CAN as communication channel but has delay for writing new data This delay is necessary for the CAN dongle that does not have a queue ml67mcp sre for C16x ST10 boards Copies the RAM monitor from ROM to RAM and boots with the reset vector ml67cmcp sre for C16x ST10 boards using CAN as communication channel Copies the RAM monitor from ROM to RAM and boots with the reset vector ml67rvh sre for C16x ST10 boards RAM monitor booting with the reset vector and Virtual output support and hardware flow control ml64r sre for C164 boards with RAM boot with reset vector Use T4 instead of T6 for baud rate mext2b sre same as mext2r sre with the difference that now the new DEBUG interrupt is used for setting breakpoints so the NMI vector is now available for the user application mext2fb sre same as Mext 2b sre but with the exception that the I O is initializazed with the Fractional Divider SOFDV to get higher baud rates Mon 9 Mon 10 Execution Environment Monitor Program Description mext2ib sre same aS mext2b sre with the difference that in the monitor the EINIT instruction is not executed The target will be configured according to the settings of the user application The monitor could become inaccessible when the configur
394. ogramming language you can enter printf 033 H 033 2J fflush stdout Escape Operation Sequence ESC n1 Insert characters ESC n1 P Delete n1 characters ESC n1 L Insert n1 lines ESC n1 M Delete n1 lines Table 10 5 Inserting and Deleting AN Parameter n7 may be left out in which case a value of 1 is assumed I O Simulation Escape Operation Sequence ESC m Turn off all attributes ESC n1 m O turn off all attributes 1 bold 4 underline 5 blinking 7 reverse 8 invisible 22 turn off bold 24 turn off underline 25 turn off blinking 27 turn off reverse 28 turn off invisible Table 10 6 Character Attributes Multiple parameters may be specified simultaneously ESC nl nN m Some attributes or combinations of attributes are mapped to a regular standout mode Parameters may be left out in which case a value of 0 is assumed Escape Operation Sequence ESC 121 Local echo on ESC 12h Local echo off ESC 7h Wrap around on ESC 7 Wrap around off ESC 25h Cursor on ESC 251 Cursor off ESC 921 Enquire after the window s size Response ESC rows columns c Table 10 7 Miscellaneous 10 13 10 14 I O SIMULATION Chapter 10 SPECIAL FEATURES all TASKING M ddaLdVH Special Features 11 3 11 1 TRANSPARENCY MODE Transparency mode allows you to co
395. oid can be used as return type for functions without a return value CrossView Extension Language CXL B 7 2 3 COMPOUND TYPES CXL supports the following compound types e array of char e array of int e array of long e array of float e array of double Example char str 100 strepy str Hello n Structures unions and type definitions are not part of the CXL syntax 2 4 POINTERS Pointer to base type is only supported for parameters and not for other variables Pointers to variables are the result of the address of amp operator and are treated as arrays of the mentioned base type with upper bound 1 Example int myval sub void threetimes int value value 3 myval 10 threetimes amp myval printf d n myval When running this script in CrossView Pro with the cxl command the output in the command window will be 30 B 8 Appendix B 7 2 5 CONSTANTS AND EXPRESSIONS The syntax for expressions is the same as for C The operators and operator precedence are equal The operator is not supported Explicit casts are not allowed Implicit casts are performed automatically like in C When explicit rounding casts are needed you can use the floor function Example floor x chopping floor x 0 5 rounding off to nearest integer Floating point constants below 1 should always be preceded by a zero For example the numbe
396. oject 1 41 address bias set 13 154 addresses in expressions 3 18 specifying format of 6 17 application debugging 1 30 executing 1 28 application notes EVA165 Mon 55 EVA167 Mon 55 EVA167AA Mon 55 I ME C167C Mon 56 PHYTEC KC 161 Mon 58 PHYTEC KC 163 Mon 58 PHYTEC KC 164 Mon 58 PHYTEC KC 167 Mon 58 PHYTEC MM 165 Mon 57 PHYTEC MM 167CR Mon 57 PHYTEC MM 167CW Mon 57 RMB 1065 Mon 56 RMB 167 Mon 56 RMB 167SR Mon 56 target board Mon 52 TQ Components Mon 58 ar166 1 11 argument of a function 3 9 arrays display address of 6 6 display character 3 15 6 6 displaying two dimensional 6 17 viewing contents of 3 16 6 16 assembler 1 11 assembly window hexadecimal display 5 10 intermixed assembly 3 10 pipeline 3 10 source merge limit 3 11 assertion mode 7 28 15 3 assertions 1 5 7 28 15 3 activating 7 28 activating and suspending 7 31 assertion mode 7 28 debugging with 7 33 define or modify assertion 13 39 defining 7 29 deleting 7 32 editing 7 31 quit assertion mode 13 190 Statistics 7 35 Index 4 7 toggle mode 13 38 AssertionsChanged A 11 autosrc 6 19 B command 13 41 b command 13 42 b164nrb sre Mon 8 b167 sre Mon 7 b167a sre Mon 8 b167nrb sre Mon 7 b167nrbe sre Mon 8 b167snrb sre Mon 8 background color 2 5 background mode 11 23 15 3 assertions 11 28 leaving 11 26 local and global variables 11 27 manual refresh 11 24 refresh limitations 11 27
397. ols menu FUNCTION List coverage information to output window or file COMMAND covinfo all module_or_function_namel filename You can display code coverage information in the Source Window by clicking on the Coverage button in the Source Window In this case an extra column appears to the right of the breakpoint toggles to the left of the source line For each source code line that is executed covered the source line is marked W The not executed lines are not marked CrossView Pro has special commands to move the cursor to the next or previous covered or uncovered line FUNCTION Move cursor to next covered line COMMAND nC 11 8 Chapter 11 FUNCTION Move cursor to next uncovered line COMMAND nU FUNCTION Move cursor to previous covered line COMMAND pC FUNCTION Move cursor to previous uncovered line COMMAND pU You can display data coverage information in the Memory Window by clicking on the Code Coverage button in the Memory Window Besides the current value of memory locations the memory window also displays whether memory locations have been accessed during program execution An application program may read from write to or fetch an instruction from a memory location Of course all combinations may be legal Although writing data to a memory location from which an instruction has been fetched is suspicious All types of accesss read write fetch or combinati
398. ols menu select Log Command Input Output Log CrossView Emulator I O or Log CrossView GDI Accesses to select the appropriate dialog box Click on the Stop button to stop logging Enter the gt gt c or gt amp c command in the Command Window to close the Command Output and Emulator Output log files These commands end the recording for the currently specified output log file FUNCTION Close output log file COMMAND gt gt c FUNCTION Close target log file COMMAND gt amp C 9 18 Chapter 9 7 9 5 STARTUP OPTIONS When starting up CrossView Pro you may immediately start recording or playing back files For instance xfwl66 fact p session plays back the commands in the file session A P option single steps through each command prompting you for a return after each command You can also start recording xfwl66 fact r session This command records all your commands just like the gt command to the file session while xfwl66 fact R session logs your commands and screen output to the file session just like the gt gt command You can also use the Automatically at CrossView startup option in the Record Playback and Log dialogs to immediately start recording playback or logging at CrossView Pro startup You can also enter record and playback files via EDE From the Project menu select Project Options Expand the CrossView Pro entry and select Logging Enter your record and play
399. ommand The ubgw all command refreshes all open windows This command is not available if the background mode is not supported check the addendum Example To update the Source Window type ubgw s To update the Memory Window type dj ubgw mem 13 186 Chapter 13 7 unset Function Delete a macro definition From the Tools menu select Macro Definitions to open the Macro Definitions dialog box Highlight the name of the macro and click on the Delete button fee The command line syntax is unset name 3 Description The unset command deletes a macro If name is supplied the specified macro is deleted If no arguments are supplied all currently defined macros are deleted after CrossView Pro confirms your intent It is important to understand that macro expansion takes place for all names Therefore if you wish to pass the name of a macro to a command for example unset you must escape it with to keep from expanding the name Example To delete all macros type unset CrossView Pro will first ask for confirmation To delete all the macro definitions at the same time click on the Delete all button in the Macro Definitions dialog box To delete the macro named macro type unset macro d gt set echo save Command Reference 13 187 update Function Update a Data Analysis window Click on the Update Data Analysis Window button in a Data Analysis window E The comm
400. ommand You have passed an illegal argument to the m data monitor command Legal commands are mexp to set up monitoring idmd_ to delete monitoring of a specific expressions md to delete monitoring of all expressions Illegal third arg to set argument The set command may have only two arguments the name by which the macro is known and the command string to be executed when the macro is invoked Enclose the command string in quotes separating the individual commands with semicolons Refer to chapter Command Reference for more information Improper floating point format length You have specified a format length that is inconsistent with floating numbers Legal lengths are 4 and 8 bytes Improper integer format length You have specified a format length that is inconsistent with integer numbers Legal length are 1 2 and 4 bytes You may also choose b s or I for 1 2 and 4 byte integers Improper string format length You have specified a format length that is inconsistent with character strings Choose a positive number Input buffer overflow CrossView Pro is over running the input buffer Contact your system administrator to either increase the input buffer or lower the communication line baudrate Input communications buffer overflow on COM port CrossView Pro is over running the input buffer Contact your system administrator to either increase the input buffer or lower the communication line baudrate 14 1
401. ommands for initializing registers to values as specified in the target configuration file This way it is possible to setup a configuration for the external memory before downloading the monitor Sending monitor program CrossView Pro now sends the full monitor program to the target board by using the restricted command set of the boot program Booting the monitor After the monitor is loaded CrossView Pro sends a GO command to the boot program and the monitor is started This is done by means of a software reset instruction SRST which causes the CPU to exit the BSL mode The memory previously occupied by the boot program is now free to be used by your application After the SRST instruction it depends on the target board how the monitor is entered When the BSL is activated using the NMI pin of the CPU and this activation is not removed after the RSTOUT pin went high EINIT an NMI interrupt will occur before the reset vector is executed After the NMI interrupt is handled the reset vector will be executed If the NMI pin was not used to initiate the BSL or when activation was removed on change of the RSTOUT pin the NMI interrupt will not occur and the reset vector is the first to be executed ROM RAM Monitor Mon 7 5 Initializing registers The values of the registers specified in the configuration file with the einit field are passed by the boot program to the monitor by storing it at a location in internal RAM This is possi
402. on Forces CrossView Pro to stop target execution You can issue the command via a second conversation A 26 Appendix A event Topic Command Item event Operations Advise Description Reports event occurrences to the client asynchronously An event is reported by a string To ensure capturing all events use an Advise link CrossView Pro only keeps the last event Request is not meant to be used it can only be used after establishing an Advise link Interprocess Communication result Topic Command Item result name Operations Execute Description The name that you specify provides a serve as DDE requestable item to obtain a message which describes the reason why a DDE command failed to execute It does not return the CrossView Pro error message It is always deleted after it has been requested The result prefix is part of the entire command string it makes a distinction between the various commands For example exec execext or halt received via the Command topic 2 3 DDE EVENTS 2 3 1 PACKET FORMAT Each event is wrapped in a record and one DDE message contains one or more of these records This means that multiple events can be received simultaneously in one DDE transaction This is done because DDE can lose combines events when XTYPF ACKREQ mode is selected and because this channel will be redirected to TCP IP in the future for portable IPC support in CrossView Pro To
403. on 0 384 e Ce A et e a gle 3 3 3 2 CrossView Pro Expressions 0005 3 3 33 Constan eed ee es keke a a 3 4 VI Table of Contents 3 4 Variables ives cease EEEE Oke eR EAS 3 7 3 5 Formatting Expressions 0 000 cece eee 3 13 3 6 Operor cient R A kite ethane 3 17 3 7 Special Expressions 000000 c eee eee 3 18 3 8 Conditional Evaluation 0 000 e eee 3 19 3 9 FUNCUONS sis dale A oe Ae he eed ges 3 20 3 10 GaSe Sensitivity soies sng cian Boing ska a gece OX 3 20 USING CROSSVIEW PRO 4 1 4 1 Introductions oner ks ee A E 4 3 4 2 Using the CrossView Pro Interface 4 3 4 3 Starting CrossView Pro 00 00 cece ee 4 4 4 4 Startup Options vex chls soo deere A 4 5 4 4 1 What You May Have Done Wrong 4 11 4 5 The CrossView Pro Desktop 0000 4 12 4 5 1 Menus Girant ea a E a O E aA 4 14 4 5 1 1 Local Popup Menus 0 00000 cece eee 4 15 4 5 2 Window Operation 00 0 cece cee 4 15 4 5 3 Dialog BOXES neg nhc a ee ek a ee ee 4 17 4 5 4 Customizing CrossView Pro 0 eee eee 4 18 4 5 5 CrossView Pro Messages 0000 eee cece 4 20 4 6 CrossView Pro Windows 00 000 e ee eee 4 21 4 6 1 Command Window 0000 c eee eee 4 22 4 6 2 SOULEE Wind Wars cig olsen b Reale had enen Shoe 4 24 4 6 3 Register Window 000 cece 4 27 4 6 4 Memory Window 00 cece eee 4 28 4 6 5 Data Window 2242 fish ite e
404. on or Output if the stream must be an output stream e Click on the Apply button to accept the contents and enter another configuration or click on the OK button to close this dialog box g Enter the ios_open or ios_wopen command in the Command Window to open a File I O stream FUNCTION Open a File I O stream COMMAND ios_open ile model r xvw_variable FUNCTION Open a File I O stream and map the stream to a terminal window COMMAND ios_wopen terminal_window xvw_variable E Enter the ios_read or ios_write command in the Command Window to read from or write to a File I O stream FUNCTION Read from a File I O stream COMMAND ios_read stream file address number_of_maus x FUNCTION Write to a File I O stream COMMAND ios_write stream file address number_of maus x To read 1 MAU hexadecimal value from file mydata dat and store it at address 0x100 type ios_read mydata dat 0x100 1 x 10 6 7 Chapter 10 10 2 2 REDIRECTING I O STREAMS In the I O Simulation Setup dialog you can connnect an I O stream to a terminal window before the stream is opened or you can redirect an existing stream to a file and or terminal window To redirect an I O stream to a file and or terminal window Q From the menu system From the Settings menu select I O Simulation Setup to open the I O Simulation Setup dialog box In the Connection tab select t
405. on of the source code that contains the execution position The viewing position also called cursor is the line currently being examined in the displayed source file Since many Source Window operations act on this line you can think of the viewing position as the current line For instance if you set a breakpoint without specifying a line number CrossView Pro sets the breakpoint at the line marked by the viewing position Please note that it is the viewing position that appears to the left of the Source Window NOT the execution position The execution position and the viewing position refer to the same line when a source file is first loaded into the Source Window You can then change the viewing position if you wish The execution position and the viewing position appear different to distinguish them from the rest of the source code The execution position line appears in the execution position highlight colors while the viewing position appears as a broken line frame also called the cursor Note that a line containing a breakpoint appears in the breakpoint highlight colors A combination of execution position cursor and breakpoint all of which are potentially active on the same line appear accordingly 5 4 7 Chapter 5 5 1 1 CHANGING THE VIEWING POSITION When a program is active the viewing position is always visible in the Source Window You can change the viewing position to move throughout the source f
406. on subdirectory the current working directory and type mk166 Mon 18 Execution Environment The S Record files sre of the boot programs and monitors are created in the mon167 monext2 and monxc16x subdirectories If you need the Intel HEX file format for example for programming into flash instead of the Motorola S record format type mk166 IHEX When you type mk166 clean all files which can be created when building the monitors are removed 5 3 1 DEBUG MONITOR CONFIGURATION PARAMETERS Selection of serial channel The makefiles in the mon167 monext2 and monxc16x subdirectories contain a variable PORT which selects the serial channel the monitor is build for 0 or 1 Please run a mk166 clean before rebuilding the monitor with a different PORT setting Monitor serial channel interrupt and group level The file mon h contains the settings of interrupt level SxILVL and group level SxGLVL of the serial interrupt of the monitor When you have tasks running at a higher interrupt group level than the monitor you cannot break into the monitor when that task is active In this case you should set the defines SxILVL and SxGLVL to a higher value If you want for example PEC transfer to continue while the monitor is active the monitor interrupt group level should be lower than the level of the PEC transfer Memory model The boot program can only be translated in the medium memory model using the special stack fr
407. ons of these can be shown using different foreground and background colors The color combination used to show rwx access are specified in the Desktop tab of the File Options menu item It is advised to change the background color if instructions are fetched from a memory location and to change the foreground color to show read and write access 11 4 PROFILING You can only use this feature if it is supported by the execution environment see the addendum Profiling allows you to perform timing analysis on your software Two forms of profiling are implemented in CrossView Pro Both forms of profiling are fully implemented in the CrossView Pro debugger You do not have to recompile your source code to enable the profiling features Special Features 11 9 11 4 1 FUNCTION PROFILING Function profiling also called cumulative profiling gives timing information about a particular function or set of functions The time spent in functions called by the function being profiled is included in the timing results Within the Cumulative Profiling Setup dialog you select one or more functions to be profiled The gathered profile is shown in the Cumulative Profiling Report dialog For each function the number of calls the minimum maximum average and total time spent in the function are shown Also the relative amount of time consumed by a function in respect to the time consumed by the application is shown Function profile
408. or assistance No current file Undefined special variable file probably due to debugging where no symbols are present Error Messages 14 15 No current line number Undefined special variable line probably due to debugging where no symbols are present No current procedure Undefined special variable proc probably due to debugging where no symbols are present No host memory There is not enough space in memory to execute this command Check whether you have unnecessary processes running in the background or resident in memory No host memory for command There is not enough space in memory to execute this command Check whether you have unnecessary processes running in the background or resident in memory No macros to save file not created CrossView Pro found no macros to save therefore the save command did not create a file No Match pattern CrossView Pro did not find the specified pattern in its search of this file Check your spelling or case sensitivity Use the Z command to toggle case sensitivity if necessary No memory space There is not enough host memory to execute this command Check whether you have unnecessary processes running in the background or resident in memory No more hardware breakpoints available The target system uses hardware breakpoints to support the data breakpoint function To continue you must explicitly delete a data breakpoint before placing a new one No mor
409. orarily To activate marked assertions Open the Assertions dialog box and activate all marked assertions by enabling the Assertion Mode Active check box Breakpoints and Assertions 7 29 Ess In the Command Window enter the A command e Aa activates assertion mode e As suspends assertion mode e A by itself toggles the assertion mechanism The Global Active state activates all assertions Globally activating the assertion mode however does not change how each assertion is marked FUNCTION Activate assertion mechanism COMMAND Aa FUNCTION Suspend assertion mechanism COMMAND As FUNCTION Toggle assertion mechanism COMMAND A 7 10 2 DEFINING AN ASSERTION re To define or edit an assertion e From the Breakpoints menu select Assertions to open the Assertions dialog box e Click on the New button to open a text edit dialog box as shown in figure 7 4 to type in commands 7 30 BREAKPOINTS AND ASSERTIONS Chapter 7 New Assertion Figure 7 4 Defining Assertions E Use the a command followed by a list of commands FUNCTION Create an assertion COMMAND a commands Assertions accept standard C statements and certain CrossView Pro commands as arguments An assertion usually contains a conditional For example suppose you want to create an assertion that watches the value of the global variable initval to see that it s value does not exceed a certain limit In t
410. ory Multiple ranges can be separated by commas psm dll_name The name of the pheripheral simulation module psm166 For the ROM monitor the following items can be added to this list Field Description bslack The bootstrap loader identification byte of the CPU on the board When CrossView Pro receives this byte from the board when making connection it starts the bootstrap sequence Please check your chip manual chapter Bootstrap loader for the definition of this identification byte You can specify multiple identification bytes by separating them with commas boot The filename of the boot program for target boards using a bootstrap loader CrossView Pro searches the boot program in the etc directory of the product or in the current working directory The field can be omitted when the ROM Monitor is placed in ROM or FLASH When this field is omitted CrossView Pro will issue an error when the target board requests bootstrap loading monitor The filename of the monitor program for target boards using a RAM debug monitor to be downloaded on the board using a bootstrap program CrossView Pro searches the monitor program in the etc directory of the product or in the current working directory The field can be omitted when the ROM Monitor is placed in ROM or FLASH When this field is omitted CrossView Pro will issue an error when the target board requests bootstr
411. ou can connect an I O stream to a terminal window before the stream is opened by specifying the stream type filename and terminal window name 10 2 1 SETTING UP FILE I O STREAMS You can set up an input or output stream For input you may specify either a file or the keyboard for output either a file or the screen Each stream has its own identifying number You can also specify the format of the stream s values The default is character but you may want to use hexadecimal or octal values when directing data to or from a file To setup a File I O stream Q From the menu system e From the Settings menu select I O Simulation Setup to open the I O Simulation Setup dialog box e Open the File I O tab to setup a File I O stream e Select the Configure button This opens the File I O Configuration dialog e In the Probe point list box select an existing probe point or press the New button to set a new probe point The Breakpoints dialog appears e In the Stream list box select a stream or press the New button to create a new stream Select a new stream and click OK e Enter the Address and Length in minimum addresable units MAU of the memory location you want to read from or write to e Optionally enable the Use hexadecimal format check box when you want the data to be interpreted as a hexadecimal value I O Simulation 10 5 e Choose the Direction Input if the stream must provide input to the applicati
412. out of handle Define to 0 4 7 4 8 Chapter 4 Startup Option Description D parallel port board_seg Board segment the interface card is using hw_index Index of the hardaware slot 0 1 port_IO_add The memory address used to access the E ISA card interface_card_ID Vendor specific CAN host adapter This number in combination with manufacturer identifies a unique interface card port_id PC I O port number or I O channel used for accessing the E ISA card net_number Locical net number the interface card is using interrupt_nr Interrupt number the CAN interface card is using hw_channel Index of the channel connector 0 1 manufacturer Name of the manufacturer of the CAN interface card Together with the interface_card_ID a unique interface card is defined Note The CAN ROM Monitor must be downloaded first using one of the other communication methods Select parallel communication port For PC this is LPT1 or LPT2 Do not adda colon For UNIX this is the full path of the parallel device driver By default CrossView Pro uses the first parallel port Using CrossView Pro Startup Option Description D tep host port D dev device file D isa io port address easycode f file fss_root_dir path G path L file n address orti file p file Select TCP IP communication On UNIX the standard TCP IP implementation is us
413. ovides a mechanism to generate a Python module which contains this type info and thus speeds up the loading process This is called early binding in the PythonCOM package Python uses the makepy utility to support early bound automation Makepy is a Python script that translates the COM type library to a Python module which wraps the COM object s interfaces Once you use the makepy utility early binding for the objects is automatically supported There s no need to do anything special to take advantage of the early binding Advantages e Method invocation is faster e Constants defined in the type library are available via the COM interface module e It allows much better support for advanced parameter types Especially parameters declared by COM as BYREF can only be used with makepy wrapped objects Disadvantages e The makepy wrapper script depends on the COM object to be wrapped by makepy Generation can be automated e The module that is generated by makepy can be large The file generated for Microsoft Excel for example is about 800 Kb To speed up starting a Python script that loads the CrossView Pro COM object you can generate a Python module with makepy py cd python20 win32com client python makepy py xfw lt targ gt exe This script will place a module in the win32com gen_py subdirectory For more information on COM programming with Python refer to Python Programming on Win32 Help for Windows Program
414. ox you can define several types of breakpoints AN To set a code break point at line number of the C source click the Add gt button and select Code Breakpoint Click the Break At button choose a C module for example demo c and click the OK button Now you can enter a line number to set the breakpoint at Click the Advanced button to get access to various types of breakpoints and to additional breakpoint options Breakpoints 2 x All Code Data Instruction Cycle Timer Sequence Add gt Type Name When Access Count Taskld Internal Temp Probe Commands Eile CODE 0 Ox1c18 1 Fss Renove Remove All Add Code Breakpoint 2 x Break At Eee o Caii Line 8 Cancel Name Task ID Advanced gt gt Figure 7 2 Breakpoints dialog box The last entry of the list is always empty Select it to start defining a new breakpoint Setting Breakpoints from the Source Window You can set or remove a code breakpoint directly from the Source Window by clicking on e The breakpoint toggle next to the source lines in the Source Window 7 10 Chapter 7 To set data breakpoints use the menu as described above Setting Breakpoints from the Stack Window See the section Up level Breakpoints later in this chapter Setting Breakpoints from the Command Window db You can set a code breakpoint from the Command Window using the break code command or the b command and set a data
415. p command can dump both byte MAU sized hex values or C type values for example long or double The resulting output must be interpreted to get the values The basic syntax of the returned values for plain MAU size hex dumps is address value value ASCH dump The basic syntax of the returned values for formatted dumps is address value value For example execute via the Command topic a hex dump command execext dump main 16 The returned text could be 0x2000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 For example execute via the Command topic a formatted dump command requesting 16bit integers execext dump datal 16 d2 The returned text could be 0x2000 0x2010 00000000 00000000 The number of values per line differs This depends on both the size and type of the values as well as the architecture of the processor that is connected to the debugger Interprocess Communication A 31 2 5 3 WRITING INTO TARGET MEMORY To write to target memory use one of the following three methods 1 Assign a value to a variable 2 Use one of the the mF or mf commands For example the following stores the byte MAU sized values 1 2 3 45 in memory starting at memory location 0x2000 0x2000 mF 1 2 3 4 5 3 Write into memory using a type cast For example long 0x2000 0x12345 A 32 Appendix A 2 5 4 REQUESTING CURRENT FILE AND LINE NUMBER To determine the location of the source window cu
416. pe dn test hex dois 13 94 Chapter 13 dump Function Dump a range of memory Q From the View menu select Memory New to open a Memory Window Eg The command line syntax is dump address address count style width filename a Description The dump command can dump memory as hexadecimal data or as C variables You can enter valid C expressions as well for address and count You can also dump Motorola S records or Intel hex records Also you can specify a filename in which the dump is to be written or appended style can be one of acDOUXdouxEFGefgnPpRrsttImM Style I dumps Intel hex and style M specifies Motorola S records output See Chapter 6 Accessing Code and Data and section 3 5 Formatting Expressions in Chapter 3 Command Language for details on each of the other format styles The R and r style are only available for targets that support the fractional type e Mind the following the commas are required e the addresses can also be C expressions e default width is MAU usually byte sized words e additional style M Motorola S records e additional style I Intel hex e a semicolon is a command terminator e the dump is end address INclusive Example To dump the first byte of the function main type dump main Command Reference 13 95 To dump the first 10 bytes of the function main as Motorola S records in the file main sre type dump main main 10 M main sre To du
417. perator These are the data formats used Mon 22 Execution Environment ADDR 4 byte address little endian WORD 2 byte word little endian BYTE 1 byte STRING set of subsequent bytes all non zero terminated by a byte with zero value ROM RAM Monitor Mon 23 5 4 3 COMMAND SET NULL Description Dummy command no action to be performed Token 0 BYTE Parameters none Returns When the monitor supports the EINIT command and the command is not yet executed OxEE BYTE otherwise OxAA BYTE Mon 24 Execution Environment PCTOMEM Description Send number of bytes from host to target Start address and start address count must be in the same 16K page Token 1 BYTE Parameters start address ADDR count WORD data byte BYTE count Returns none MEMTOPC Description Receive number of bytes from target at host Start address and start address count must be in the same 16K page Token 2 BYTE Parameters start address ADDR count WORD Returns data byte BYTE count ROM RAM Monitor POKE Description Write a 16 bit word to target The supplied address parameter must be even Token 3 BYTE Parameters address ADDR value WORD Returns none PEEK Description Read a 16 bit word from target The supplied address parameter must be even Token 4 BYTE Parameters address ADDR Returns value WORD
418. point is hit CrossView Pro will print the value of var1 but will not print the current function line number and source file fb 13 168 Chapter 13 q Function Quit a debugging session Q From the File menu select Exit E The command line syntax is qi s y Description CrossView Pro will prompt you if you really want to quit if you do not specify anything Note that the current desktop settings are NOT saved then Typing q s saves the current desktop settings and quits the debugger without confirmation Typing q y does not save the current desktop settings and quits the debugger without confirmation Inside a command line procedure call it will just quit from this When the target runs in the background CrossView Pro will first stop the target Command Reference 13 169 Function Reset program and begin execution from initial conditions Q From the Run menu select Reset Application and then Run Eg The command line syntax is R Description Reset the application being debugged and begin execution from initial conditions The program counter is set to the start address of the application being debugged This command does NOT perform a hardware reset of the target system That is no registers are modified except for the program counter AN This command is not allowed when the target runs in the background d C g prst 13 170 Chapter 13 7 rawmemget Function Retrieve data from
419. processor m166 listfile mpl assembly file error list file mpe Src a Invocation file assembler a166 list file lst archiver ar166 object library relocatable object module obj lib linker 1166 link stage linked object module lno control program cc166 linker 1166 locate stage absolute object module a out invocation file print file lnl invocation file map file map Motorola S Formatter srec166 IEEE Formatter ieee166 Intel Hex Formatter ihex166 Motorola S records IEEE 695 load module abs Intel Hex records CrossView Pro C166 ST10 Debugger execution xfw166 environment Figure 1 3 C166 ST10 development flow Overview ieee166 ihex166 srec166 xfw166 A program which formats an absolute located TASKING a out file to the IEEE 695 format which has full high level language debugging support The IEEE 695 format is used by CrossView Pro A facility to translate an absolute located TASKING a out file into Intel Hex Format for E PROM programmers No symbol information A facility to translate an absolute located TASKING a out file into Motorola S Format for E PROM programmers No symbol information The CrossView Pro debugger using C166 ST10 execution environments such as evaluation
420. program is executed as a result of a command such as StepInto or Continue CrossView Pro traces all memory access i e memory read memory write and instruction fetch Through code coverage you can find executed and non executed areas of the application program Areas of unexecuted code may exist in case of programming errors or simply dead code which could be eliminated Alternatively it may be that your program input your test set is incomplete it may not cover all paths in the program Data coverage allows you to verify which memory locations i e which variables are accessed during program execution Additionally stack and heap usage can be shown To enable disable coverage From the Tools menu select the Coverage checked menu item When the menu item is checked coverage is enabled Select the menu item again to disable coverage Type the ce or cd command on the command line Special Features 11 7 ce FUNCTION Enable coverage COMMAND ce FUNCTION Disable coverage COMMAND cd Two dialogs are present to give you coverage information The code coverage dialog shows the percentage of executed code within application module and function scope Code coverage information can also be displayed in the Source Window The data coverage dialog shows the data access of HLL variables in the executed program Data coverage can also be displayed in the Memory Window The coverage dialogs can be opened via the To
421. r 15 is treated as invalid this should be 0 15 Strings are defined between double quotes just like in C and are stored with a null character at the end Character constants are defined between single quotes just like in C 2 6 OPERATORS The operators in CXL are equal to the operators and their precedence in C Only the operator is not allowed CrossView Extension Language CXL B 9 2 7 FUNCTIONS Function definitions start with the keyword sub Besides that the syntax is equal to functions in C Example sub int putbit int val int bit int bitval if bitval val val 1 lt lt bit set bit else val val amp 1 lt lt bit mask out bit return val Just like in C functions defined after the call must get a function prototype before the call Also the prototype must be preceded by the sub keyword sub int putbit int val int bit int bitval prototype Function prototypes and function definitions can be nested but must be preceded by the keyword sub They can be used anywhere in the source Following the scope rules a function declaration hides a previous definition when it is defined CXL knows a range of predefined functions See section 3 in this Appendix 2 8 FILE INCLUSION CXL supports file inclusion but in a different way than with C The include statement must be used immediately before a block include file B 10
422. r target is an instruction set simulator Windows b The debugger supports two types of windows primary windows and dialog boxes Dialog boxes are the windows you access from a primary window For the remainder of this manual the term window denotes a primary window This manual also uses the term pop up window A pop up window is a primary window that contains supplemental information such as on line help CrossView Pro Windows are used to display information and to get user input through either buttons commands typed in input fields or menu selections Windows may be moved around the desktop sized or iconized All windows can be opened from the View menu The section on CrossView Pro Windows provides more detail about each window A window is considered opened even if it is iconized under Microsoft Windows this is called minimized A window is considered closed if it does not exist on the desktop in any form Dialog Boxes Certain menu items or push buttons may call up a dialog box to complete an action display information or get additional data No other actions can be performed until the dialog box is closed 4 14 Chapter 4 c 4 5 1 MENUS Each window in CrossView Pro uses the menu as shown in figure 4 2 The method of selection of a menu item varies depending on the windowing system being used See your Windowing System s manual for details of how to do this Each window has a hidden control me
423. r must be running on that board The monitor used for the C16x ST10 or XC16x Super10 and derivatives communicates with CrossView Pro using a binary protocol via an asynchronous serial port or CAN port of the processor This monitor can be present on the target board in an EPROM ROM debug monitor or can be downloaded into RAM by CrossView Pro using the on chip bootstrap loader RAM debug monitor The CrossView Pro package contains several configurations of the ROM RAM debug monitor and also the source and makefiles are included to build the monitor in a configuration which suites your target board 5 1 MONITOR CONFIGURATIONS The monitor exists in the following basic configurations for all derivatives e RAM debug monitor loaded using on chip bootstrap loader BSL e ROM debug monitor using dual vector table method e ROM debug monitor using memory switch The following sections describe these configurations 5 1 1 RAM DEBUG MONITOR For loading the monitor in RAM the on chip bootstrap loader BSL is used The processor is started in BSL mode by activation of one or more of its pins during the hardware reset See the BSL description in the CPU user s manual for more information about activation of the on chip BSL CrossView Pro detects if the CPU is in the BSL mode by sending a null byte to the serial channel If the CPU is in BSL mode it detects the baud rate from this null byte and sends an acknowledge byte back to CrossView
424. r view current viewing position Enter function using stack address View current viewing position or view instruction at address addr f Pprintf style format gus on off Change default address display format Suppress or reactivate CrossView Pro window updating Synchronize the viewing position with the execution position Print current file function and line number Command Reference 13 5 1 a b d f g ilk 1 L m N p r R s string List assertions breakpoints directories files inlined functions kernel state data labels on module scope all Labels memory map of application code sections Namespaces procedures registers internal CrossView Resources special variables Symbol tables If given only those starting with string 1 func List all parameters and locals of function func Without a p function this command lists all parameters and locals of the current function in view 1 stack List all parameters and locals of function at depth stack nC Move viewing position to next covered line nU Move viewing position to next uncovered line opt option value List or set option value Without an argument list all option values Line P exp Print exp lines of source starting at line Jine include machine addresses ine p exp Print exp lines of source starting at line ine pC Move viewing position to previous covered line pU Move viewing position to previous uncovered line
425. ram not completely loaded An error occurred during loading a symbol file Check what cause the problem illegal filename or file format You may retry to load a symbol file Prompt too long gt max number Choose a prompt of no more than max number characters Ran out of memory reading symbol file into memory Reduce the size of the symbol file by re compiling only the interesting files with the g debug switch Read I O request could not be queued VMS detected an error for a read I O queue which CrossView Pro can not handle If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance Readprompt I O request could not be queued VMS detected an error for a read I O queue which CrossView Pro can not handle If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance Redo line too large Limit line length to fewer than 256 characters 14 20 Chapter 14 Result type too large for command line call A command line function call must pass the result back in a register The specified function does not You cannot call functions whose return value is greater than an integer for instance floating point types and structures Result type undefined Type casting from the expression or variable to the result type was not possible Second address smaller then first When specifying a range of
426. rd parameter can be added to set the color offset value This allows you to create a dynamic display in which the color of each curve remains the same The color offset can range from 0 to the maximum number of colors and the maximum number of colors is the number of curves to be plotted When the color offset exceeds the number of colors the modulo will be taken if it is negative it will be set to zero The colors selected for the curves are spread evenly over the color spectrum The number of colors can also be set as an optional fourth parameter of the script An example of a command file for a running script can be INITIALIZE rst Rerun the program when the script is executed Sfast_mode 2 If on the simulator go to fast mode s Step to the main routine to allow access to the output array memget output i 256 t It s clear now bufa f t 4096 Construct an empty time domain history bufa S f t 4096 bufa S f t 4096 bufa f t 4096 bufa f t 4096 bufa f t 4096 bufa S f t 4096 bufa f t 4096 Scolor 0 Initialize the color variable to track the graphs DEFINE THE TIME DOMAIN WINDOW graphp Output time domain 50 25 716 295 set window position graphm Output time domain show_x t cxl set draw method graph Output time domain x_t cxl t 0 1 use the t buffer graph_clear_updates Output time domain Set Output tim
427. rd file name is in the correct directory Check permissions of record file name With MS DOS check the CONFIG SyYS file for the maximum number of open files allowed Increase the number and reboot if necessary Make sure the filename is valid for the host operating system Can t open file file CrossView Pro could not open the specified file Check the spelling of file and that file is in the correct directory Check permissions of file With MS DOS check the CONFIG SYS file for the maximum number of open files allowed Increase the number and reboot if necessary Make sure the filename is valid for the host operating system Error Messages 14 7 Can t perform trace out of memory There is not enough host memory to support tracing Reduce memory demands and retry again If the problem persists please contact the TASKING Technical Support staff for assistance Can t set breakpoint either the current file has no symbols or line line is not inside any procedure in the current file CrossView Pro was unable to set the breakpoint that you specified First check the location of line ine and verify that it is in the current procedure being debugged If it is within the current procedure then you may need to compile assemble link locate for debugging Refer to chapter Overview for details Can t start a new process Feature not implemented Your host system does not support shell commands Any attempt to issue shell comma
428. read only once Subsequent calls to CoInitialize or CoInitializeEx on the same thread will succeed as long as they do not attempt to change the concurrency model but will return S FALSE To close the COM library gracefully each successful call to CoInitialize or CoInitializeEx including those that return S FALSE must be balanced by a corresponding call to CoUninitialize However the first thread in the application that calls CoInitialize 0 or CoInitializeEx COINIT APARTMENTTHREADED must be the last thread to call CoUninitialize If the call sequence is not in this order then subsequent calls to CoInitialize on the STA will fail and the application will not work Because there is no way to control the order in which in process servers are loaded or unloaded it is not safe to call CoInitialize CoInitializeEx or CoUninitialize from the D11Main function So take care when establishing more CLSIDs in a GDI module 1 4 EVENTS CrossView Pro provides an events source into which a client can tap via a COM connection point Examples of events are reporting which breakpoint has been hit and symbols have been loaded Currently the following events are defined Each event is terminated by a newline character Prepare your client for new events basically by ignoring unrecognized ones Command InterpreterBusy The debugger s command interpreter is executing a command line or a GUI operation is in progress A command line
429. reakpoints menu select Breakpoints The Breakpoints dialog appears Click the Add gt button and select Cycle Breakpoint The Add Cycle Breakpoint dialog appears Click the Advanced gt gt button Now fill in the following fields Cycle count Name Probe point Commands The number of cycles between hitting the breakpoint and thus between the execution of the script Just a fancy name for your breakpoint so that you can easily recognize it in the list if more breakpoints are listed Enable this check box This makes that execution continues after the breakpoint is hit and the Commands are executed Supply the cxl command to execute the script For example cxl myscript cxl If you supply a relative path it will be relative to the location of the absolute file abs of your program Simulator Sim 7 5 Click OK 6 Click OK It is also possible to set the breakpoint via the command window break CYCLES no of cycles name fancy name probe_point true commands cxl script name The no of cycles is the number representing the number of cycles between each probe point hit The fancy name is the name you want to give to the probe point to recognize it easily in the breakpoint list or to be used with other commands The script name is the filename of the CXL script Cycles When writing a CXL script that is executed every number of cycles by a cycle probe point you have to keep in mind t
430. ream 2 to stream 1 The second example will retrieve input for stream 1 from stream 4 The third example will retrieve input for stream 4 from file data txt The fourth example will redirect output of stream 3 to file data txt Disabling an FSS stream means in effect connecting the stream to dev null or NUL causing writes to go into oblivion and reads to return EOF 10 3 1 FILE SYSTEM SIMULATION LIBRARIES The low level I O functions such as open close read and _write are implemented in the C library to use File System Simulation These funtions redirect high level I O calls such as printf and scanf type functions through CrossView Pro s FSS feature allowing you to perform stdin stdout and stderr I O by just using these standard C library functions The libraries have been optimized to only attach the file I O routines if the application actually uses file I O This includes the exit routine that must close all opened streams before returning to the debugger The default I O streams stdin stdout and stderr are opened on the fly whenever file I O is used this behavior is transparent to the user It is no longer necessary to inform CrossView Pro about the use of any streams For more information see the section C Library Interface Description in the C Cross Compiler User s Manual I O Simulation 10 9 10 4 DEBUG INSTRUMENT I O If you have a debug instrument that supports it the debug instrume
431. red in memory When the value of the indexed DPP is changed to 10 pointer pn evaluates to to an address in data page 10 Accessing Code and Data 6 9 When assigning to pointers you do not have to bother with the memory storage representation You can specify the address the pointer should evaluate to when assigning a new value pf t global short far pf pf 0x123456 pf 0x123456 pf 2x2 pf 0x3456 0x0048 When assigning to a near pointer CrossView Pro checks if the given address is in one of the pages indicated by the DPP registers and stores the index of the matching DPP in bits 14 15 of the pointer If a page is designated by more than one DPP the lowest DPP index is used If the address is in none of the indicated pages CrossView Pro issues an error message In addition to the standard set of basic types CrossView Pro supports the type bit All variables declared bit or sfrbit in your program have this type When you request the address of such a variable both the address and the bit offset are shown For example bvar t global bit bvar bvar bvar 1 amp bvar OxFD4E 0 To show the address as it is stored in memory use the display format option amp bvar 1x2 0x270 6 10 Chapter 6 7 6 2 3 THE COMMAND CrossView Pro s windows contain a great deal of information about the current debugging session Occasionally however you have a few closed windows or wish the information to appear in the Comma
432. resent perform previous search again string Print string 13 3 COMMANDS DETAILED DESCRIPTIONS The rest of this chapter provides the detailed descriptions of the CrossView Pro commands Command Reference 13 17 expression Function Oo Print the value or address of an expression From the Data menu select Evaluate Expression Enter an expression and optionally select a display format You may set up a monitor which instructs the debugger to evaluate a particular expression each time the program stops from the Source Window by selecting text there and by clicking on the Watch Expression button Enter the expression in the Command Window You may specify in which format you want CrossView Pro to display the answer Description db In the Command Window the syntax for this command is exp format format Print the value or address of exp with format format A slash is used to print the value of exp and a commercial at is used to print the address of exp If format is not supplied the natural m format of the expression is used Formats have the syntax count style size count is the number of times to apply the format style and defaults to 1 style may be one of acDOUXdouxEFGefgiInPpst See Chapter 6 Accessing Code and Data and section 3 5 Formatting Expressions in Chapter 3 Command Language for details on each of the format styles size indicates the number of bytes to be
433. ression evaluation and record playback capability The simulator disim166 logs a user definable number of addresses of the most recent instructions The simulator disim166 also supports code coverage profiling background debug mode and peripheral simulation 3 1 MAPPING MEMORY The simulator version of the debugger can use the linker generated map file with map extension to determine how much memory must be allocated from the system and how logical addresses are mapped to physical addresses In the Load Symbolic Debug dialog select Use map file for memory map to specify that CrossView Pro must process the application specific memory definition before a new file is loaded and or downloaded to the target Sim 4 Execution Environment When you use EDE the memory settings are automatically transferred to the debugger All memory mappings of your applications are automatically done by the debugger 4 PERIPHERAL SIMULATION The C166 ST10 simulator includes peripheral simulation for a range of peripherals With peripheral simulation and CXL scripting you can make scenarios for testing parts of your application before hardware is available 4 1 PERIPHERAL SUPPORT The simulator supports the following peripherals e General purpose timers e Interrupt system e Peripheral Event Controller e Parallel ports e SSC ASC Serial ports e Phased Locked Loop e Watchdog Timer e Real Time Clock e A D converter e Captur
434. rget board CrossView Pro knows four types of CPUs 167 167mac ext2mac and ext22mac 167 represents the extended architecture like the C161 C163 C164 C165 and C167 families 167mac represents the extended architecture including the MAC coprocessor like the ST10x262 and ST10x272 families ext2mac represents the second extended architectures like the XC16x and Super10 ext22mac represents the enhanced Super10 architectures register file The filename of the register file def to be used for the CPU on the target When this field is omitted CrossView Pro uses the default reg def as register file This register file contains debug information for CrossView Pro like which E SFR registers are present and at which location debug_instrument_module The name of the Debug Instrument using GDI used for debugging disim166 for the instruction set simulator dieva166 for a target board connection using a serial or CAN interface diocds166 for target boards that use the OCDS interface via the parallel port and gdi2das for target boards that use the OCDS interface via DAS radm The name of the Debug Instrument using KDI used for RTOS aware debugging optional Overview For FLASH programming support the following items can be added to this list Field Description flash_monitor The filename of the FLASH programing monitor used for f
435. rigin is the lower left corner B 16 Appendix B Anchors ae a 3 4 5 6 Tica a 9 Text may include any characters except a nil character Double quote and backslash characters must be escaped by a backslash character Text will be formatted using the current font settings See below for the font info exchange between the window and the representation generator long get_attr string attribute Supported attributes are draw area x size draw area y size x scrollbar present x scrollbar size x scrollbar low x scrollbar high y scrollbar present y scrollbar size y scrollbar low y scrollbar high selection available selection start selection end long get_text_attr string attribute string text_format Supported attributes are leading ascent descent width CrossView Extension Language CXL B 17 Argument passing The graph and graphm commands can be given a number of arguments These arguments are accessible as follows long n_args The number of arguments argl argN with N n_args are added to the global scope and have type double for buffers type string for strings and type double for evaluated expressions Parsing the script will fail if a certain argument has not been provided Evaluation of the script will fail if the type of the argument does not match its use For argument testing and argument retrieval the
436. rigin is the lower left corner dot x yl Draw pixel Coordinates are expressed in pixels The origin is the lower left corner line x y1 x2 y2 Draw line from x1 yl up to and including x2 y2 Coordinates are expressed in pixels The origin is the lower left corner polygon x y x2 y2 xn yn polyline x y1 x2 y2 xn yn Puts a polyline using the latest set pen_color from line sections from the points x1 y1 to xn yn where n gt 3 which means at least 2 lines Coordinates are in pixels filled_polygon x y1 x2 y2 xn yn Puts a polygon filled with the latest set brush_color bounded by a polygon formed by the line sections between the points x1 y1 to xn yn and back to x1 yl where n gt 3 Coordinates are in pixels As with filled_rectangle the pen is only temporarily set to the same color as the current brush and restored when the call is finished filled_polygon_brush x1 y x2 y2 xn yn As with filled_polygon but using a separate brush and pen that is using the latest brush and pen color also when they are different text x y anchor text Draw text with its anchor at location x y The anchor is the point in the text string which will get placed at the specified location For example anchor 7 specifies that the text must be placed such that the bottom left side of the text is at the specified position Coordinates are expressed in pixels The o
437. ring cs string ct char strcat char s string ct int strlen string cs array memcpy array s array ct int n array memset array s int c int n int memcmp array cs array ct int n void sprintf string s string format 3 3 1 0 FUNCTIONS Output to Command Window The following functions send output to the command window void printf string format double outc double x gt printf c int x return x double outd double x gt printf ld long x return x double outf double x gt printf f x return x File I O The following functions are available for file I O int open string filename string mode The open function opens the file filename and returns a file handle if successful otherwise 1 is returned The mode string determines the mode in which the file is opened The mode string must begin with one of the following sequences 9 r Open file for reading r Open file for reading and writing B 12 Appendix B Ww Truncate file to zero length or create text file for writing w Open file for reading and writing ae Open file for appending writing at end of file Pat Open file for reading and appending writing at end of file The mode string can also include the letter b either as a last character or as a character between the characters in any of the two character strings described above With
438. ring program execution Additionally you can see stack and heap usage The availability of this feature depends on the execution environment cycle count breakpoint A breakpoint that halts program execution after a specified number of CPU cycles A cycle count breakpoint can have a command list current function The function that is currently being executed The current function is always at level 0 on the stack Also stored in the CrossView Pro special variable PROCEDURE data breakpoint A breakpoint that halts program execution when a particular memory address or an address within a particular range is written to read from or both A data breakpoint may have a command list and a count data coverage See coverage data monitoring CrossView Pro allows you to monitor expressions and variables in the Data window CrossView Pro updates their values whenever execution stops data window A CrossView Pro window displaying the values of monitored expressions diagnostic output Program output designed for debugging purposes With CrossView Pro probe points and data monitoring can be used for diagnostic output eliminating the need for intrusive and annoying printf calls compiled into code disassembly window A CrossView Pro window showing a part of the disassembled program space It also displays other information such as the current execution position viewing position and installed breakpoints 9 dot operand The period
439. rkspace has a size of 0x1100 bytes and is used for interaction between CrossView Pro and the flash monitor Without any address the fw command shows the current flash workspace address value Note that the address you specify must not be in the memory range of the FLASH devices Example To specify the load address of the data used by the flash programming monitor on address 0x10000 type fw 0x100000 To show the current flash programming monitor address settings type fw d fa fc fl Command Reference 13 115 Function Change the program counter to a new execution position Q Click on a source line and select Jump to Cursor from the Run menu Eg The command line syntax is g line Description This command changes the program counter so that ine becomes the current execution position Line must be a line in the current function This command changes only the program counter It does not cause the target to begin execution Exercise caution when changing the execution position Oftentimes each line of C source code is compiled into several machine language instructions Moving the program counter to a new address in the middle of a series of related assembly instructions is sometimes risky Moreover even though you change the program counter registers and variables may not have the expected values if parts of the code are bypassed This command is not allowed when the target runs in the background Example
440. rn control to you There are several types of breakpoints code data instruction count cycle count timer and sequence Code breakpoints let you halt the program at critical junctures of program execution and observe values of important variables You may place data breakpoints to determine when memory addresses are read from written to or both With data breakpoints you can easily track the use and misuse of variables An instruction count breakpoint halts the program after a specified number of instructions have been executed a cycle count breakpoint stops the program after a number of CPU cycles a timer breakpoint stops the program after a number of micro seconds or ticks and sequence breakpoints stop the program when a number of breakpoints are hit in a specified sequence Data breakpoints instruction count breakpoints cycle count breakpoints and timer breakpoints are not available for all execution environments please check the Addendum Overview 1 5 Probe Point Breakpoints A breakpoint can be treated as a probe point When a probe point breakpoint is hit the associated commands are executed and program execution is continued Probe points are used with File I O simulation and sequence breakpoints Assertions A powerful assertion mechanism lets you catch hard to find errors An assertion is a command or series of commands executed after every line of source code You may use assertions to test for all sorts of
441. rofiling 0 c ce eee eee 11 10 11 5 Data Analysis esesta e aAa tines whbe OEA 11 11 11 5 1 Supplied Data Analysis Window Scripts 11 13 11 6 Program a FLASH Device uussa 11 19 11 7 Background Mode 0 000 c cece eee eee 11 23 11 7 1 Configuration srs 3s nae ae Ae be eS 11 23 11 7 2 Manual Refresh 3 005 0e daAcuts ote anh dha done Means a 11 24 11 7 3 Entering Background Mode 4 11 25 11 7 4 Leaving Background Mode 000 11 26 11 7 5 The Stack in Background Mode 11 27 11 7 6 Local and Global Variables 0 0 05 11 27 11 7 7 Refresh Limitation 0 00000 c eee eee 11 27 11 7 8 ASSEIIONS tides arid rage ea Acie NESS Wk aA ee AES 11 28 DEBUGGING NOTES 12 1 12 1 Debugging Assembly Language 12 3 12 2 Debugging Multiple Programs 12 3 COMMAND REFERENCE 13 1 13 1 Conventions Used in this Chapter 13 3 13 2 Commands Summary 00 00 eee eee 13 4 13 2 1 Viewing Commands 000 c cece eee 13 4 13 2 2 Code And Data Monitoring 13 5 13 2 3 Data Analysis o Genit ka e e Mts ere oe es 13 7 13 2 4 Execution Control Commands 13 8 13 2 5 Record amp Playback 0 00 00 c cece eee 13 11 13 2 6 Macros Neh ke Aor Ue sul Vie os 13 12 13 2 7 Input Output Simulation 00 0005 13 13 13 2 8 File System Simulation 0 000 000 0 ues
442. rologue machine instructions halting at the first C statement When you reach the end of the function CrossView Pro brings you back to the line after the function call and continues with the flow of the program The debugger changes the source code file displayed in the Source Window if necessary If you accidentally step into a function that you meant to step over you can select Return from Function from the Run menu to escape quickly For example suppose you are at line 59 of a file which contains a call to the function factorial main 59 table loopvar factorial loopvar Controlling Program Execution 5 11 By performing one Step Into action you can step into the source code for factorial Your Execution and viewing position change to factorial 103 char locvar x CrossView Pro shows you the current function and line number and the C source code for the current execution position Source Single Step Over To step over a statement or a function call Click on the Step Over button in the Source Window or select the Step Over from the Run menu a Press function key F10 or enter the S command in the Command Window You have the option of setting the number of lines you want the debugger to execute For example to execute three lines of source single stepping over functions enter 3 S FUNCTION Single step but treat function calls as single statements COMMAND number S Stepping over Funct
443. rsor position request the following special variables FILE The file in which the source window cursor position is If the position is outside any file the error message No current file is returned PROCEDURE The name of the function in which the source window cursor position is If the position is outside any function the error message No current function is returned LINE The line number of the cursor in the source window If the position is outside any file the error message No current line is returned You can also use the command Is to get all special variables including the ones above If a variable is not set it is not included in the list or set with the error message as described above To make sure the cursor is at the current execution position precede the L command before requesting the variable For example issue L FILE PROCEDURE LINE Error messages appear when a variable fails To obtain the current execution positions you can also interpret the result of the L command directly 2 5 5 USING CROSSVIEW PRO AS PURE SERVER To have CrossView Pro act as server only updating windows can be turned off with the command gus on This inhibits all windows from being updated except for the command window Note that also the GUI does not refresh anymore Also the execext silent 1 command via DDE inhibits the command window output CROSSVIEW EXTENSION LANGUAGE CXL
444. rst 13 172 7 Chapter 13 S Function Single step C statements stepping over function calls To step over a function click on the Step Over button in the Source Window You can also select Step Over from the Run menu Check the Step Mode menu item in the Run menu Source line step must be selected g The command line syntax is exp S Description If you try to step over a call to a function which contains a breakpoint or which calls another function with a breakpoint then the breakpoint will be hit Stepping over a function means that CrossView Pro treats function calls as a single statement and advances to the next line in the source This is a useful operation if a function has already been debugged or if you do not want to take the time to step through a function line by line When multiple statements are present on one line they are all executed by this single step AN This command is not allowed when the target runs in the background Example To step one C statement type s To step five C statements type 5 S db C s si Si Command Reference 13 173 S Function Single step C statements stepping into function calls To step into a function single step click on the Step Into button in the Source Window You can also select Step Into from the Run menu Check the Step Mode menu item in the Run menu Source line step must be selected g The command line syntax is exp s Description
445. rted so you can expand structures within structures ad infinitum 4 32 Chapter 4 To expand a pointer structure or an array double click on the in the Data Window The Data Window provides a local Toolbar containing the following buttons B ko b heag Show or watch a new expression Toggle watch attribute of selected item on or off Reformat selected item Update selected data item Delete selected data item Update old data items Delete old data items You can toggle the appearance of this local toolbar by selecting Local Toolbars Data from the View menu The auto watch locals feature may be activated or deactivated When active a selected Data Window becomes the auto watch window and all local variables from the current top of stack frame appear in that Data Window The text LOCAL appears at the start of the display for variables displayed in this manner As the execution position changes the auto watch window deletes and adds locals as necessary so that the locals on the current top of stack frame always appear To see the value of the local variables of a function Select Data Watch Locals Window from the View menu CrossView Pro supports multiple Data Windows Data Windows either have the title Data Window n or All Local Variables The All Local Variables title indicates the auto watch window if it exists as explained above Using CrossView Pro 4 33
446. rted if the execution environment provides a clock that starts and stops whenever execution starts and stops Code range profiling heavily relies on special profiling features in the execution environment Normally code range profiling is only supported by instruction set simulators Overview Macros Macros let you store and recall complex commands and expressions with a minimal number of keystrokes You can store macros in a toolbox making it possible to execute complex functions with the touch of a mouse button You can also place macros in command lists of breakpoints and assertions You can use flow control statements within macros and macros can call other macros allowing you to construct arbitrarily complex sequences Macros can accept multiple parameters be saved and loaded from files and can even rename existing CrossView Pro commands Record amp Playback At any time you can record the commands you type and optionally their output to a file You can also play back files of commands all at once or in a single step playback mode These functions are helpful for setting up standardized debugging tests or to save results for later study or comparison Kernel Support CrossView Pro supports RTOS Real Time Operating System aware debugging for various kernels Since each kernel is different the RTOS aware features are not implemented in the CrossView Pro executable but in a library that will be loaded at run time by
447. running a program 11 25 stack 11 27 Starting 11 25 stopping a program 11 26 updating windows 11 23 waiting 11 26 batch mode 9 10 batch processing 9 10 bB command 13 43 bb command 13 44 bc command 13 45 bCYC command 13 46 bcyc command 13 47 bD command 13 48 bd command 13 50 bdis command 13 52 bena command 13 53 bext2 sre Mon 7 bext2f sre Mon 8 bext2fi sre Mon 8 Index bext2i sre Mon 8 bext2nrb sre Mon 7 bext2nrbe sre Mon 8 bext2nrbi sre Mon 8 bI command 13 54 bi command 13 55 bi_me167 sre Mon 8 bias 15 4 binary constants 3 5 binary notation 3 4 bINST command 13 56 binst command 13 57 bit 6 9 bitword 6 15 boot 1 20 Mon 36 boot program Mon 16 boot programs Mon 7 boot sequence Mon 5 bootstrap loader BSL Mon 55 break command 13 58 breakpoint toggle 4 24 7 4 breakpoints 1 4 7 1 13 58 15 4 Mon 15 and diagnostic output 7 27 and multi line statements 7 5 and multiple statements 7 5 and statistical information 7 27 attaching macros to 7 21 code 7 3 commands associated with 7 19 conditionals 7 21 count 15 4 count of 7 3 cycle count 7 3 13 46 13 47 data 7 7 data breakpoints over a range of addresses 7 11 delete 13 88 delete all 13 87 deleting 7 16 disable 7 17 13 52 emulator mode 7 6 Index Index 5 enable 7 17 13 53 for loops 7 6 function permanent 13 44 instruction count 7 3 13 56 13 57 list 13 41 listing 7 8 low level 15 7
448. ry directory Starts playing back commands from file with commands single step Starts recording commands in file Starts recording screen output in file Same as the radnm field in the target configuration file specify the name of the Debug Instrument using KDI used for RTOS aware debugging Register CrossView Pro as COM object Register CrossView Pro as COM object without message Sets the maximum number of special variables variables independent of the program that CrossView Pro provides for your use The default is 26 Specifies the directories CrossView Pro should search for source files Relative paths are allowed When the N command is used to load a new symbol file the current directory is set to the directory containing the symbol file and CrossView Pro now searches for source files relative to this directory Directories must be separated by semicolons Prevent multiple instances of CrossView Pro Specify a target configuration file This overrules the filename specified in xvw ini See section CrossView Pro Target Settings in the Overview chapter Start CrossView Pro command line batch operation mode and terminate after n_seconds Starts CrossView in transparency mode if present if file is given commands in file are sent to the execution environment Unregister CrossView Pro as COM object Unregister CrossView Pro as COM object without message Allow User Stack Model debugging
449. s COMMAND number ct 6 26 D Q D Q Q Chapter 6 To activate the source level trace window From the View menu select Trace Source Level to view the Trace Source Window You can view the last machine instructions executed with the ct i command For example 15 ct i displays the last 15 machine instructions in disassembled form in the Command Window FUNCTION Display the most recently executed machine instructions COMMAND number cti To activate the instruction level trace window From the View menu select Trace Instruction Level to view the Trace Instructions Window You can view a raw trace with the ct r command For example 20 ct r displays the last 20 trace frames in the Command Window FUNCTION Display a raw trace COMMAND number ctr To activate the raw trace window From the View menu select Trace Raw to view the Trace Raw Window Accessing Code and Data 6 27 6 7 REGISTER WINDOW The Registers Window shows you the values of internal registers on your target processor You can create multiple Register Windows and each Registers Window contains the names and contents of all currently selected registers in the selected register set definition Values are displayed in hexadecimal format As long as the window is open the debugger automatically updates the values when the program stops E To show the list of current registers and their contents in the Comman
450. s It is possible to display both monitored and unmonitored expressions in the Data Window CrossView Pro updates monitored expressions after every halt in execution Unmonitored expressions are just one shot inspections of the expressions value Refer to section 4 6 CrossView Pro Windows for a detailed description of the Data Window To evaluate a simple expression Double click on a variable in the Source window The result of the expression appears in the data window Alternatively depending on the preferences you set in the Data Display Setup dialog the expression appears in the Evaluate Expression dialog Click the Add Watch or Add Show button to display the result of the expression in the Data Window Click the Evaluate button to display the result of the expression in the output field of the Evaluate Expression dialog To evaluate a complex expression Q From the Data menu select Evaluate Expression and type in any C expression in the Evaluate Expression dialog box Optionally select a display format Click the Evaluate button CrossView Pro calculates the result and displays the value in the appropriate format For details about expression formats see the section Formatting Expressions in the chapter CrossView Pro Command Language Ea Type the expression in the Command Window Expressions can contain variable names as arguments For instance if the variable initval has a value of 17 and you enter initval 2 CrossVi
451. s e List the assertion numbers with 1a command in the Command Window e In the Command Window enter the assertion number followed by the a d command For example 2ad Deletes assertion 2 Breakpoints and Assertions 7 33 FUNCTION Delete an assertion COMMAND assertion_number ad 7 10 6 USING ASSERTIONS You can use assertions for almost any type of debugging task For example if you want to check the value of a global variable global_val during the execution of a certain function A data breakpoint or a straightforward CrossView Pro assertion does not suffice for this task since there is no way to make either method limited to that function s code range The solution lies in creating an assertion that is active only over a specific range of lines In this case you could solve your problem with the following steps 110 void f void 111 112 if global flag 113 114 global_ val 115 116 else 117 118 global_val g 119 120 amp Using the mouse and menu 1 From the Breakpoints menu select Assertions to open the Assertions dialog box 2 Click on the New button 3 Set up the assertion to check the value of global_val Enter if global_val 17 x This assertion halts program execution if the value of global_val equals 17 4 From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and selec
452. s e From the Tools menu select Macro Definitions to open the Macro Definitions dialog box e Click on the Save as button A Save Macro File dialog box opens e If you want to save a file previously opened click on the Save button This saves the file without opening the Save Macro File dialog box e Alternatively you can use the Autosave check box When Autosave is checked all macros are saved in the current file when you leave CrossView Pro Type the save file command in the Command Window This command saves your macros to the file of your choice For instance Save macro mac writes all your macros to macro mac FUNCTION Save macros to a file COMMAND save filename Defining and Using Macros 8 7 8 2 4 LOADING MACRO DEFINITIONS FROM A FILE You can load saved macros anytime you want to re use a definition There is no limit to the number of times you can load macros To load a macro file Q Follow these steps e From the Tools menu select Macro Definitions to open the Macro Definitions dialog box e Click on the Load button and select the macro file you want to load e Alternatively you can use the Autoload check box When Autoload is checked the macros saved in the current file are loaded at startup Eg To reinstate your macro definitions from the Command Window use lt filename mac You must load a program before you can read a macro definition file Autoload will be i
453. s B 11 mathematical functions B 10 miscellaneous functions B 17 operators B 8 pointers B 7 predefined functions B 10 variables B 6 cxl_reset command 13 86 cycle count breakpoints 7 3 D command 13 87 d command 13 88 d166 1 11 DAS Device Access Server OCDS 3 DASserver 1 24 OCDS 9 data displaying 6 1 enumerated 6 5 list data monitors 13 142 data analysis 11 11 add update commands 13 118 bufa 13 72 bufd 13 73 clear sequence of update commands 13 119 close window 13 120 create window 13 117 graph 13 117 graph debug 13 121 graph_add_update 13 118 graph_clear_updates 15 119 graph_close 13 120 graph_debug 13 121 graphm 13 122 graphmn 13 123 graphp 13 124 memget 13 146 Index 8 position window 13 124 rawmemget 15 170 supplied scripts 11 13 update 13 187 update window 13 187 Data Analysis Window 4 37 toolbar 4 37 data breakpoints set at an address 13 50 set over range of addresses 13 48 data coverage 4 29 data monitoring 1 5 15 5 removing expressions 6 13 Data Window 1 5 4 30 6 12 toolbar 4 32 dcmp command 13 89 DDE command line options ddeservername A 28 DDE commands AddDDEMenuEntry A 28 DDE events A 27 DDE items cmdannotatedoutput A 22 cmdoutput A 21 event A 26 exec A 24 execext A 235 halt A 25 Help A 20 result A 27 DDE server interface A 20 debug instrument 13 15 save restore state 13 91 debug instrument I O 10 9 debug _instrument_modu
454. s The command line syntax is prst Description The program counter is set to the start address of the application being debugged This command does NOT perform a hardware reset of the target system That is no registers are modified except for the program counter LAN This command is not allowed when the target runs in the background d R rst 13 166 Chapter 13 pU Function Set the viewing position to the previous not covered block of statements Q Use the scroll bar and click on the desired line E The command line syntax is pU Description If code coverage is supported by your version of CrossView Pro this command enables you to skip to the previous block of statements that have not been executed while the program was running on the target Example To move the cursor to the previous not executed block type pU d nC nU pC Command Reference 13 167 Q Function Quiet breakpoint reporting z The command line syntax is Q Description If this appears as the first command in a breakpoint s command list the debugger does not make the usual announcement of function line number source file when the breakpoint is hit The purpose of this command is to allow quiet breakpoint reporting For example to check the value of a variable without cluttering the screen with text Example If you type the following 21 b Q varl CrossView Pro will set a breakpoint at line 21 When that break
455. s makes that process unnecessary For instance suppose you want to keep track of the variable loopvar at line 59 of a program Install a breakpoint with the following command 59 b Q loopvar C The breakpoint halts the program prints the value of loopvar and resumes execution The Q command suppresses the listing of where the break occurred This breakpoint does not affect the source code and no recompilation is necessary Using special variables you can also keep statistics about your program such as how many times a line of code executes or how many times a variable is accessed For example suppose you want to know how many times line 60 executes You must define a special variable to keep track of your statistical data and set a breakpoint to accumulate the data for you First define the special variable In the Command Window enter Stest 0 This command defines the special variable test and sets it to zero For convenience you can also set a breakpoint at the beginning of the program that initializes test Secondly set a breakpoint at line 60 that increments test and continues execution every time the program hits line 60 60 b test C 7 28 Chapter 7 7 10 ASSERTIONS An assertion is a collection of debugger commands executed by the debugger after each program line When you execute a program using assertions the debugger is in assertion mode Running the debugger in assertion mode is a
456. sView Pro s own minus sign command In addition CrossView Pro supports standard C octal hexadecimal and binary notation You can specify a hexadecimal constant using a leading Ox or a trailing H or h The first character must be a decimal digit so it may be necessary to prefix a hexadecimal number with the 0 character The hexadecimal representation for decimal 16 is 0x10 or 10H Command Language 3 5 For the hexadecimal digits a through f you can use either upper or lower case The following are all correct hexadecimal representations for decimal 43981 Oxabcd 0xABCD OabCdH OAbcDh You can specify a binary constant using a trailing B or Y or b or y The following are all binary representations for decimal 5 0101b 101Y 00000101B You can specify an octal constant using a leading 0 The octal representation for 8 decimal is 010 You can use an L to indicate a long integer constant For example CrossView Pro will recognize the following as long integers OL 57L Oxff AN CrossView Pro uses the same ANSI C integral type promotion scheme as the C compiler Floating Point A floating point number requires a decimal point and at least one digit before the decimal point The following are valid examples of floating point numbers 12 34 5 6 7 89 Exponential notation such as 1 234e01 is not allowed The following are not valid floating point numbers 02 1 234e01 5 As with integers bracket a n
457. se and Structure XIX APPENDICES A Interprocess Communication Contains a description of the COM interface and the DDE interface B CrossView Extension Language CXL Contains a description of the syntax of CXL scripts C Sound Support MS Windows Describes how to add sound to CrossView Pro events under MS Windows ADDENDUM Execution Environment Contains information specific to your particular type of target system Manual Purpose and Structure RELATED PUBLICATIONS The C Programming Language second edition by B Kernighan and D Ritchie 1988 Prentice Hall ANSI X3 159 1989 standard ANSI ISO IEC 9899 1999 E Programming languages C ISO IEC C166 ST10 Cross Assembler Linker Locator Utilities User s Manual TASKING MA019 000 00 00 C166 ST10 C Cross Compiler User s Manual TASKING MA019 002 00 00 C166 ST10 C Compiler User s Manual TASKING MA019 012 00 00 C166 User s Manual Infineon Technologies C167 User s Manual Infineon Technologies ST10 Family Programming Manual STMicroelectronics C166S v2 0 Super10 User s Manual Infineon Technologies STMicroelectronics Evaluation board Manuals Miscellaneous vendors Manual Purpose and Structure XxXI CONVENTIONS USED IN THIS MANUAL Notation for syntax The following notation is used to describe the syntax of command line input bold Type this part of the syntax literally italics Substitute the ital
458. sh devices Example To unprotect flash device number 0 type fpd 0 d gt fl fp fpe 13 110 Chapter 13 fpe Function Enable protection of a FLASH device From the Target menu select FLASH Setup Select a device and click Protection gt Enable z The command line syntax is fpe device_number Description A flash device that supports a protection mechanism can be protected or not With this command you can enable set the protection Use the fl command to see a numbered list of flash devices Example To protect flash device number 0 type fpe 0 d fl fp fpd Command Reference FSS Function File System Simulation redirection fee The command line syntax is FSS lt gt H amp stream file Description Redirect a File System Simulation stream to a file or another stream Redirection to a file can be needed when a stream is only mapped to a window and you want it to be mapped to a file also Example To redirect the output of stream 2 to stream 1 type FSS 2 gt amp 1 To retrieve input for stream 1 from stream 4 type FSS 1 lt amp 4 To retrieve input for stream 4 from file data txt type FSS 4 lt data txt To redirect the output of stream 3 to file data txt type FSS 3 gt data txt Gb Section 10 3 File System Simulation in Chapter I O Simulation 13 111 13 112 Chapter 13 ia FSS stdio close Function Close a stream previously opened by FSS_std
459. side on the host system it is possible to maintain a history of data The transform data process takes the raw data as input processes it and the result of the transformation a set of x y pairs is saved in the processed data buffer associated with a window Since the transformations are described in CXL CrossView eXtension Language the user can program the data transformation that is of most interest for him For example an FFT power spectrum would produce frequency power pairs The generate representation process takes data from the processed data buffer x y pairs as input and generates a display list This process scales the data according to the given display window size This process is coded in CXL So in addition to the scripts provided by TASKING the user can write his own representation processes For example an FFT power spectrum is usually represented by a bar graph The drawing engine process takes the display list as input and produces the graph that is displayed in the Data Analysis window The drawing engine is part of the CrossView Pro executable and cannot be configured by the user A clear separation between data transformation the transform data process and data presentation generate representation process has been made to increase the reusability of complex data presentation scripts Once the scripts are written a number of frequently used operations are supplied the following three steps must be
460. simulation 10 1 defined 15 7 summary of commands 13 13 instruction count breakpoints 7 3 integers 3 4 binary 3 5 hexadecimal 3 4 integral promotion 3 5 long 3 5 negative 3 4 octal 3 5 integral promotion 3 5 intermixed source and disassembly 6 19 interprocess communication A 1 B 1 interrupt enabled debugging 4 9 13 127 interrupt key 15 7 ios_close command 13 129 ios_open command 13 130 ios_read command 13 132 ios_readf command 13 133 ios_rewind command 13 134 ios_wopen command 13 135 ios_write command 13 136 ios_writef command 13 137 J JTAG OCDS 3 JtagDriver 1 22 OCDS 8 Index 12 7 jump to cursor 5 5 K kernel support 1 7 11 4 keyboard mappings 10 10 keywords conditional 3 19 3 20 KitCon Mon 58 L L command 13 138 1 command 13 139 1166 1 11 label in disassembly 6 18 language 3 1 LD_LIBRARY_PATH 2 3 librarian 1 11 line command 13 19 line numbers 3 11 linker 1 11 listing 13 139 load command 13 141 load symbol file 13 141 13 153 local variables 3 7 and the stack 3 7 auto watch 4 32 locator 1 11 logging 9 12 command window output 13 32 commands and screen output 9 15 debugger emulator I O 13 34 debugger GDI accesses 13 36 example 9 15 resume 9 15 setting up 9 13 start 9 13 startup options 9 18 stop 9 17 summary of commands 13 11 suspend 9 15 Index long integer constants 3 5 M command 13 142 m command 13 143 m164r sre
461. single step through the function an up level breakpoint can help you Enter bU The bU command sets a temporary breakpoint after return of the function Now instead of having to single step all the way through the function you can start continuous execution which stops when it hits the new breakpoint at the function s return Note that it makes no difference whether the function has several possible points of return the up level breakpoint works at all points of return Note that when the function that contains the breakpoint is called from one of the functions that are located below it on the stack the execution may be stopped before returning at the desired stack level for example with recursive functions When setting up level breakpoints from the Command Window you can specify how deep in the stack the function s address is located For example if you are two functions down from the main program enter 2 bU This command breaks when you return to the top level of the call graph FUNCTION Set a temporary breakpoint after call to function COMMAND stack U commands FUNCTION Set a permanent breakpoint after call to function COMMAND stack bu commands FUNCTION Set a temporary breakpoint at function entry COMMAND stack bB commands Breakpoints and Assertions 7 25 FUNCTION Set a permanent breakpoint at function entry COMMAND stack bb commands 7 8 PATCHES A
462. soft Windows have an additional Window menu item This menu allows the user to arrange all opened windows in a tiled or cascaded format In the tiled format selected by Window Tile all windows become the same size All windows are the visible the same size and do not overlap In the cascaded format selected by Window Cascade all open windows are changed to the same size and overlapped in a cascade with a constant vertical and horizontal offset Iconized minimized windows can be automatically rearranged by selecting Arrange Icons from the Window menu See the section Using X Resources in the chapter Software Installation for details on changing the visual appearance of CrossView Pro under X Windows Changing Operative Parameters You can adjust the operative parameters for CrossView Pro using the various menus in CrossView Pro In the Target menu you will find e Settings Allows you to specify the execution environment and the CPU type and the source directories for CrossView Pro The values are processed at CrossView Pro startup before executing commands entered in the Command Window or before the target is accessed as a result of opening a window So first edit this dialog when you start CrossView Pro If you have not loaded a symbol file yet you do not have to restart CrossView Pro e Communication Setup Allows you to set parameters for communication between CrossView Pro and your target board Using CrossView Pro 4 19
463. sources EDE uses this field to generate RESERVE MEMORY locator controls You can specify multiple ranges by separating them with commas OCDS 7 OCDS 8 Execution Environment Fields specific for the JIAG OCDS connection via the parallel port Field Description monitor The filename of the monitor program for target boards using a JTIAG OCDS debug interface When this field is omitted CrossView Pro will issue an error For the C165UTAH board this is the file ml167ocds sre JtagDriver The filename of the JTAG API interface This interface communicates with the CrossView Pro diocds166 Debug instrument DI on one side and the actual JTAG driver installed as a service on the other side This driver actually communicates with target board via the parallel port PeripheralsStop When set to 1 peripherals will be stopped when hitting a breakpoint By default peripherals will not be stopped upon a breakpoint For the C161U C165UTAH you should also specify the suspending peripherals within the clock control registers SOCLC SSCCLC GPTCLC RTCCLC EPECCLC USBCLC IOMCLC For the XC16x you should specify the suspending perihperals in the OPSEN register Cable JTAG cable number to the chip where the OCDS module is located The value should always be 0 ChipReset By default the OCDS interface performs a Chip Reset with the reset pin RSTIN of the chip You can disable this by setting the value to
464. specified in the register file You can specify multiple registers by separating them with commas PeripheralsStop When set to 1 peripherals will be stopped when hitting a breakpoint By default peripherals will not be stopped upon a breakpoint For the C161U C165UTAH you should also specify the suspending peripherals within the clock control registers SOCLC SSCCLC GPTCLC RTCCLC EPECCLC USBCLC IOMCLC For the XC16x you should specify the suspending perihperals in the OPSEN register Overview Field Description ResetDelay A delay in miliseconds for CrossView Pro after a target reset When you use OCDS CrossView Pro resets the target However CrossView Pro cannot detect if the reset is released when a capacitor is used inside the reset circuit on the board Cable JTAG cable number to the chip where the OCDS module is located The value should always be 0 ChipReset By default the OCDS interface performs a Chip Reset with the reset pin RSTIN of the chip You can disable this by setting the value to zero ClientValue JTAG I O mode OCDS module number The value should always be 2 reserve The reserved memory ranges from to for OCDS monitor resources EDE uses this field to generate RESERVE MEMORY locator controls You can specify multiple ranges by separating them with commas For OCDS via DAS the following items can be added to this li
465. splay methods can be used The horizontal axis is in frequency steps the vertical axis in decibels 1 Generating window data pairs graph win_title fft cxl buffer filter_index frequency_step ref_level generates pairs i frequency_step log_power i The filter_index specifies one of the following FFT windowing functions 0 rectangular 1 triangular 2 Hanning 3 Blackman Harris ref_level is the 0 dB reference level 2 For displaying the generated pairs any of the x t plotting display scripts can be used show_bars cxl is recommended Multi FFT power spectrum C waterfall The multi FFT power spectrum displays a chronilogical series of FFT power spectra This diagram is also known as FFT waterfall The FFT power spectrum plot takes a buffer of arbitrary size and splits it up in a number of frames of size 2 40_ xP You can specify the overlap between successive frames The overlap can be negative indicating gaps between successive frames For each frame the power in decibels of all frequencies present in the signal is computed 11 16 Chapter 11 7 1 Generating window data pairs graph win_title multi_fft cxl bu ffer filter_index frequency_step two_exp overlap ref_level generates pairs i frequency_step log_power i The filter_index specifies one of the following FFT windowing functions 0 rectangular 1 triangular 2 Hanning 3 Blackman Harris 2two_e
466. ss access_type rw command For example to set a data breakpoint to watch the lowest byte in memory of the global variable initval enter break data amp initval access_type w This command instructs CrossView Pro to set a data breakpoint that will halt execution if the program writes to the lowest byte in memory of the variable initval Note that you have to specify the variable s address otherwise the variable s value is used FUNCTION Set a data breakpoint COMMAND break data address option 7 2 1__DATA BREAKPOINTS OVER A RANGE OF ADDRESSES You can also use data breakpoints to watch a contiguous range of memory addresses As with standard data breakpoints data breakpoints over a range of addresses can be set to watch for reading writing or both To set a data breakpoint of this type SY Using mouse and menu From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box e Select the data breakpoint you want to edit and click the Edit button or click the Add gt button and select Data Breakpoint e Specify a start address and click on the Advanced button 7 12 Chapter 7 a e Select one of the Type options break on read write read or write e Specify a length or an end address The end address is part of the range length is calculated from the end address and vice versa E From the Command Window e Type break data address end_addr end_address access_t
467. ssView Pro searches for the cfg files in the current directory and in the etc directory Example of a part of the sim167 cfg file title C167 ST10x167 Simulator register file regl167 def debug_instrument_module disim166 cpu_type 167 psm_dll_ name psm166 Simulator Sim 11 With the example above to select the SIM167 configuration the command option would be tcfg siml167 cfg 6 RESTRICTIONS AND IMPLEMENTATION DETAILS Facilities for real time kernel support are absent in the simulator versions of CrossView Pro As a consequence the CrossView Pro commands bt bti btI et and 1 t for kernel support are not available With the simulator versions the gt amp command to record target communication and the o command for transparency mode are not available Also the simulator versions of the debugger do not support command line function calling Menu and dialog items related to the mentioned commands are disabled The following CPU features are not supported in these versions of the simulator e Automatically clearing the upper byte when writing a byte to an SFR e Odd byte access traps when accessing a data instruction word Other implementation details e CMP writes unmodified first operand back to memory execution will break when a data write breakpoint is set on the effective address of the first operand e The PWRDN and IDLE instructions stop the simulation e execution state counting not implem
468. st Field Description RegisterFile The filename of the register list file dat to be used for OCDS interface This register file contains register information for the Debug Instrument like which E SFR registers are present and at which location This file must be used along with the register file entry which contains the register information for CrossView Pro init Initialize the register specified in the subfield with the value specified in field value The register name in subfield must be known by CrossView Pro i e must be specified in the register file You can specify multiple registers by separating them with commas 1 24 Chapter 1 Field Description ResetDelay A delay in miliseconds for CrossView Pro after a target reset When you use OCDS CrossView Pro resets the target However CrossView Pro cannot detect if the reset is released when a capacitor is used inside the reset circuit on the board DASserver The name of the used DAS server which must be run and or installed on the connected host AccessPort The connection to the device For the USB server USBx means access via x and the USB of the device TerminateServer When TerminateServer 0 if a server is started by the debug instrument this server is also terminated on exit reserve The reserved memory ranges from to for OCDS monitor resources EDE uses this field
469. st four elements of the array table from the demo c program type table 4d2 table 1 1 2 6 This command displays in decimal the first four 2 byte values beginning at the address of the array table By typing the a space followed by a carriage return you can advance and see the succeeding values in the same format Enter 0x11 24 120 720 5040 You may recognize that the array table contains the factorials for the integers 0 through 7 Accessing Code and Data 6 17 Displaying memory in this way is particularly effective when you have two dimensional arrays In this case you can display each row by specifying the appropriate count For instance if myarr is defined as int myarr 5 8 myarr 8ds displays the values for the eight elements in the first row of myarr Typing the carriage return repeatedly then display subsequent rows in the same format To scroll back in memory type the caret sign A 0x9 1 1 2 6 FUNCTION Display value s at previous memory location COMMAND A 6 3 5 DISPLAYING MEMORY ADDRESSES The f command lets you specify in which notation CrossView Pro displays memory addresses It takes the same arguments as the printf function in C FUNCTION Specify memory address notation COMMAND f printf style format For instance if you wish to display all memory addresses in octal type f uw So Now all addresses appear in octal To return to the default hexadecimal
470. st recently executed lines of code CrossView Pro automatically updates the Trace Window each time you halt execution as long as the window is open allowing you to check the progress and flow of your program throughout the debugging session The Trace Window is only supported if your execution environment supports the trace facility Trace Source OF x Continue demo c main 56 initval 17 demo c main 58 if initval gt recordvar a demo c main 60 sum 0 demo c main 66 for loopvar 0 loopvar al z Figure 4 12 Cross View Pro Trace Window Using CrossView Pro 4 35 4 6 8 TERMINAL WINDOW The Terminal Windows shown in figure 4 13 let you observe and test the input and output of your program The CrossView Pro Terminal windows provide an interface to exchange data with the application on the target This I O facility can be implemented in various ways Using standard I O stream function calls like printf in your source you can test I O to and from the target system or simulator The File System Simulation feature redirects I O to a Terminal Window if the filename FSS_window window_name is used in the open call window_name is the name of a Terminal Window A terminal window can be connected to multiple I O streams of various types For example streams 0 1 and 2 can be mapped to one terminal window An I O stream however can be mapped to one terminal window only Each terminal win
471. stalled The U is required For more details refer to MrmOpenHierarchy in the OSF Motif Programmer s Reference manual 2 4 USING X RESOURCES X toolkit resources specify GUI object widget attributes Resources are specified in either the Xdefaults file or in application class specific files The Xdefaults file is typically loaded into the X server at the start of the session Any changes take effect only in a new session or after using xrdb Alternatively application class resource files may be used Application resource files have the same name as the executable CrossView Pro version they refer to first letter NOT capitalized Application resource files must be present either in the directory specified by the HOME environment variable or in the app defaults directory The app defaults directory is typically located under usr 1lib X11 X recognizes various environment variables for specifying paths to the application resource files For more information consult the chapter on X resources in O Reilly s X Toolkit Intrinsics Programming Manual and your system documentation The X resource specification allows either global loosely bound specifications foreground black or per widget instance specifications button foreground black The following list shows the relevant widgets used by the Motif version of CrossView Pro Windows TOP LEVEL XmMainWindow gt XmDrawingArea CHILD XmScrolledWindow gt XmDr
472. stry under My Computer HKEY_CURRENT_USER AppEvents EventLabels Use regedit to start the registry editor snd_xvw_bphit XVW Breakpoint Hit snd_xvw_download XVW Program Download snd_xvw_start XVW Start snd_xvw_exit XVW Exit snd_xvw_run XVW Run snd_xvw_step XVW Step Into snd_xvw_stepover XVW Step Over snd_xvw_stop XVW Stop snd_xvw_syms_ load XVW Load Symbols snd_xvw_syserror XVW syserror snd_xvw_uerror XVW uerror 2 You must also add the same list of keys without values to My Computer HKEY CURRENT _USER AppEvents Schemes Apps Default 3 Now go and start the Sound settings in your Control Panel Here you can assign a sound to each event You can also assign None to an event which prevents CrossView Pro from playing a sound if that specific event occurs C 4 Appendix C 4 For the sound effects to become operational you also have to edit the xvw ini file You can do this using any editor e g the Windows notepad command Add the following line at an arbitrary line to your xvw ini file sound effects TRUE It is also possible to disable the sound effects by changing this line into sound effects FALSE Now all sound effects are disabled ROM RAM MONITOR all TASKING M WNadNsaaqav ROM RAM Monitor Mon 3 1_ INTRODUCTION This addendum contains information specific for the C166 ST10 family target boards with a ROM or RAM debug monitor A target
473. syntax 4 2 USING THE CROSSVIEW PRO INTERFACE This manual uses the word Windows to generically refer to the host computer system s windowing system On PCs this is equivalent to Microsoft Windows XP or 2000 On UNIX workstations this refers to the X Window System Generally this manual makes no distinctions between the various windowing systems unless needed to clarify the discussion This manual assumes you possess a basic familiarity with Windows software For this reason discussion focuses on how CrossView Pro works rather than how to use the Window interface For more information on your Windows system consult the Windows documentation provided with your host system You can execute most CrossView Pro commands using either mouse or textual commands Mouse commands are executed by means of buttons and pull down menus in each of the separate CrossView Pro windows Text commands are typed at the prompt in the Command Window In most cases there is no difference in functionality between mouse and text equivalents 4 4 Chapter 4 c This manual discusses both methods of performing CrossView Pro functions For a quick reference guide to all CrossView Pro commands refer to the Command Reference chapter 4 3 STARTING CROSSVIEW PRO Once an absolute file has been made it can be executed by CrossView Pro There are several ways to invoke CrossView Pro From EDE To start CrossView Pro from EDE the Embedded Developm
474. t cxl_reset script D Dy pmumber d cpu eC cpu ec g line address gi 1 0 ied Reset all variables of all CXL scripts or of a specific CXL script Delete all breakpoints Delete all breakpoints without prompt for confirmation Delete breakpoint number Start execution on the current CPU and switch to cpu Select CPU or show current CPU number Go to the specified line in the current procedure Go to the specified adrress Enable or disable interrupt enabled debugging if exp cmds cmds prst Q q Y qs R rst Conditionally execute commands Reset program counter Report breakpoint quietly Quit debugger do not save desktop settings Save current desktop settings and quit debugger Reset program counter and start execution Reset target system to initial conditions Command Reference 13 11 exp S Single step for exp lines step over function calls exp s Single step for exp lines step into function calls exp Si Single machine step for exp machine instructions step over subroutine calls exp si Single machine step for exp machine instructions step into subroutine calls st Stop the execution of the target immediately This command is not available for all execution environments interval u d k r s a mem t Toggle updating of the appropriate window when the target runs in the background You can specify the update interval in seconds If interval is zero never upd
475. t e Data Window Displays the values of data that are being monitored e Data Analysis Window Graphically displays signal data for analysis e Stack Window Displays the application s stack trace e Trace Window Displays the most recently executed lines e Terminal Windows Can be used for I O simulation of an application 4 22 Chapter 4 s Improving CrossView Pro Performance CrossView Pro updates every window that is open except for the Data Analysis windows even if it is iconized minimized Keeping a window up to date usually involves extra communication with the emulator slowing CrossView Pro down For instance if the Register Window is open CrossView Pro asks the emulator to dump the contents of all displayed registers after each single step Thus it is a good idea to keep only those windows open that you need 4 6 1 COMMAND WINDOW The Command Window allows you to e Enter CrossView Pro and emulator commands from the keyboard e View a history of CrossView Pro commands or emulator commands e View the result of CrossView Pro commands or emulator commands e Execute playback files in single step mode From the View menu you can specify if you want the Command Window to be a CrossView Pro Command Window or an Emulator Command Window This way you can specify whether CrossView Pro interprets commands or they go directly to the emulator Figure 4 6 shows the Command Window You can type commands int
476. t Refer to section Building Your Executable in chapter Overview If this condition persists please contact the TASKING Technical Support staff for assistance don t have symbols for this procedure You will need to re compile assemble link and locate with the proper debugging options before using this command See section Building Your Executable in chapter Overview for details have no source file for this address The program counter holds an address which is outside all the address ranges that CrossView Pro knows about This may happen if program execution has reached a file that was not compiled with the g generate debug symbols switch need a linenumber The go g command requires a line number Enter a line number and the command will be executed Illegal address for Emulator Hardware Breakpoint The address specified is out of emulator hardware breakpoint memory range Verify the address and retry Illegal argument 0 to p command You must specify a number greater than 0 for the p command which prints the specified number of lines Illegal argument to command command argument You have passed an illegal argument to the specified command Refer to chapter Command Reference for legal arguments Illegal argument to ct argument You have passed an illegal argument to the C trace command Refer to chapter Command Reference for legal arguments Error Messages 14 11 Illegal data monitor c
477. t Code Breakpoint 7 34 7 Chapter 7 5 We want to establish a breakpoint at line 112 the first line of the function f and attach commands to the breakpoint to activate assertion mode and continue execution Change the Line number to 112 Click in the Command edit area and enter Aa Cc Activate the assertion and continue Create an assertion whose only function is to check that the current line number is still valid for assertion mode To do this use the reserved special variable LINE which contains the line number of the current execution position In the Assertions dialog box click on New and enter if SLINE gt 120 A s 1 x C If the line number exceeds 120 the program is about to leave the function f and CrossView Pro deactivates assertion mode Normally the x command would make the program stop but the non zero value tells CrossView Pro to execute the rest of the commands in the list in this case C for continue You must enter all commands in the Command Window First set up the assertion you want a if global_val 17 x Now set a breakpoint on the first line of the function factorial that will activate assertion mode and continue execution 110 b A a C Now create an assertion that does nothing but make sure that the current line number is still valid for assertion mode If the line number exceeds 120 you know you have left the function and assertion mode should be suspend
478. t DCE target DTE signal pin D9 pin D25 pin D25 pin D9 signal RTS 7 4 gt 4 7 RTS CTS 8 5 aa 5 8 CTS TxD 3 2 MEIL TENS 2 3 TxD RxD 2 3 ee 3 2 RxD GND 5 7 ar 7 5 GND DSR 6 6 22 6 6 DSR DTR 4 20 S 20 4 DTR DCD 1 8 al 8 1 DCD 9 TROUBLESHOOTING THE DEBUG MONITOR A summary of possible known causes when the monitor does not work connection errors See section 8 5 Connection Problems in this addendum incorrect values in data or GPRs Check if the register area of the monitor is reserved incorrect values in some SFRs Check if the monitor data area is reserved the monitor saves some SFRs in this area ROM RAM Monitor Mon 51 cannot stop execution of user program The serial receive interrupt used to break into monitor has by default a very low interrupt level LVL GLVL If your application keeps running an interrupt with a higher interrupt level the serial interrupt will not activate the monitor or activates it too late The interrupt level is set this low so that if your application uses short interrupt routines or PEC transfers at a higher level they can continue running This problem can be solved by rebuilding the monitor program with a higher interrupt level Execution Environment 10 TARGET BOARD APPLICATION NOTES When you invoke CrossView Pro you have to specify which board is used with the tcfg cfe filename option see section 6 The Target Configuration File You can select
479. t at machine instruction and associate command list cmds addr bi cmds Set breakpoint at machine instruction and associate command list cmds count bINST cmds Set temporary breakpoint after count machine instructions and associate command list cmds count binst cmds Set breakpoint after count machine instructions and associate command list cmds break type where option Universal breakpoint command Several types of breakpoints are available The meaning of where depends on the selected type Breakpoint options must be separated by commas time bTIM cmds Set temporary breakpoint after time number of seconds and associate command list cmds time btim cmds Set breakpoint after time number of seconds and associate command list cmds stack bU cmds Set a temporary up level breakpoint at stack level stack and associate command list cmds stack bu cmds Set up level breakpoint at stack level stack and associate command list cmds 13 10 Chapter 13 exp C ine Continue execution from current value of program counter If line is specified execution continues up to that line Breakpoint s count is set to exp lexp CB line cxl script Continue execution in background from current value of program counter If line is specified execution continues up to that line Breakpoint s count is set to exp This command is not available for all execution environments Execute a CXL scrip
480. t available for all execution environments Please check the addendum for details The Trace Window displays the most recently executed lines of code each time program execution stops CrossView Pro automatically updates the Trace Window each time execution halts as long as the window is open For each executed line of code the Trace Window displays e The name of the source file e The name of the function e The line number and corresponding source code e The window shows all the code executed since the the last time the program halted 6 6 1 TRACE WINDOW SETUP The Trace Window s only function is to display the contents of the emulator s simulator s trace buffer The only operation you can perform in this window that directly affects the contents is to set the maximum number of instructions in the display amp To set the displaying limit select Trace Setup from the Settings menu You can change the maximum number of C Trace machine instructions to fetch from the execution environment s trace buffer and the maximum number of trace output lines in the Trace Window Ea To view the most recently executed source statements from the Command Window use the ct command preceded by the number of machine instructions you want to list For example to view the last source lines corresponding to the last ten machine instructions enter 10 ct FUNCTION Display in the Command window the most recently executed C statement
481. t command with no arguments or display the Macro window for currently defined macros Unknown window CrossView Pro does not recognize the window name as given See chapter Command Reference for valid window arguments Unsupported format type parameter Supported types are c character x hex and o octal Value number is not defined for this enum The member specified was not part of the enumerated set Please check the spelling and verify that the correct enum was used Value exceeds depth of stack A stack level was specified that does not currently exist Please check the value and retry Check the stack window for valid stack levels or execute a t command trace stack to determine the depth of the stack VMS error cannot establish handler for signals CrossView Pro on VMS could not establish proper error handlers If the condition persists please contact the TASKING Technical Support staff for assistance VMS error cannot establish pasteboard CrossView Pro on VMS can not establish the running environment If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance VMS error cannot establish virtual keyboard CrossView Pro on VMS can not establish the running environment If the condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance Error Messages 14 25 VMS error co
482. t configuration file match your board if you want to boot the monitor using the on chip bootstrap loader the bslack field must be defined the right boot program must be defined with the boot field and the right monitor must be defined with the mon field the init field can be used to initialize several registers These registers include bus and system configuration registers Check if the values for these registers match your board configuration Changing the bus mode on the board may imply that you have to modify the values for these registers the registers specified in the init field must be defined as an SFR in the register file specified with the register file field Check if you specified the right register file and if this register file includes these registers d gt See also section 6 The Target Configuration File in this addendum e you may have serial communication problems When you have serial communication problems check the following check the serial parameters 8 data bit 1 stop bit no parity no handshake You can set the parameters with the D command line option or the Target Communication Setup dialog check whether the IRQ settings of both COM ports do not conflict with any other device in the PC Mon 49 Mon 50 Execution Environment check whether the target execution board loops back control flow signals decently If not make it yourself by creating the following cable hos
483. t targ gt default interface ICommandLine Ok default source dispinterface _ICommandLineEvents A 20 Appendix A 7 2 DDE SERVER INTERFACE 2 1 INTRODUCTION CrossView Pro offers an Interprocess Communications IPC option using the Microsoft Windows Dynamic Data Exchange DDE interface for external control of CrossView Pro The DDE interface offers direct access to the CrossView Pro command interpreter Via the DDE interface you can execute every CrossView Pro command that you can access via the regular CrossView Pro command window and retrieve the output produced by the executed command 2 2 DDE ITEMS AND TOPICS DDE function calls always return whether they succeed or fail They do not report application command errors Retrieve and interpret the cmdoutput item or cmdannotatedoutput item to check for errors Help Topic System Item Help Operations Request Advise Description Returns a brief overview of the topics and items in ASCII text format Interprocess Communication A 21 cmdoutput Topic Command Item cmdoutput Operations Request Advise Description Retrieves all command window output of the last executed command via the Command topic This item empties itself after it has been requested A 22 Appendix A cmdannotatedoutput Topic Command Item cmdannotatedoutput Operations Request Advise Description The first line indicates the error st
484. t unknown gt Information lost by CrossView Pro while processing and interpreting this information is displayed as dashes On the next automatic or manual update all debugging information in the currently open views is automatically updated All visible lt unknown gt values and dashes are replaced with their actual values as produced by the running target 11 7 8 ASSERTIONS CrossView Pro automatically suspends assertions with the CB command DEBUGGING NOTES all TASKING M daLdVH Debugging Notes 12 3 Here are a few notes about debugging in special situations 12 1 DEBUGGING ASSEMBLY LANGUAGE Just as with C sources you can debug assembly language programs or modules The s S and si commands single step through the assembly source You may place code breakpoints on assembly language instructions with the bi command For additional information on debugging assembly code see Sautosrc mixedasm and symbols in the Reserved Special Variables table in section 3 4 There is a restriction on debugging assembly language code e Assembly language subroutines cannot be called from the command line 12 2 DEBUGGING MULTIPLE PROGRAMS You probably have only one linked and located absolute object file that describes the whole system load However for various reasons you may want to build your system load by linking and locating into several files The debugger can handle the symbols from o
485. ta breakpoints only on code breakpoints Example To disable code breakpoint number 3 type Command Reference 13 53 bena Function Enable code breakpoint From the Breakpoints menu select Breakpoints On Windows toggle the check box in front of the breakpoint to enable or disable the breakpoint On UNIX select the breakpoint and click the Enable or Disable button g The command line syntax is number bena Description Enable the code breakpoint associated with the given number which was previously disabled by the bdis command This command does not work on data breakpoints only on code breakpoints Example To enable code breakpoint number 3 type 13 54 Chapter 13 bi Function Seta temporary low level breakpoint at a machine instruction From the Breakpoints menu select Breakpoints to open the Breakpoints dialog box Click the Add gt button and select Code Breakpoint to open the Add Code Breakpoint dialog Edit the Break At field In the Advanced dialog enable the Remove when hit check box E The command line syntax is laddr bI cmds Description Set a temporary breakpoint at the machine instruction at address addr or the current viewing position s address if addr is not specified the list of CrossView Pro commands cmds are executed when the breakpoint is hit Make sure that addr is the start address of a machine instruction otherwise the results are unpredictable When the
486. tack helps you with the problem by recording the return addresses of all functions you have passed through CrossView Pro can use this information to reconstruct the path to your current location The following diagram shows the structure of the stack Figure 6 1 Stack frame layout 6 5 1 double precision return value conventional parameters pushed register parameters pushed register automatics conventional automatics temporary storage stacksize framesize stack pointer adjust HOW THE STACK IS ORGANIZED c166 maintains two types of stack the system stack and the user stack Accessing Code and Data 6 21 The system stack is used for return addresses CALL RET instructions and can be accessed via PUSH POP instructions using the SP register Because the system stack can be very small internal memory for the C166 ST10 c166 tries to avoid it as much as possible Code generator temporaries are pushed on the user stack Via the Ou option it is even possible to let a task switch interrupt use the user stack instead of the system stack You must specify the size of the system stack size in the system startup code SYSCON register which is the system stack size for all tasks the whole application For the behavior of the C166S v2 0 and Super10 architectures please refer to their respective user s manuals The user stack is the so c
487. target program that CrossView Pro maintains for the user s benefit Special variables start with a and are defined when first mentioned CrossView Pro also maintains reserved special variables that contain information about the state of the debugging session stack depth The level that a particular return address from a function resides on the stack The current function is always at stack depth zero stack traceback An operation in which CrossView Pro reads the return addresses and passed parameters off the stack to reconstruct program flow stack window A CrossView Pro window showing the function calls on the stack with the values of the parameters passed to them startup options Special command line switches passed to CrossView Pro when the debugger is first loaded These options control items such as the number of assertions allowed or can perform various actions such as to start recording screen output to a file stream A particular input or output data path for I O simulation Per method File System Simulation File I O or Debug Instrument I O a unique stream numbering scheme is used switches See startup options Glossary 15 11 symbolic debugger A type of debugger generally limited to dealing with global non dynamic variables Symbolic debuggers know nothing of the data types they translate global names and global subroutines into addresses See also source level debugger symbol information The necessary
488. ted in an annotated format See CmdAnnotatedOutput in section 1 4 Events for the format description Specify NULL if you do not want any output Returns TRUE on success FALSE on error ExecuteNoWait BOOLEAN ExecuteNoWait BSTR Command long SequenceNumber Queues a command for execution and returns TRUE of FALSE after the command has been passed but before it is executed Command The command to be executed by CrossView Pro SequenceNumber A number that is unique for each command You can use this number to distinguish the output in the events stream If you do not use this specify a value of 0 Returns TRUE if the command is successfully passed FALSE on error Halt void Halt void Halts the execution of the current command 1 3 3 IMPLEMENTATION DETAILS A multi threading MTA type of appartment is used with a free threading model for example ThreadModel Free However each CLSID can have its own distinct ThreadingModel Only one client can connect to a COM object instance of CrossView Pro Each next CoCreateInstance will result in a new CrossView Pro COM object instance being created Be aware that DLLs are not supposed to call CoInitialize themselves Once the concurrency model for a thread is set it cannot be changed A call to CoInitialize on an apartment that was previously initialized as multithreaded will fail and return RPC E CHANGED MODE Appendix A Typically the COM library is initialized on a th
489. tem simulation enables the application on the target board to use system calls such as open read write that are handled by the host system file I O services These files can be read directly from the host system and output can be written to a file on the host system or in a CrossView Pro window File system simulation is available for all execution environments The File System Simulation feature redirects I O to a Terminal Window if the filename FSS_window window_name is used in the open call window_name is the name of a Terminal Window You can specify a root directory for FSS CrossView Pro will search for the file from the root directory downwards You can do this in the I O Simulation Setup dialog by entering a directory name in the FSS root directory field of the Options tab This setting is saved in the xvw ini file Another possibility is to set a temporary resource by specifying the command line option fss_root_dir path on CrossView Pro startup You can redirect File System Simulation streams to a file or another stream Redirection to a file can be needed when a stream is only mapped to a window and you want it to be mapped to a file also Redirection can be used for scripting purposes using the FSS command FSS lt gt H amp stream file 10 8 Chapter 10 For example FSS 2 gt amp 1 FSS 1 lt amp 4 FSS 4 lt data txt FSS 3 gt data txt The first example will redirect output of st
490. th the product in the etc directory app_def mwm for Motif fontList 7x13bold foreground black XmMainWindow background white 2 6 Chapter 2 XmScrolledWindow background white XmDrawingArea background white XmBulletinBoard background DarkSeaGreen XmToggleButton background gray XmLabel background gray XmText background white XmScrollBar background gray XmPushButton background gray XmFrame background SeaGreen XmArrowButton background gray XmForm background SeaGreen XmMenuShell background DarkSeaGreen XmCascadeButton background SeaGreen If you encounter any problems due to incorrect resource settings like invisible text caused by identical text and background color clear the RESOURCE MANAGER Use the following procedure to clear the RESOURCE MANAGER Save a copy of the Xdefaults file located in your home directory Install an empty Xdefaults file Execute xrdb all Xdefaults to actually clear the RESOURCE_MANAGER property Restart CrossView Pro and check if windows and dialogs are displayed correctly Now you add the saved resources one by one back into the Xdefaults file and execute xrdb to install them in the server Restart CrossView Pro and check the influence of the new resource settings Adapt your saved resources when necessary COMMAND LANGUAGE all TASKING M ddaLdVH Command Language 3 1 INTRODUCTION The syntax and semantics of CrossVie
491. the board in the Target Settings dialog From the selected target board CrossView Pro knows which CPU boot program monitor program and register file are used The following table contains an overview of all supported target boards Ertec GmbH Bootstrap Monitor Flash Configuration File Loader Monitor EVA165 b167 sre m167n sre f167 sre eva165 cfg EVA167 b167 sre m167r sre f167 sre eva167 cfg FS FORTH Systeme Bootstrap Monitor Flash Configuration File Loader Monitor EVA167 with C167CR Demux b167nrb sre m167r sre f167 sre fsf_167cr_demux cfg EVA167 with C167CR Mux b167nrb sre m167r sre f167 sre fsf_167cr_mux cfg ST10x168 b167nrb sre m167r sre f16x sre fsf_168 cfg ST10x269 b167nrb sre m167r sre f167 sre fsf_269 cfg ST10x276 b167nrb sre m167r sre f276 sre fsf_276 cfg ST10x280 b167nrb sre m167r sre f167 sre fsf_280 cfg Super10 Evaluation Board bext2i sre mext2b sre fext2 sre fsf_super1Obo cfg Super10 Evaluation Board with bext2f sre mext2fb sre fext2 sre fsf_super1Obo_fod cfg fast baudrate Super10R303 Evaluation Board bext2i sre mext2b sre fext2 sre fsf_super1 0r303 cfg Super10R303 Evaluation Board bext2fi sre mext2fb sre fext2 sre fsf_super10r303_fbd cfg with fast baudrate I ME ACTIA Bootstrap Monitor Flash Configuration File Loader Monitor l ME C167C bi_me167 sre m167r sre 167 sre ime167c cfg Infineon Bootstrap Monitor Flash Configuration File Lo
492. the new device is shown in the list 9 Specify the data workspace address used by the FLASH programming monitor This address may not conflict with the addresses of the FLASH devices 10 Click OK The FLASH device is now known to CrossView Pro Eg Type the fa and fw commands on the command line for example fa AM29F040 0xFFE00000 8 2 fw 0x10000 FUNCTION Add a FLASH device COMMAND fa device_name base_address chip_width nr_of chips FUNCTION Specify FLASH programming monitor workspace COMMAND fw address To flash an application file 1 From the File menu select Load Symbolic Debug Info or Download Application The Load Symbolic Debug Info dialog or Download Application dialog appears 11 22 Chapter 11 2 Specify the name of the application you want to debug download and flash into a FLASH device 3 Select Enable flash if you want to start the flash programming when you click Load 4 Click Load CrossView Pro downloads the application file and flash programming Starts Special Features 11 23 11 7 BACKGROUND MODE B Background mode is a feature for running the application under debug and CrossView Pro at the same time This allows you to monitor the target application using CrossView Pro while the application is running Depending on the target hardware and or debug instrument connected to CrossView Pro target execution can even be real time Since CrossView Pro s monitoring of t
493. the target into a buffer fee The command line syntax is rawmemget address lype count buffername interleave Description The rawmemget command is used to retrieve data from the target system and to store the data in the acquisition buffer buffername Data in the acquisition buffer is of type double CrossView Pro will automatically handle data conversion based upon the type of the data It reads count elements of type type from the target starting at address address into the buffer interleave indicates the distance between successive elements The default value is sizeof type Example To retrieve 18 integer values from memory starting at address 0x100 and store these in acquisition buffer buffer rawmemget 0x100 int 3 6 buffer bufa bufd graph memeget Section 11 5 Data Analysis in chapter Special Features Command Reference 13 171 rst Function Reset target system to initial conditions Q From hte Run menu select Reset Target System Eg The command line syntax is rst Description The target is initialized according to the power up sequence for the processor Almost all registers including the system stack pointer and program counter are initialized AN A target system reset may have undesired side effects To be sure that the application code is correct a download must be performed after a target system reset AN This command is not allowed when the target runs in the background d gt R p
494. the unusual memory configuration the boot program exists in a special configuration bi_me167 sre This boot program is translated with the C preprocessor macro I_ME_C167C defined which enables the code to configure the memory for this board CrossView Pro is only tested in combination with the RAM debug monitor For using the RAM debug monitor the on chip BSL should be enabled with the appropriate jumper 10 3 2 CONNECTION The I ME C167C board should be connected to the host computer using the D Sub 9 female connector The board does not loop back handshake signals decently so when you have connection problems please read section 9 Troubleshooting the Debug Monitor first ROM RAM Monitor Mon 57 10 4 PHYTEC MM 165 MM 167CR AND MM 167CW The debugger has been tested with the PHYTEC miniModul 165 167CR and 167CW plugged on the baseboard The TASKING boot program and monitor can be loaded and downloaded by CrossView Pro For more information about the boot program and monitor see section 5 The RAM and ROM Debug Monitor The following sections describe some details on the configuration for the monitor for the MM 165 MM 167CR and MM 167CW boards 10 4 1 BOOT PROGRAM Because of the unusual memory configuration the boot programs exist in a special configuration b167nrb sre This boot program is translated with the C preprocessor macro NORAMBOOT defined which enables the code to start the monitor correctly This boot progr
495. tion File Loader Monitor KitCON 167 using b167nrb sre m167crd sre f167 sre ke167cd cfg PEAK CAN Dongle MicroMODUL 165 b167nrb sre m167r sre f167 sre um165 cfg MiniMODUL 165 b167nrb sre m167r sre f167 sre mm165 cfg MiniMODUL 167CR b167nrb sre m167r sre f167 sre mm167cr cfg MiniMODUL 167CS b167nrb sre m167r sre f167 sre phy_167cs_mm cfg MiniMODUL 167CW b167nrb sre m167r sre f167 sre mm167cw cfg MiniMODUL ST10F168 b167nrb sre m167r sre f167x sre mmst10f168 cfg NanoMODUL 164 b164nrb sre m164r sre f167 sre nm164 cfg phyCORE 161CS JC JI b167nrb sre m167r sre f167 sre phy_161jc_phycore cfg phyCORE 167 b167nrb sre m167r sre f167 sre phy_167cs_phycore cfg phyCORE ST10F168 b167nrb sre m167r sre f167x sre phy_168_phycore cfg phyCORE XC161CJ bxc16xnrbe sre mxc16xre sre fxc16x sre phy_xc161cj_phycore cfg phyCORE XC161CJ with fxc16x sre phy_xc161cj_phycore_ocds cfg OCDS phyCORE XC167Cl bxc16xnrbe sre mxc16xre sre fxc16x sre phy_xc167ci_phycore cfg phyCORE XC167Cl with fxc16x sre phy_xc167ci_phycore_ocds cfg OCDS Rigel Corporation Bootstrap Monitor Flash Configuration File Loader Monitor RMB 165 b167 sre m167r sre f167 sre rmb165 cfg RMB 167 b167 sre m167r sre f167 sre rmb167 cfg RMB 167CRI b167 sre m167r sre f167 sre rm167cri cfg RMB 167SR b167 sre m167r sre f167 sre rmb167sr cfg STMicroelectronics Bootstrap Monitor Flash Configuration File Loader Monitor Super10 Evaluation Board bext2i sre mext2b sre fext2 sre evasuper10 cfg
496. tion position use the C command Although risky the g command does have its uses especially in conjunction with breakpoints to patch code Refer to the Breakpoints and Assertions chapter for more information For example to change the execution position from the current line 54 to line 62 enter g 62 5 6 Chapter 5 When you resume execution in this program it is from line 62 instead of line 54 FUNCTION Change the execution position to a specified C source line COMMAND g line_number You can also change the execution position to a specified address directly although the same warnings apply To do so use the gi command For instance 0x800 gi FUNCTION Change the execution position to address COMMAND address gi Of course moving the program counter gi command is even more potentially reckless than using the g command Use both with caution especially when debugging a program which has instructions re ordered due to optimizations To determine the address of a line of source use the P command 80 P 80 0x1486 sum sum 1 The hexadecimal number in parentheses is the instruction address for line 0 ee FUNCTION Print a source line and its instruction address COMMAND line_number P Controlling Program Execution 5 7 5 1 3 SYNCHRONIZING THE EXECUTION AND VIEWING POSITIONS Each time you stop execution the position of the program counter PC is visible in th
497. tions are violated the program may run away when you attempt to single step 5 4 SEARCHING THROUGH THE SOURCE WINDOW CrossView Pro can search for addresses and functions in the entire application and for line numbers and strings in the current source file A string search starts from the current viewing position and wraps around the end or begin of the current source file The string search ends when a matching string is found or when it returns to the starting point 5 4 1 SEARCHING FOR A FUNCTION There are several ways to find a function Q Using the mouse e From the Edit menu select Find Symbol to open the Find Symbol dialog box Select the function you are looking for e Click on the Find Symbol button in the Source Window to open the Find Symbol dialog box e Select a function in the Stack Window double click to show the line that called it E From the Command Window you can either specify e followed by the function name or a stack position followed by e For example e main Find the function main le Find the line that called the current function CrossView Pro searches through all the relevant source code files to find the one containing the body of the function The part of the file containing the function appears in the Source Window Controlling Program Execution 5 15 5 4 2 SEARCHING FOR A STRING CrossView Pro allows you to search for a particular string in the current source file
498. tive commands will be ignored 9 4 LOGGING Logging means that all output text to a particular window is saved in a file for later use Two windows allow logging e Command Output Window upper part of the CrossView Command Window e Emulator Output Window upper part of the Emulator Command Window GDI Accesses can also be logged This is the information transferred between CrossView Pro and the Debug Instrument DJ You can control logging from the Tools menu or from the Command Window You can also determine the status of each logging function From Tools menu select Log Command Input Output Log CrossView Emulator I O or Log CrossView GDI Accesses If a logging function is is active the Stop button is enabled If the Start and OK buttons are enabled logging is off Enter the gt gt gt amp or gt command in the Command Window Each type of logging is described in the following section Command Recording amp Playback 9 13 The Emulator Output Window is primarily a diagnostic tool It should be used wisely since it generates substantial amounts of output the format of which is emulator dependent For emulators that have an ASCII interface the actual command response dialogue will be displayed For emulators with a binary interface CrossView Pro will generate a record of function calls with their associated input and output parameters This also applies to the GDI Accesses outp
499. tivity information for variable names It is initially case sensitive for the C language You may toggle case sensitivity by From the Edit menu select Search String to view the Search String dialog box This dialog contains the Case Sensitive check box E Typing the capital Z command in the Command Window USING CROSSVIEW PRO all TASKING M daLdVH Using CrossView Pro 4 3 4 1 INTRODUCTION This chapter and the following 8 chapters give you a comprehensive picture of CrossView Pro s features In order to address the broadest range of expertise the contents range from introductory examples to the more technical aspects and techniques of debugging with CrossView Pro While it is not necessary for you to read the chapters straight through you may find it especially helpful to do so All of the examples are from the sample program demo c which comes with CrossView Pro For a complete description of the commands presented in this chapter consult the Command Reference chapter Each CrossView Pro command introduced in the text has a matching box summarizing its syntax and semantics The command description follows these general rules Items in bold font are the actual CrossView Pro commands save set Items in dalics are names for the things you should type filename commands In addition the symbol means or For instance screen filename means you can use the word screen or a filename in the
500. ton also starts gathering of profiling data Normally both function and code range profiling will slow down the execution speed of the application being debugged Therefore switch off profiling whenever the timing information is not required 11 5 DATA ANALYSIS db CrossView Pro incorporates an advanced signal analysis interface designed to enable developers to monitor signal data more critically and thoroughly This feature is useful when developing signal processing software for application areas such as communication wireless and image processing The Data Analysis window as shown in figure 4 15 is used for this purpose This window is opened as result of processing a data analysis script CXL script and is only updated on user request TASKING provides scripts for standard signal analysis such as x t plotting x y plotting FFT power spectrum FFT waterfall combined FFT power spectrum and phase and eye diagram However the programmer can write CXL scripts and process the data in the format he desires Refer to the CXL syntax specification in Appendix B CrossView Extension Language CXL for details 11 12 10 Chapter 11 Four processes are associated with the graph window Get raw data Transform data Generate representation Draw The get raw data process retrieves data from the target and stores the data at the host system in one or more CrossView Pro internal acquisition data buffers Since these buffers re
501. ton and select Code Breakpoint to open the Add Code Breakpoint dialog Enter the name of the source module or click the Break At button to select a source module and enter a line number Alternatively you can set a code breakpoint directly in the source by clicking on a green breakpoint toggle next to the source line Ea The command line syntax is Line b commands Description You can attach a list of CrossView Pro commands with the breakpoint If no line is given set the breakpoint at the current viewing position When the breakpoint is hit execution is halted By default the current execution position function line number and source statement are displayed Next any commands associated with the breakpoint are executed The Q command can be used to suppress the output from the b command Example To set a breakpoint at the current line type b To set a breakpoint at line 10 that will list all global variables and halt execution type 10 b 1 g d break bd bD bdis bena bb bB bi bI bt bti btI bu bU Q Command Reference 13 43 bB Function Set a temporary breakpoint at the beginning of a function In the Stack Window click on the desired function and select Stack Breakpoint At Function Entry from the Breakpoints menu g The command line syntax is stack bB cmds Description The function is designated by the stack level stack If no function is specified CrossView Pro uses th
502. top executing the current command line If an external client needs to know this too the Halt button must be reported explicitly If not only when the Halt button actually is hit during a command line execution cancellation is the case and reported via an event If the command line just finished nothing is being done so needs to be canceled hence no cancellation is reported either An example would be a client interpreting breakpoint hits and issuing continue commands to resume execution If the halt button should also stop the client from doing this the HaltButtonPressed event must be used Running Started executing the target RunningInBackground Started target execution in background mode This is usually a mode in which a restricted set of operations can be performed for example read from a memory location Stopped cause Stopped target execution The cause is reported Possible causes A 10 Appendix A STEP A single step of any kind was finished Be aware that when using single step the debugger does not report any breakpoints the program counter arrives at BREAKPOINT name Breakpoint name was hit This includes cycle breakpoints time elapsed or number of instructions types Breakpoints that the user has set are reported as well Nameless breakpoints are reported using as name number where number is the CrossView Pro administration number If no name or number is known NAMELESS BREAKPOINT will be used AS
503. trOGUGHOM iepen ood g Act oh ahead Bae ate eG OCDS 3 2 Supported Hardware 00 eee eee eee OCDS 3 3 Additional System Requirements OCDS 3 4 Tasta lation 25 4 5 eerie ee hh hate E he ae he aca OCDS 4 4 1 Hardware Installation OCDS via the Parallel Port OCDS 4 4 2 Hardware Installation OCDS via DAS OCDS 4 4 3 Software Installation 00 einan a OCDS 4 4 4 Configuring CrossView Pro 0 00 eee eee OCDS 5 5 OCDS Breakpoints 0 0 0000 cece OCDS 5 6 The Target Configuration File OCDS 6 7 Infineon Board OCDS Interface Circuit OCDS 9 7 1 The Infineon JTAG connector 005 OCDS 11 7 1 1 The connector Layout nsss aussa uraa OCDS 11 72 Implementation Considerations OCDS 13 XV CONTENTS Table of Contents Manual Purpose and Structure XVII MANUAL PURPOSE AND STRUCTURE PURPOSE This manual is aimed at users of the CrossView Pro debugger for the C166 ST10 microcontroller family It assumes that you are familiar with programming the C166 ST10 MANUAL STRUCTURE Related Publications Conventions Used In This Manual CHAPTERS 1 Overview Highlights specific CrossView Pro features and capabilities and shows how to compile code for debugging 2 Software Installation Describes how to install CrossView Pro on your system 3 Command Language Details the syntax of CrossView Pro s command language 4
504. tval s new value initval 100 Note that CrossView Pro returns the values of variables with the syntax var_name value with any right hand side expression evaluated to a single value Changing variables in the Data Window Q To change a variable in the Data Window follow these steps e Inthe Data Window double click on the variable you wish to edit In situ editing will be activated e Specify the new value in the edit control and hit the Enter key When in situ editing is active you can use the Tab key to move the edit field to the next variable value or use the Shift Tab key combination to move the edit control to the previous variable 6 8 Chapter 6 E Assigning Structures CrossView Pro also allows you to assign whole structures to one another You can use a simple equation to assign the structures For instance to assign statrec to recordvar enter statrec recordvar Assigning Pointers Assigning to and evaluation of pointers requires some extra attention When requesting a pointer variable its near far or huge attribute is taken into account and the variable is evaluated accordingly For example bits 14 15 in a near pointer indicate which DPP register contains the data page value pn t global short near pn pn pn 0x4106 pn 1x2 pn 0x106 dpp0 SDPPO 0x1 dpp0 10 SDPPO 0XxA pn pn 0x28106 As you can see using a display format allows you to see how the pointer is actually sto
505. type f Voy Using the f command without an argument also returns to hexadecimal address display 6 18 Chapter 6 7 6 4 DISPLAYING DISASSEMBLED INSTRUCTIONS To show disassembled instructions Q From the View menu select Source Disassembly to open the Disassembly Source Window g Use the i format switch to display disassembled code in the Command Window By using an address and the i format it is possible to display disassembled code at any point Suppose you wish to see how the factorial function has been compiled One method would be to examine the instructions displayed as you single step through a program at the assembly language level There is however a quicker method that does not require you to execute the instructions Type factorial 10i This command displays the first ten assembly language instructions of factorial Remember that in C a function s name is also its address Thus factorial is the address of the function factorial Note that CrossView Pro keeps track of variable and function names for you in the disassembled code You can also disassemble from the current execution position by using the program counter Spc 5i This command disassembles five assembly language instructions from the current execution line You can display disassembled code for any function main 56 7i disassembles seven instructions from line 56 See also the ei command for displaying disassembly in a window
506. uded in the C libraries delivered with the c166 compiler package for all memory models supported In this case we are using the small model because this is the default memory model of c166 See the C166 ST10 C Cross Compiler User s Manual for detailed information on memory models and startup code 1 6 9 1 USING EDE EDE stands for Embedded Development Environment and is the Windows oriented Integrated Development Environment you can use with your TASKING toolchain to design and develop your application To use EDE on the demo program located in the subdirectory xvw in the examples subdirectory of the C166 ST10 product tree follow the steps below A detailed description of the process creating the sample program demo abs is described below This procedure is outlined as a guide for you to build your own executables for debugging How to Start EDE You can launch EDE by double clicking on the EDE shortcut on your desktop in 1 36 s Chapter 1 The EDE screen provides you with a menu bar a toolbar command buttons and one or more windows for example for source files a status bar and numerous dialog boxes Project Options Compile Build Rebuild Debug On line Manuals TASKING EDE Toolchain C target examples demo demo pit File Edit Search Project Build Text Document Customize Tools Window Help amp C target examples demo DEMO C CMtargetieramplesidemoipsp include lt string h gt demo 1 Project
507. ue Token 9 BYTE Parameters start address ADDR count ADDR fill value WORD Returns OxAA BYTE ROM RAM Monitor Mon 29 SETIP Description Set user program CSP IP registers on target to given address value Token 14 Ox0E BYTE Parameters new CSP IP value ADDR Returns none VERSION Description Receive the target monitor version string Token 15 OxOF BYTE Parameters none Returns monitor id string STRING Mon 30 GO Description Start user program on target Token 16 0x10 BYTE Parameters none Returns none SHOWSTAT Description Receive user program s most important SFR values Token 17 0x11 BYTE Parameters none Returns reg CP value WORD reg IP value WORD reg CSP value WORD reg PSW value WORD reg SP value WORD reg DPPO value WORD reg DPP1 value WORD reg DPP2 value WORD reg DPP3 value WORD reg ADCON value WORD reg STKOV value WORD Execution Environment ROM RAM Monitor reg STKUN value reg TOICON value reg T2CON value reg T3CON value reg T4CON value reg TSCON value reg TOCON value reg T78CON value reg TFR value SYNC Description Test if target monitor is alive Monitor should return acknowledge token OxAA Token 20 0x14 BYTE Parameters none Returns OxAA BYTE WORD WORD WORD WORD WORD WORD WORD WORD WORD Mon 31 Mon 3
508. ues The hexadecimal format is a whitespace separated no TAB hexadecimal string without the Ox prefix If the stream was opened in binary mode see ios_open for each MAU the number of bytes to be written equals the number of bytes that fits in 1 MAU For a MAU size of 24 bits CrossView Pro will write 3 bytes to the host If the mode is not binary CrossView Pro will write the least significant 8 bits 1 byte of each MAU to the host Example To write 16 minimum addressable units to stream 4 type ios write 4 0x100 16 To write 1 MAU hex value to stream Sostrm type ios write Sostrm 0x100 1 x dE ios_read ios_writef ios_open Command Reference 13 137 ios _writef Function Formatted write to an I O stream printf The data is obtained from the C expression for example a variable Eg The command line syntax is ios_writef stream file format expression Description You can specify a File I O stream number or a filename format is a format specifier as used in the printf C library function expression can be any CrossView Pro expression Valid format specifiers are d Decimal x Hexadecimal without Ox prefix c Char s String f Float Example To write the hex value of program variable ch1 to stream 4 type ios writef 4 x chl To write the hex value of register R2 to stream ostrm type ios writef Sostrm x R2 To write the hex values of program variable ch1 and target
509. ug Instrument using GDI used for debugging dieva166 for a target board connection using a serial or CAN interface Be aware the name should be specified without the extension dll bslack The bootstrap loader identification byte of the CPU on the board When CrossView Pro receives this byte from the board when making connection it starts the bootstrap sequence Please check your chip manual chapter Bootstrap loader for the definition of this identification byte You can specify multiple identification bytes by separating them with commas boot The filename of the boot program for target boards using a bootstrap loader CrossView Pro searches the boot program in the etc directory of the product or in the current working directory The field can be omitted when the ROM Monitor is placed in ROM or FLASH When this field is omitted CrossView Pro will issue an error when the target board requests bootstrap loading monitor The filename of the monitor program for target boards using a RAM debug monitor to be downloaded on the board using a bootstrap program CrossView Pro searches the monitor program in the etc directory of the product or in the current working directory The field can be omitted when the ROM Monitor is placed in ROM or FLASH When this field is omitted CrossView Pro will issue an error when the target board requests bootstrap loading flash_monitor The filename o
510. ults as this will often improve the performance of the execution environment Example To enable profiling type pe dh pa 13 164 Chapter 13 7 proinfo Function List profiling results From the Tools menu select Profiling Report Make your changes and select the Update button a The command line syntax is proinfo all module_or_function_namel filename Description If profiling is supported by your version of CrossView Pro and profiling is enabled this command lists the profiling results Without arguments same as all this command lists the profiling information of all modules and function Instead of listing the results you can also save the results in a file with extension pro Normally you should disable profiling if you are not interested in the profiling results as this will often improve the performance of the execution environment Example To list the profiling results of all modules and functions to the output window type pe proinfo To list profile information of function main to the output window type proinfo main To list profile information of all modules and functions in file hello pro type proinfo all hello pro db cproinfo pd pe Command Reference 13 165 prst Function Reset the application being debugged to initial conditions That is set the program counter to the start address of the application Q From the Run menu select Reset Application G
511. urrently selected formats You may however tell CrossView Pro to display an expression in a particular format other than the default format The format code follows the variable in one of two ways The simplest method of specifying display formats is from the Evaluate Expression dialog box To access this dialog box From the Data menu select Evaluate Expression E In the Command Window you can use several format codes shown in the next table to specify the variable display The format codes can be entered as variable format 3 14 B Chapter 3 to display the variable in format format or variable format to display the variable s address in format format The structure of the formatting code is count style size Count is the number of times to apply the format style style Size indicates the number of bytes to be formatted Both count and size must be numbers although you may use c char s short i int and 1 long as shorthand for size Legal integer format sizes are 1 2 and 4 legal float format sizes are 4 and 8 Be sure not to confuse CrossView Pro format codes with C character codes e g a CrossView Pro uses a forward slash not a backward slash Ne Style Description a Print the specified number of characters of the character array any positive size is OK Use the expression s value as the address of the first byte c Print a character any positiv
512. ut logging 9 4 1 SETTING UP LOGGING To setup logging amp From the menu system From Tools menu select Log Command Input Output Log CrossView Emulator I O or Log CrossView GDI Accesses to open the appropriate dialog box e Type in the name of the log file or use the Browse button to select a filename The default filename extension is log Each Log dialog box has an Automatically at CrossView startup check box This check box instructs CrossView Pro to start recording the output of a particular window or information stream upon starting up of CrossView Pro e Click on the OK button to save the current settings into the initialization file xvw ini for following debugging sessions e Click on the Start button to start logging E You can open up a log file for CrossView Command Output by using the gt gt filename command as in gt gt screen log You can force flushing by using the gt gt filename command as in gt gt screen log Eg You can open up a log file for Emulator Output by using the gt amp filename command as in gt amp target log 9 14 Chapter 9 You can force flushing by using the gt amp filename command as in gt amp target log You can open up a log file for GDI accesses output logging by using the gt filename command as in gt gdi log You can force flushing by using the gt filename command as in gt gdi log FUNCTION Save Cross
513. valent looks like xfw166 D can baud rate identifier 0 time_out board_segment hardware_index port IO_address interface_card_ID port id net_number interrupt_number hardware_channel manufacturer tfcg target_board cfg baud rate 50 125 250 500 1000 identifier Default is 30 This value is the send identifier host gt target the receive identifier target gt host is identifier 1 time_out tx rx timeout of handle Define to 0 board_segment Board segment the interface card is using hardware_index Index of the hardware slot 0 1 port_IO_address The memory address used to access the E ISA card interface_card_ID Vendor specific CAN host adapter This number in combination with the manufacturer identifies a unique interface card port_id PC I O port number or I O channel used for accessing the E ISA card net_number Locical net number the interface card is using interrupt_number Interrupt number the CAN interface card is using hardware_channel Index of the channel connector 0 1 manufacturer Name of the manufacturer of the CAN interface card Together with the interface_card_ID a unique interface card is defined ROM RAM Monitor Mon 45 target_board Name of the target configuration file cf g For example xfw166 D can 500 30 0 0 0 0 pcnetcan tcfg kc167c cfg 8 3 CAN INTERFACE MESSAGES The following messages can be displayed while CrossView Pro is communicating over
514. variable The frame at stack level number is used by the debugger for the scope search The current function is always at stack level 0 This format is very useful if you are debugging a recursive function and there are multiple instances of a variable on the stack variable CrossView Pro searches for a global variable named either variable or _ variable in that order variable CrossView Pro searches the list of special variables for variable Table 3 2 Variables in C expressions Command Language 3 9 Variables and Scoping Rules A variable is in scope at any point in the program if it is visible to the C source code For instance if you have a local variable initval declared in main and then step or move the viewing position into factorial initval will be out of scope You can still find the value of initval by typing main tinitval In this case CrossView Pro will search the stack for the function main then look outwards from that function for the first occurrence of initval in scope and report its value Note that main must be active that is program execution must have passed through main and not yet returned in order for initval to have a value You can also use the Browse button in the Expression Evaluation dialog box This dialog box appears when you click the New Expression button in the toolbar or select Evaluate Expression from the Data menu Special Variables CrossV
515. variety of ways The command window displays the results of commands Important messages such as errors appear in dialog boxes that pop up Using CrossView Pro 4 21 4 6 CROSSVIEW PRO WINDOWS The two prominent windows used in CrossView Pro are the Command Window and the Source Window From the Command Window you can type CrossView Pro and emulator commands and gain access to all other windows You can accomplish most global operations from either the menu bar or the Command Window Only from the Command Window can you accomplish Single step playback When you close the Command Window you exit CrossView Pro The Source Window focuses on the program being debugged This window controls most of the commonly used execution operations such as breakpoints and searching functions Available Windows You can open all CrossView Pro windows except for the Data Analysis windows from the View menu by selecting the name of the window Selecting a window in this case brings the window to front and makes it the active window Available windows are e Command Window Supports two modes CrossView or Emulator Displays all CrossView Pro commands and responses or Emulator commands and responses e Source Window Controls the execution of the program and displays the source file or disassembly e Register Window Displays the current state of the processor s registers e Memory Window Displays target memory and allows you to change i
516. via the Device Access Server e Install the DAS package from the installation CD On chip Debug Support OCDS 5 4 4 CONFIGURING CROSSVIEW PRO In CrossView Pro choose one of the OCDS target configurations reachable from EDE From the Project menu select Project Options Expand the CrossView Pro entry and select Execution Environment In the Execution Environment field select a target board with OCDS for example Easy Utah 161U with OCDS via LPT 5 OCDS BREAKPOINTS The usage of OCDS software breakpoints is limited to 64k breakpoints A software breakpoint is set by injecting DEBUG instructions into the memory so software breakpoints are only possible within RAM memory The OCDS has a limited number of hardware breakpoints e 4 code breakpoints or data write breakpoints of which you can use one for a code range breakpoint or a data range read or write breakpoint e or 1 data value write breakpoint For data breakpoints CrossView Pro always uses hardware breakpoints For the XC16x and XC22xx derivatives there is a CMCTR register with a bit field Injection Level that is influencing the OCDS breakpoints When the bit field value of the Injection Level is lower than a specific interrupt level the interrupt could not be debugged The default value for the Injection Level bit field contains the highest value so all interrupts could be debugged by default OCDS 6 Execution Environment 6 THE TARGET CON
517. w Pro s command language is discussed here This language is mainly used to enter textual commands in the command edit field of the Command Window The mouse and menus allow you to access most actions without knowing the command language although the command language is more powerful The command language is also used when evaluating expressions and in commands associated with assertions breakpoints and macros For information about specific CrossView Pro commands refer to Chapter 13 Command Reference 3 2 CROSSVIEW PRO EXPRESSIONS There are several methods that you can use to input an expression into CrossView Pro It is possible to display both monitored and unmonitored expressions in the Data Window Monitored expressions are updated after every halt in execution Unmonitored expressions are just one shot inspections of the expressions value Refer to section 4 6 CrossView Pro Windows for a detailed description of the Data Window To evaluate a simple expression Double click on a variable in the Source window The result of the expression appears in the data window Alternatively depending on the preferences you set in the Data Display Setup dialog the expression appears in the Evaluate Expression dialog Click the Add Watch or Add Show button to display the result of the expression in the Data Window Click the Evaluate button to display the result of the expression in the output field of the Evaluate Expression dialog T
518. w Pro windows to be active Use the WW command and repeat the previous command Not that many levels active on the stack A stack level was specified that does not exist Execute the t command to determine levels on the stack See chapter Command Reference for more information Oops called with sig signal number CrossView Pro has received a signal that it can not handle Continuing from this point may result in a fatal process condition If this condition persists please contact your system administrator or call the TASKING Technical Support staff for assistance Placement of the breakpoint handler must be in one of the restart vectors Choose a value from 0 to 7 Try again Hit lt cr gt to exit The specified placement for the breakpoint handler was not valid for this target CrossView Pro is requesting a valid location Error Messages 14 19 Procedure name is not active on the stack The procedure name was not found on the current stack Execute the t command to list functions which are active on the stack Procedure name is not at that stack depth The procedure name was not found on the specified stack Execute the t command to list functions which are active on the stack Procedure procedure is not active The procedure procedure was not found on the current stack Execute the t command to list functions which are active on the stack or 1 p for list of procedures known to CrossView Pro Prog
519. was filled using the following commands 0x400 mf Ox4ff O0 0x400 mf 0x404 1 2 To search for the values 0x01 and 0x02 at memory locations in the range 0x400 to 0x4ff type 0x400 ms Ox4ff 0x01 0x02 The result of this command is FOUND pattern at 0x400 FOUND pattern at 0x402 13 152 Chapter 13 Gb mcp mF mf Command Reference 13 153 Function Load a program s symbol file From the File menu select Load Symbolic Debug Info This menu item allows you to specify the file Ess The command syntax is N path filename abs Description Load the symbol table of the specified file in CrossView Pro If no filename is given the file being debugged is reloaded In this case only the breakpoints set by the user are removed Monitors I O simulation streams assertions and CrossView Pro local variables remain active If a new file different filename is loaded all breakpoints monitors I O simulation streams assertions and CrossView Pro local variables are removed If a path is supplied CrossView Pro changes its current directory according to the specified path In case a relative search path to source files was provided at startup time CrossView Pro will search relative to the new working directory This command is automatically executed during CrossView Pro startup when a filename was given on the command line Use the dn command to send the associated executable code to the target Example To loa
520. way of executing continuous control of certain data Using assertions you can have continuous control of certain data and stop program execution if any of the set conditions are fulfilled In this respect assertions are similar to data breakpoints Assertions however are more versatile than data breakpoints For instance a data breakpoint can only detect when a variable is accessed An assertion on the other hand can check that the variable s value falls within a certain range Also an assertion can monitor variables whose values are kept in registers Each individual assertion can be activated or deactivated In addition you can also choose to suppress all assertions by turning off the global assertion mode Opening the Assertions Dialog Box amp From the Breakpoints menu select Assertions The Assertions dialog box contains scrollable lists of all defined assertions and provides functions for defining activating suspending editing and deleting assertions 7 10 1 ASSERTION MODE The debugger is running in assertion mode when there is at least one active assertion A program executing in assertion mode is actually being single stepped very quickly to ignore breakpoints Because the program is single stepping however it runs significantly slower than at normal speed An Assertion Mode Active checkbox is available that activates all marked assertions Clear this option if you want to suspend all assertions temp
521. when the program stops at line 60 You can also use the exp exp2 exp3 C ternary operator for conditional expressions For example Smyvar 5 gt 2 1 1 assigns the value 1 to myvar 3 20 7 Chapter 3 3 9 FUNCTIONS In CrossView Pro expressions you can include functions defined in the program s code LN Command line function calls are not supported for the C166 ST10 You can call functions through the Call a Function dialog box Note that only the results of the function call are shown You cannot enter expressions in this field If you want to use the results of the function call in an expression then type the expression into the Evaluate Expression dialog box or type in the command into the Command Window described in the keyboard method below e From the Run menu select Call a Function e List all functions by clicking the Browse button e You can place parameters in the Parameters field of the Call a Function dialog box separated by commas but without the usual parentheses or select from the drop down history list The Command Window receives the results of the function call g Type in the expression containing a function call directly into the Command Window To execute a function on the target type the function name and the arguments as you would do in your C program For example do_sub 2 1 or a do _add 3 4 3 10 CASE SENSITIVITY The absolute file supplies the case sensi
522. with lower cycle counts the script is executed more frequently which makes the simulation slower As an alternative to using cycle probe points you could also use instruction probe points Or if you only need certain actions at defined points in your code you could use code probe points CXL and Simulator Interaction Usually your CXL script will need some interaction with the CPU s registers port pins or the application s variables CXL supports the built in functions get and set for this purpose The C166 ST10 simulator supports special registers that represent the processor s port pins See the peripheral description for the names of these special registers Note that when supplying a register name to the get and set function the name should be prefixed by a to tell CrossView Pro that a register is requested 4 3 PERIPHERAL EXAMPLES The C166 ST10 product contains examples that use peripheral simulation and CXL scripting These examples include adc Uses the A D converter to read a sine wave produced on the A D converter input by CXL port An up and down counter on the parallel port controlled by other port pins CXL is used to put input on the port pins and to log the counter values on the port to a file peccserial Serial port output using PEC transfers simulation using debug instrument I O to display the output in CrossView Pro You can use the examples as a starting point for writing your own CXL script
523. x low_y high_y displays bars at the coordinates specified by the window data pairs The x coordinates are expected to be equidistant X Y plotting An x y plot takes values from two buffers one from each at a time The first is interpreted as the x value the second as the y value of a point to display No further processing is done on these values The most common display mode is x s or s Show_cross cxl show _plus cxl see previous description to give a scattergram The values can also be interconnected in order Show_x_y cx1 to create Lissajous like displays 1 Generating window data pairs graph win_title x_y cxl x_buffer y_buffer Special Features 11 15 2 Setting the display mode graphm win_tiile show_x_y cxl low_x high_x low_y high_y draws lines from all x i y i to x it1 y it1 When autoscaling is active some space is reserved on both x and y axis FFT power spectrum The FFT power spectrum plot takes a buffer of arbitrary size to compute the power of all frequencies present in the signal in decibels If the buffer size is not a power of two it will expand its input set to the next higher power and augment it with zeroes To handle non recurrent data correctly several window functions can be applied in the process If no reference level is given the maximum level is calculated and set to be 0 dB The usual display mode is bars although all x t di
524. x lt 0 x 0 it should be written as if x lt 0 x 0 The switch statement the goto statement and labels are not supported B 6 7 Appendix B 2 1 VARIABLES Variable declarations must be done at the beginning of a block before starting the actions All variables are initialized to zero Variables cannot be initialized at declaration which means that the following is not allowed int cyclebreak 100 Instead you should use int cyclebreak possible other declarations cyclebreak 100 Variables declared at the highest level are global and keep their value between the script invocations The cxl_reset command and the program reset of CrossView Pro will reset these variables to zero Variables at other levels and in functions are initialized to zero every time the block or function is executed Modifiers such as signed unsigned register and static are not supported Type definitions like in C with the typedef keyword are not supported The enumerated type enum is not supported 2 2 BASE TYPES CXL supports the following base types e char e int e long e float e double e string only allowed for parameters e function only allowed for parameters Internally char int and long are treated the same as are float and double Since they are the same types belonging to one group can be interchanged freely A function return value can be of any base type Additionally v
525. xP is the width of one single frame in number of input samples two_exp must be a value between 2 and 14 inclusive If the input buffer does not contain enough samples to fill the last frame the frame is completed with zeros overlap input buffer F1 F2 F3 F4 giwo_exp the rest of frame F4 will contain zeros overlap is the number points shared by successive frames When negative a gap will occur between processed points The first sample taken from the input buffer of frame N is equal to the first sample of frame N 2 0_exP overlap overlap must be smaller than 2 w0_exp ref_level is the 0 dB reference level 2 For displaying the generated pairs the display script show_multi_bars cx1 is required Multi FFT power spectrum in lines Displays the same multi FFT power spectrum but now in lines instead of bars Here a 3D graph is shown The script name is show_multi_lines cxl Special Features 11 17 Multi FFT power spectrum in lines and grid Displays the same multi FFT power spectrum as the multi lines spectrum Now each point on a curve is interconnected with a point with the same x coordinate of the previous graph What you see here is a grid with the values The script name is show_multi_grid cxl Use of colors in Multi FFT power spectrum For all three graphm scripts show_multi_bars cxl show _multi_lines cxl and show _multi_grid cx1l an optional thi
526. y attaching commands to a breakpoint to activate and suspend assertions you can turn assertions on only for certain sections of code where a particular value needs checking This method can dramatically speed up the program Q From the Breakpoints menu select Assertions and double click on the assertion s number E To activate or suspend an assertion from the Command Window you must know the assertion s number To see a list of assertions and their assigned numbers e Enter la the list assertions command in the Command Window 7 32 s Chapter 7 To activate an assertion e Enter assertion_number aa command For example 2aa activates assertion 2 To suspend an assertion e Enter the assertion_number a s command For example 2as suspends assertion 2 FUNCTION Activate an assertion COMMAND assertion_number aa FUNCTION Suspend an assertion COMMAND assertion_number as 7 10 5 DELETING ASSERTIONS Deleting an assertion removes its definition It is important to note the difference between suspending an assertion and deleting an assertion deleting an assertion removes its definition for good while suspending it retains the definition but prevents its execution Q Follow these steps e From the Breakpoints menu select Assertions to open the Assertions dialog box e Click on the assertion to delete e Click the Delete button Click on OK or Cancel when finished Follow these step
527. ymbol tables If string is present then list only those items that start with string In the second case list the values of all parameters and locals of the function func Without a function this command lists all parameters and locals of the current function in view In the third case list all parameters and locals of the function at depth stack The 1 f and 1 m commands also show the address of the modules first function The Im command is identical to 1 f list files but the list of files is sorted on ascending segment addresses func must be a function on the stack or the current function 13 140 Chapter 13 7 For configurations that support real time kernels the 1k command can have one of the following arguments 1k is the same as specifying 1k t t Display tasks m Display mailboxes q Display queues p Display pipes s Display semaphores e Display events h Display HISRs High level Interrupt Service Routines si Display signals ti Display timers pm Display partition memory dm Display dynamic memory r Display resources misc Display miscellaneous information Example To list defined assertions and the state of the assertion mechanism type la To list all locals and parameters of the current function type lp Data is displayed using the normal n format To list all the parameters and locals of the function fen type l fcn To list queue information for the
528. ype 5 si d gt G S S Si R Command Reference st Function Stop the execution of the target immediately eee The command line syntax is st Description This command stops the running process immediately AN Not available for all execution environments d CB wt 13 179 13 180 Chapter 13 T Function Stack trace with local variables E The command line syntax is exp T Description Produce a trace of functions on the stack and show local variables Only the first exp levels of the stack trace will be displayed If exp is omitted all of the levels of the stack trace up to 20 will be printed This command works independently of the Stack Window N This command is not allowed when the target runs in the background Example To print out a stack trace of 20 levels with corresponding local variables type T To print out the top five levels of the stack trace with corresponding local variables type 5T do ent Command Reference 13 181 t Function Stack trace From the View menu select Stack The Stack Window shows the current situation in the stack after the program has been stopped It displays the following information for each stack frame e The name of the function that was called e The value of all input parameters to the function e The line number in the source code from which the function was called E The command line syntax is exp t Description Produce
529. ype r to set a data read breakpoint over a range e Type break data address end_addr end_address access_type w to set a data write breakpoint over a range e Type break data address end_addr end_address access_type rw to set a data breakpoint for both reading and writing over a range For example to ensure that the program stops if any of recordvar s fields are either written to or read from break data amp recordvar end_addr int amp recordvart sizeof recordvar 1 access_type rw FUNCTION Set a data breakpoint over a range of addresses COMMAND break data address end_addr end_address option 7 2 2 TEMPORARY BREAKPOINTS Breakpoints can be permanent or temporary A breakpoint exists until it is manually deleted A temporary breakpoint is automatically removed by CrossView Pro after it halts the program once To set a temporary breakpoint Q Follow these steps e Open the Source Window by selecting Source Source lines from the View menu e Open the Breakpoints dialog by selecting Breakpoints from the Breakpoints menu e Click on the Add gt button and select Code Breakpoint e Enter an address in the Break At field and click on the Advanced button Breakpoints and Assertions 7 13 e Enable the Remove when hit check box in the Behavior field e Click on the Continue button in the Source Window when the program halts This removes the temporary breakpoint at the viewing position and the
530. zero ClientValue JTAG I O mode OCDS module number The value should always be 2 On chip Debug Support OCDS 9 6 7 Fields specific for OCDS via DAS Field Description DASserver The name of the used DAS server which must be run and or installed on the connected host AccessPort The connection to the device For the USB server USBx means access via x and the USB of the device TerminateServer When TerminateServer 0 if a server is started by the debug instrument this server is also terminated on exit Table OCDS 1 Target configuration file fields Notes e Fields not required for the target can be omitted e CrossView Pro searches for the cfg files in the current directory and in the etc directory To be able to debug the C161U or C165UTAH via JTAG an OCDS monitor must be placed in RAM that is loaded after each download of your program The OCDS monitor uses only the DEBUG interrupt vector and the reserved memory area 0200h 0250h When debugging with OCDS via DAS peripherals always will be stopped upon a breakpoint INFINEON BOARD OCDS INTERFACE CIRCUIT When debugging with OCDS via the parallel port you can add the Infineon OCDS interface circuit to enable JTAG debugging with a custom target board This circuit in effect only serves to protect the microcontroller from voltage peaks and operates as a voltage level shifter if necessary LAN Halting the targ

Download Pdf Manuals

image

Related Search

Related Contents

Cochlear™ Baha® Remote Control Manual  LG GU292 User's Manual  Fujitsu ScanSnap S500 User's Manual  Mode d'emploi  SYSMAC PROGRAMMABLE CONTROLLERS C200H (CPU01  LD DAVE G³ SERIES  

Copyright © All rights reserved.
Failed to retrieve file