Home
MiniMON29K User Interface: MONDFE
Contents
1. 0 00 0 00 0 0000000 c etc e eens vi About This Mantial m enissunonemin anan a NAAA EE vi Suggested Reference Material nocirta cin a a aa vii MONDFE Software anitir A a A acacia EA viii MONDFE Features f0i00 sos sid Saale shone lsc diltd E te ees Sa eh lee viii MONDFE Modtiles yny ctney tie teieieted echelon dels fags Biblia des ix MONDFE Documentation Conventions 0 0 0 00 0 00 500 c cece cece eee cece ees xii Chapter 1 MONDFE Command Line Syntax MONDFE Command Line Syntax 0 aeeoeia 1 2 UDI Configuration Files e e ee eaa r a E E 1 5 MONDFE Command File Format 1 7 Chapter 2 MONDFE Commands Command Tist inkaa O EA ATSE E sealed age 1s ale hss 2 2 29K Family Memory Address Format 29K_MEM_ADDR 2 4 29K Family Register Name Format 29K_REG_NAME 2 5 A Assemble Instruction 2 200 000 0000 0000000 iaaea EEEE 2 6 B Breakpoint Command 00 00 0 ree ee 2 8 C Display Target Configuration 00 000 000 2 10 MiniMON29K User Interface MONDFE i ii CAPS Display DFE and TIP Capabilities 0 00 00 000 00 ccr 2 11 CHO Transfer Terminal Control to Target 0 0ccccc rrr 2 12 CON Connect to UDI Session aaier rererere rererere 2 13 CP Create UDI Process sisi ccs ca reess ion earo a en ES AEOS 2 14 D Display Memory Registers l a rererere 2 15 DISC Disconnect from UDI Session 2 18 DP Destroy UDI Proce
2. MiniMON29K User Interface MONDFE Because the call to scanf appears in the first part of the program just after the prompt is displayed list the program code beginning at the start of the main routine Referring to the map again you can see that _main is located beginning at address 0x00010120 Enter the following command MONDFE EXE gt L 101201 1015CI 00010120 25010120 sub gr1 grl1 0x20 00010124 5e4001l7e asgeu 0x40 gr1 gr126 00010128 15810128 add lr1 gr1 0x28 0001012c 03608200 const 1r2 0x6000 00010130 0303606c const gr96 0x36c 00010134 02006001 consth gr96 0x1 00010138 c8008060 calli lr0 gr96 0001013c 02008201 consth 1r2 0x1 00010140 03608228 const 1r2 0x6028 00010144 02008201 consth lr2 0x1 00010148 03c062b8 const gr98 0xc0b8 0001014c 02006201 consth gr98 0x1 00010150 16006462 load 0 0x0 gr100 gr98 00010154 157a6204 add gr1l22 gr98 0x4 00010158 1600657a load 0 0x0 gr101 gr122 0001015c 15836400 add 1r3 gr100 0x0 You can see from looking at the buggy c source program that printf is the first routine called Its location is shown in the map file _printf as 0001036C Noting in the above listing that this value is being loaded into global register gr96 and that the CALLI instruction calls the routine pointed to by the contents of gr96 assume that this is the call to the printf routine MiniMON29K User Interface MONDFE 3 13 3 14 List another set of instructions before the next call by
3. Turn Off On Log Mode 2 36 Syntax LOGOFF LOGON The LOGOFF LOGON commands turn off on the log mode from the mondfe command prompt When log mode is on every command entered by the user is logged into the log file specified either at invocation or by using the ZL command When log mode is off commands are not logged MiniMON29K User Interface MONDFE M Move Registers Memory Syntax M source_start source_end destination_start where source_start Specifies the memory or register address from which the first data item is to be moved A memory address must be specified using the 29K_MEM_ADDRiformat explained on page 2 4 A register name must be specified using the 29K_REG_NAME format explained on page 2 5 The default memory space is data memory source_end Specifies the memory or register address from which the last data item is to be moved A memory address must be specified using the 29K MEM_ADDR format explained on page 2 4 A register name must be specified using the 29K_REG_NAME format explained on page 2 5 destination_start Specifies the memory or register address to which the first data item is to be moved A memory address must be specified using the 29K_ MEM_ADDR format explained on page 2 4 A register name must be specified using the 29K_REG_NAMB format explained on page 2 5 The MOVE M command moves data between registers or memory locations The source_start source_end and de
4. 00010000 72 61 64 3d 25 6c 66 2e 20 73 69 6e 28 72 61 64 rad 1f sin rad Single Precision Floating Point MONDFE EXE gt DF 14000 1400F 00014000 1 147944e 040 1 148224e 040 6 157305e 041 6 166834e 041 Double Precision Floating Point MONDFE EXE gt DD 14000 1400F 00014000 9 338479079051290e 310 9 338479079054255e 310 2 16 MiniMON29K User Interface MONDFE Example MONDFE EXE gt D gr96 gr99 gr096 0000a000 0000e5bc 00010000 000163ab c In the example above the contents of global registers gr96 through gr99 are dumped in word format Example MONDFE EXE gt D lr0 1r3 1r000 000010d0 O007d b0 00 000000 00076000 soriman In the example above the contents of local registers Ir0 through Ir3 are dumped in word format MiniMON29K User Interface MONDFE 2 17 DISC Disconnect from UDI Session Syntax DISC The DISC command temporarily disconnects the Debugger Front End DFE from the current debug session The TIP is not destroyed but continues running for later reconnections 2 18 MiniMON29K User Interface MONDFE DP Destroy UDI Process Syntax DP The DP command destroys a UDI process previously created using the CP command MiniMON29K User Interface MONDFE 2 19 EOFF EON Turn Off On Echo Mode 2 20 Syntax EOFF EON The EOFF EON commands turn echo mode off on during the interactive debug session Echo mode is specified by the e command lin
5. 2 6 MiniMON29K User Interface MONDFE MiniMON29K User Interface MONDFE Multiple instructions can also be assembled by invoking the assembler in interactive mode When A 29K MEM_ADDR is entered the assembler displays the address and prompts for the instruction to be assembled It continues to prompt for instructions until a period is entered Relative jumps can be assembled by specifying the target as an offset from the address where the instruction is being assembled For example jmp 4 where period refers to the address where the instruction is being assembled Example MONDFE EXE gt A 10004 SUB GR96 GR96 1 MONDFE EXE gt L 10004 10004 00010004 25606001 sub gr96 gr96 0x1 In the example above an instruction to subtract constant 1 from global register gr96 has been assembled into instruction RAM at location 0x10004 The ASSEMBLE A command does not produce any output but the DISASSEMBLE L command in the example shows the assembled instruction at location 0x 10004 B Breakpoint Command Syntax where B B050 BC B 29K_MEM_ADDR pass_count B050 29K_MEM_ADDR pass_count BC 29K_MEM_ADDR Sets or displays breakpoints Sets a breakpoint using the Am29050 Instruction Breakpoint Control Register Clears a specific breakpoint or all breakpoints 29K_MEM_ADDR pass_count Specifies the hexadecimal address value and the associated memory space suffix where the breakpoint
6. 29K_MEM_ADDRy Specifies the final address the hexadecimal value and the associated memory space suffix of the memory address in instruction ROM or RAM of the last instruction to be disassembled If no suffix is given the memory space of the starting location is assumed This parameter is optional The format for 29K_MEM_ADDRiis described on page 2 4 The LIST L command lists disassembles portions of a program stored in the instruction memory of the target Instruction opcodes are listed using their assembly language mnemonics and operands are listed in a format appropriate to their individual types Instructions are disassembled beginning at the 29K_MEM_ADDR and ending with the 29K_MEM_ADDR inclusive when specified If no 29K_MEM_ADDR is given the 29K_MEM_ADDky also must not be specified 2 34 MiniMON29K User Interface MONDFE Example MONDFE EXE gt L 100001 100141 00010000 00000000 word 00010004 25010118 sub 00010008 5e40017e asgeu 0001000c 15810118 add 00010010 036162e8 const 00010014 02006201 consth 0x00000000 grl grl1 0x18 64 gr1 gr126 lril gr1 0x18 gr98 0x6l1e8 gr98 0x1 The example above illustrates the disassembly of five instruction words beginning at location 0x10000I and ending at word location 0x10014I 20 bytes Each line displays the location of the instruction its contents in hexadecimal and its mnemonic translation MiniMON29K User Interface MONDFE 2 35 LOGOFF LOGON
7. MONDFE 2 31 IX Display Am2903x Processor Cache The IX command displays the contents of the Am2903x processor cache Syntax IX registers Example MONDFE EXE gt ix Cache line 0x1 IATAG V P US 00004 0 1 1 00004010 00004003 00004014 ce000b60 00004018 1600607d 0000401c 157d7d04 Cache line 0x10001 IATAG V P US ce000 0 00000a10 00000a14 00000a18 O00000alc 0 0 00001000 fbfbfff7 dfbff7b7 feefdf7f set 105 word mtsr load add 105 word word multmu word 2 32 MiniMON29K User Interface MONDFE 0x00004003 pcl gr96 0 0x0 gr96 gr125 gr125 gr125 0x4 0x00001000 Oxfbfbfff7 lr63 1r119 1r55 Oxfeefdf7f K Kill Program Execution Syntax K The KILL K command halts kills program execution The KILL command causes mondfe to call the UDIStop procedure This procedure is transmitted to the underlying TIP which processes the request Program execution can be resumed by issuing a GO G command MiniMON29K User Interface MONDFE 2 33 L List Disassemble From Memory Syntax L 29K_MEM_ADDR 29K_MEM_ADDR where 29K_MEM_ADDR Specifies the initial address the hexadecimal value and the associated memory space suffix of the memory address in instruction ROM or RAM at which to begin disassembling instructions If no suffix is given instruction RAM memory is assumed for disassembly The format for 29K_MEM_ADDRiis described on page 2 4
8. The sections option must be comprised of one or more of the letters t d 1 and b as explained previously The execution mode real or protected of the program is controlled by the TIP In the case of montip the TIP options R and P select real or protected mode respectively for the program MiniMON29K User Interface MONDFE Example MONDFE EXE gt Y test out woading TEXT section at 0x10000 17872 bytes Loading LIT section at 0x16000 292 bytes Loading DATA section at 0x18000 1504 bytes Loading DATA section at 0x1a000 188 bytes Loading BSS section at 0x1c000 924 bytes In the example above mondfe loads a file named test out which is taken from the current directory The output produced by loading that file is shown The TEXT section is the program code The LIT section contains read only data The DATA sections contain initialized constant and variable data The BSS section contains space for uninitialized variables The default values for the options not specified are used MiniMON29K User Interface MONDFE 2 53 ZC Execute Commands From 2 54 Command File Syntax ZC cmdfile_name where cmdfile_name Is the filename of a mondfe command file The ZC command executes a series of mondfe commands from the cmdfile_name command file The cmdfile_name is the name of the file containing the command input The ZC command can be executed at the mondfe command prompt When all commands f
9. setting session ID 2 45 V VER command 2 48 versions DFE 2 48 displaying 2 11 target 2 48 TIP 2 48 W word display format 2 16 word fill format 2 24 words fill format in 2 23 display format in 2 15 set format in 2 43 X XP command 2 49 Y Y command 2 51 yank download a COFF file Y command 2 51 UDIERR A 5 UNIX configuration file 1 5 User Interface Module ix ZC command 2 54 ZE command 2 55 ZL command 2 56 MiniMON29K User Interface MONDFE Index 7
10. space_id_suffix Is an optional character suffix immediately following address_value with no spaces in between The suffix character can be one of the following i Instruction RAM space r Instruction ROM space p TO port address Generic memory space and to access 29K Family microcontroller peripherals m Data RAM space All commands interpret the specified 29K Family memory address value as a hexadecimal number When an address space suffix is not given a default memory space is assumed The default memory space differs among mondfe commands For example memory space defaults to the Instruction RAM space for the DISASSEMBLE L command whereas it defaults to Data RAM space for the memory DISPLAY D command 2 4 MiniMON29K User Interface MONDFE 29K Family Register Name Format 29K_REG_NAME The 29K Family register name format 29K_REG_NAME recognized by mondfe commands is as follows LRann ARnnn GRunn SRann TRann XRnnn where nnn LRann ARnnn GRann SRann TRann XRnnn Is a decimal number within the valid range 0 to 255 Refers to processor s LOCAL register number nnn Valid entries are Ir0 Ir127 Refers to processor s ABSOLUTE register number nnn Valid entries are ar0 ar255 Refers to processor s GLOBAL register number nnn Valid entries are gr0 gr1 gr64 gr127 Refers to processor s SPECIAL register number nnn Valid entries are sr0 sr25 sr128 sr135 Refers to processo
11. 00000004 In the output listed above some lines were eliminated for the sake of brevity This output indicates that the addresses at which the value in gr96 0x406a0000 and the value in gr97 0x00000000 are being stored are 0x00000000 and 00000004 respectively Both of these are illegal data addresses Recall that the legal DATA sections indicated by the COFF file began at 0x18000 1632 bytes and 0x1a000 52 bytes MiniMON29K User Interface MONDFE 3 11 3 12 Further inspection of the contents of global registers gr96 and gr97 reveals that they may contain a double precision floating point value To display their contents in that form enter the following MONDFE EXE gt DD GR96 GR97 gr96 2 120000000000000e 002 This output shows that the value entered 212 0 is the one being stored in an illegal address Looking at the buggy map file you can identify the function that was executing at the time the exception occurred The first part of the map file lists the section summary Remembering that the program counter held the value 0x00012440 look for a text section that spans that area of instruction memory The following entry is found text TEXT 00011440C 00012453 _doscan o This indicates that the bug appears in the library module _doscan o which is probably associated with the scanf function At this point it is reasonable to assume that something is wrong with the call to scanf in the program
12. 80005010 abcd MONDFE EXE gt d 80005000 80005010 80005000 abcdabcd abcdabcd abcdabcd abcdabcd 80005010 abcd5678 2 VX 2 24 MiniMON29K User Interface MONDFE Byte MONDFE EXE gt fb 80005000 80005010 a0 MONDFE EXE gt db 80005000 80005010 80005000 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 allot ci 80005010 a0 Single Precision Floating Point MONDFE EXE gt ff 80005000 80005010 1 2 MONDFE EXE gt df 80005000 80005010 80005000 1 200000e 000 1 200000e 000 1 200000e 000 1 200000e 000 80005010 1 200000e 000 Double Precision Floating Point MONDFE EXE gt fd 80005000 80005010 2 3 MONDFE EXE gt dd 80005000 80005010 80005000 2 300000000000000e 000 2 300000000000000e 000 80005010 2 300000000000000e 000 String of Characters MONDFE EXE gt fs 80005000 80005010 minimon MONDFE EXE gt d 80005000 80005010 80005000 6d696e69 6d6f6e6d 696e696d 6f6e6d69 minimonminimonmi 80005010 6e696d6f nimo Example MONDFE EXE gt F 103CI 104FI 0 In the example above the FILL command is instructed to fill instruction RAM locations 0x103c through 0x104f with zeros Instruction RAM is indicated in the supplied addresses because the modifier suffix I has been appended to the addresses If the FILL command was to be directed to instruction ROM an R would be appended to each of the above addresses for example 103CR Data RAM addresses are entered without a suffix or with an m suffix MiniMON29
13. F command display formats 2 24 fill instruction memory example 2 25 filling bytes example 2 26 using 2 23 filling memory 2 23 registers 2 23 floating point fill format in 2 23 formatting display in 2 15 set format 2 43 format memory address 2 4 register name 2 5 G G command 2 27 example 2 27 global registers displaying 3 11 go G command in tutorial 3 10 using 2 27 Index 3 H H command 2 28 half words display format 2 16 fill format in 2 23 2 24 formatting display in 2 15 set format 2 43 help H command example 2 29 using 2 28 host exiting to 2 21 IL command 2 30 INIT command 2 31 initialize downloaded program INIT command 2 31 initializing downloaded program 2 31 input command file specifying 1 3 instruction memory range displaying 2 10 instruction ROM range displaying 2 10 instructions assembling 2 6 interactive mode viii invoking mondfe 1 2 IX command 2 32 K K command 2 33 kill program execution K command 2 33 L L command 2 34 linker command files for tutorial 3 4 linker map file 3 8 list disassemble from memory L command example 2 35 in tutorial 3 11 3 13 3 14 using 2 34 listing code with L command 3 11 3 13 3 14 LIT section 3 10 load Ink linker command file 3 4 log file viii 1 3 3 20 log mode turn off on 2 36 turning on 2 56 LOGOFF LOGON command 2 36 M co
14. Q command 2 40 QOFF QON command 2 41 quiet mode viii 1 2 turning off on 2 41 quit Q command Q example 3 15 in tutorial 3 19 using 2 40 R R command 2 42 register name format 2 5 register stack size specifying 1 3 registers displaying 2 15 filling 2 23 moving 2 37 2 38 setting 2 43 special displaying 2 49 Index 5 reset target processor R command 2 42 resetting target processor 2 42 run384 C shell script 3 5 run384 bat batch file 3 2 runeb29k bat batch file 3 3 runsteb C shell script 3 6 runsteb bat batch file 3 4 S S command 2 43 set memory registers S command example of instruction memory address 2 44 format examples 2 44 using 2 43 set UDI process ID PID command 2 39 set UDI session ID SID command 2 45 shell scripts for UNIX hosts 3 6 SID command 2 45 single precision floating point display format 2 16 single precision floating point fill format 2 25 specify echo file for echo mode ZE command 2 55 specify log file for log mode ZL command 2 56 string of characters fill format 2 23 2 25 syntax mondfe 1 2 F T command 2 46 3 18 target resetting processor 2 42 version 2 48 target configuration displaying 2 10 terminals transferring control to target 2 12 terminating program in tutorial 3 16 TIP ID 1 2 version 2 48 TIP command 2 47 TIPERROR A 5 trace single multiple step e
15. UDI configuration file udiconfs txt Refer to the UDI man pages for a detailed description of the search rules ebdemo bat This batch file runs the demo on an EB29K target The ebdemo bat file uses the ebdemo cmd file as the input command file and loads and executes buggy eb and buggyfix eb files illustrating the bug in the buggy eb program The ebdemo out file contains the complete session for reference The files buggy map and buggyfix map are the map files for buggy eb and buggyfix eb respectively The C source files are in the sre directory run384 bat This batch file runs the demo on an Am29000 processor based stand alone board connected over a serial communications link The assumed baud rate is 38400 bps The run384 bat file uses the run384 cmd file as the input command file and loads and executes buggy stb and buggyfix stb files illustrating the bug in the buggy stb program The file run384 out contains the complete session for reference The files buggystb map and bfixstb map are the map files corresponding to buggy stb and buggyfix stb respectively The C source files are in the sre directory 3 2 MiniMON29K User Interface MONDFE Preparing Batch Files for MS DOS Hosts The compile bat runeb29k bat and runsteb bat batch files are located in the 29k tutorial minimon sre directory of the product installation tree These files can be modified to suit the user s work environment Two linker command files used in the tutor
16. User Interface MONDFE Loading and Running the Program After the compilation of buggy c is complete the next step in the debugging process is to invoke the MinIMON29K Debugger Front End mondfe The target is a stand alone execution board based on an Am29000 microprocessor connected over a serial link transmitting at 9600 bps To invoke mondfe enter the following command C gt mondfe D TIP serial96 The batch file runsteb bat runsteb for UNIX versions invokes mondfe for this tutorial As indicated in the compilation step the C gt characters are the operating system prompt Make sure that your PATH environment variable is set up to invoke the mondfe exe and montip exe executables Also ensure that the UDICONF environment variable is set to the udiconfs txt file for MS DOS hosts or the udi_soc file for UNIX versions After mondfe establishes communications with the target it outputs a prompt soliciting a command The prompt is shown below MONDFE EXE gt When this prompt is shown in the following narrative it is not to be typed It is included only to define the context in which the command is being entered To load the absolute COFF file produced by the previous compilation step enter the following command MONDFE EXE gt Y buggy out This command causes mondfe to read the COFF file buggy out load its various sections into the memory locations specified during the linking process an
17. address 0x10164 is being traced At that point the program should trace the instruction located at the jump target location Continue entering the T command until the following set of instructions has been executed and the DSUB instruction is displayed as the next one to be executed Most of the T commands have been omitted for the sake of brevity MONDFE EXE gt T 00010164 032b6094 const gr96 0x2b94 00010170 032b6094 const gr96 0x2b94 00010174 03c7601c const gr96 0xc71lc 00010178 02406031 consth gr96 0x4031 0001017c 033161f1 const gr97 0x31f1 00010180 02726104 consth gr97 0x7204 00010184 03c083b8 const 1r3 0xc0b8 00010188 02008301 consth 1r3 0x1 0001018c 16006483 load 0 0x0 gr100 1r3 00010190 157a8304 add gr122 1r3 0x4 00010194 1600657a load 0 0x0 gr101 gr122 MONDFE EXE gt T 00010198 3626460 dsub gr98 gr100 gr96 Ignore the first instruction at location 0x10164 which immediately follows the JMPT instruction The first two CONST CONSTH instruction pairs load a double precision floating point value into global registers gr96 and gr97 You can display this value by entering the following command MONDFE EXE gt DD GR96 GR97 gr096 1 777777779200000e 001 At this point it is instructive to repeat the source program line that computes the Celsius temperature as shown below Celsius Fahrenheit 32 0555555556 MiniMON29K User Interface MONDFE It is clear t
18. cece 2 49 Y Yank Download a COFF File 0 00 2 51 ZC Execute Commands From Command File 2 54 ZE Specify Echo File for Echo Mode llar 2 55 ZL Specify Log File for Log Mode 00 000 000 2 56 MiniMON29K User Interface MONDFE Chapter 3 MONDFE Tutorial Demo Directory for MS DOS Hosts 00 00 000 00 3 2 Preparing Batch Files for MS DOS Hosts 00 000 00 cece 3 3 Linker Command Files for the MONDFE Tutorial 0 0 00 00 3 4 Demo Directory for UNIX Hosts 1 200 000 00 000 e es 3 5 Preparing Shell Script Files for UNIX Hosts 3 6 Compiling the Tutorial Example 0 0 00 000 000 3 7 Loading and Running the Program 00 00 000 3 9 Debugging the Program 2 2 22 000 002 3 11 Appendix A Error Messages MONDFE Error Messages 00 0000 cc cece cece e rererere rererere rere A 2 UDI Error Messages cc cc foes e a ks oi eee ig AAA Ae ees es aes A 5 Index MiniMON29K User Interface MONDFE iii Figures and Tables Figures Figure 0 1 Figure 0 2 Tables Table 0 1 Table A 1 Table A 2 MiniMON29K Debugger Front End MONDFE ix MiniMON29K MONDFE with UDI Conformant TIP MONTIP 0 0 0 0 0 0 000 00000 cece xi Notational Conventions 0 0 0 ceesre rererere rere xii MONDFE Error Messages 1 A 2 UDI Error Messages spons tnya teda a aN A 5 iv MiniMON29K User Interface MONDFE About MONDFE The
19. continue entering different temperatures and verifying the results To exit the program enter any non numeric value at the temperature prompt mondfe will acknowledge that the program has exited and you can quit mondfe by entering the Q command at the MONDFE EXE gt prompt MiniMON29K User Interface MONDFE 3 19 3 20 The debugging technique just presented represents a combination of analysis and action This is common in the debugging process You have to perform the analysis but the MiniMON29K debugger core can do a lot of work to help you verify your assumptions A common methodology for debugging C programs consists of editing compiling and testing these steps are repeated as many times as necessary to verify that the program is correctly performing its intended task mondfe incorporates many features that have not been explored in this tutorial however they are just as easy to use Commands are provided for changing and displaying the contents of registers or memory setting both sticky and non sticky breakpoints assembling and disassembling instructions using standard AMD mnemonics and more In addition to the mondfe command features it is worthwhile to use the log file as a source of commands for subsequent debugging sessions Invoke mondfe using the log logfile_name command line parameter and rename this file immediately after quitting a debugging session Use the file later as input by including the c cmd_file option on t
20. file Could not write command file Could not close command file Error Code Error Message 47 EMTIMEOUT 48 EMCOMMTYPE 49 EMCOMMERR 50 EMBAUD 51 EMTIPINIT 52 EMIOSETF 53 EMIORESETF 54 EMLOADF 55 EMNOFILE 56 EMECHOPEN 57 EMCTRLC 58 EMNOSUCHCMD 59 EMNOPROCESS 60 EMNOTCOMP 61 EMFATAL 62 EMNOINITP 63 EMDOSERR 64 EMS YSERR 65 EMINCECHOFILE 66 EMCMDFILENEST MiniMON29K User Interface MONDFE Host timed out waiting for a message A t flag must be specified Communication error Invalid baud rate specified TIP initialization failed Exiting TIP Host I O setup failure Host I O reset failure Loading COFF file failure No program to run Could not open echo file Ctrl C interrupt Exiting Unrecognized command Failed creating process zero DFE and TIP versions not compatible No session in progress n No process initialized for downloaded program DOS error Cannot escape to DOS System error Cannot escape to host Invalid echo file Cannot enable echo Nesting of command files not allowed UDI Error Messages Error messages reported by the UDI layer and by the underlying TIP may also be displayed by mondfe UDI error messages are prefixed by UDIERR and a number that corresponds to the error numbers defined in the UDI specification Table A 2 describes UDI error messages returned by mondfe TIP error messages are prefixed by TIPERROR See t
21. file to be downloaded Only files in COFF format can be downloaded using mondfe program_args is the optional list of command line arguments for the downloaded program The Coff_Filename option is always the first element of this list When no Coff_Filename is specified the filename specified in the previous YANK Y command is used However a Coff_Filename option must precede the optional program_args parameter The i and noi options can be used to download COFF files either for execution or as an easy way to assemble a set of commands into memory For example the following code downloads the TEXT sections of the COFF file assemble out into memory y noi t assemble out The noi option does not cause a process to be initialized for execution Therefore any previously stopped program can be resumed by issuing the GO G command The mondfe command INIT initializes a process for a downloaded COFF file if none was initialized at the time of downloading The ms and rs options to the YANK Y command specify the memory stack and register stack requirements for the program being downloaded The underlying operating system uses these values during warm start to set up the stack environment for the program The sections option selectively loads specific COFF sections onto the target This downloads only the DATA and BSS sections in cases when the TEXT and LIT sections from the previous download are known to be undisturbed
22. for an Am29000 processor based stand alone board It invokes the compiler in verbose v mode and specifies load Ink as the linker command file to use The output is placed in the file with the out extension and the base name as that of the input C source file A map file is generated and stored in a file with the map extension and the same base as that of the input C source file The base name of the C source program is specified as the first argument to the shell script runsteb mondfe D TIP serial384 This C shell script expects the PATH and UDICONF environment variable to be set appropriately The UDICONF should be set to use the correct udi_soc file on the UNIX host The PATH variable must be set to use mondfe and montip This shell script invokes mondfe and montip to execute programs interactively on a stand alone target board connected over a serial communications link The assumed baud rate is 38400 bps 3 6 MiniMON29K User Interface MONDFE Compiling the Tutorial Example The sre directory under the 29k tutorial minimon directory contains the tutorial program which is written in C language and can be compiled with the High C 29K compiler The program is included with the product so that the user does not have to create it The program name is buggy c indicating it contains errors but none that will be discovered by the compiler The buggyfix c source file fixes the bugs that were purposely introduced into the buggy c prog
23. format is an 8 bit integer Specifies fill_data format is a floating point number Specifies fill_data format is a double precision floating point number Specifies fill_data is a string of characters Starting _resource Specifies the starting location of the fill This location can be either a memory address specified in 29K_MEM_ADDR format or a register name specified in the 29K REG _NAME format The described on pages 2 4 and 2 5 The default memory space is data memory ending_resource fill_data Specifies the ending location of the fill This location can be either a memory address specified in 29K_MEM_ADDR format or a register name specified in the 29K_REG_NAME format The 29K MEM_ADDRi and the 29K _REG_NAME formats are described on pages 2 4 and 2 5 Specifies the data that is to be replicated into the range specified by the starting_resource and ending_resource parameters The fill_data must be a valid data consistent with the fill format specified It is interpreted as a hexadecimal number except when the S format is specified The FILL F command can be used to fill 29K Family target memory or registers The format of the fill_data is specified by the suffix character of the FILL F command MiniMON29K User Interface MONDFE 2 23 The fill_data parameter is interpreted as a hexadecimal value and must conform to the size of the data elements specified by the optional suffix data format letter followi
24. g START RESUME EXECUTION h HELP COMMAND ix il DISPLAY AM2903X CACHE logon TURN ON LOG MODE 1 LIST DISASSEMBLE MEMORY pid SET UDI PROCESS ID qon TURN QUIET MODE ON sid SET UDI SESSION ID t TRACE SINGLE STEP EXECUTION ver MONTIP VERSION COMMAND y YANK DOWNLOAD COFF FILE ze ECHO FILE FOR ECHO MODE zl USE LOG FILE FOR LOG MODE MONDFE EXE gt b b050 bc SET CLEAR DISPLAY BREAKPOINT caps DFE AND TIP CAPABILITY con CONNECT TO A UDI DEBUG SESSION d dw dh db df dd DUMP MEMORY REGISTERS disc TEMPORARILY DISOCNNECT UDI SESSION esc ESCAPE TO HOST OPERATING SYSTEM eoff TURN OFF ECHO MODE f fw fh ff fd fs FILL MEMORY REGISTERS init INITIALIZE CURRENT UDI PROCESS k KILL RUNNING PROGRAM ON 29K TARGET logoff TURN OFF LOG MODE m MOVE DATA TO MEMORY REGISTERS q QUIT MONDFE goff TURN QUIET MODE OFF r RESET SOFTWARE RESET 29K TARGET S Sw Sh sb sf sd SET MEMORY REGISTERS tip MONTIP TRANSPARENT MODE COMMAND xp DISPLAY PROTECTED MODE COMMAND zc EXECUTE COMMANDS FROM COMMAND FILE COMMAND CHARACTER IN COMMAND FILE MiniMON29K User Interface MONDFE Example MONDFE EXE gt h f The above command causes mondfe to output a screen containing information on the fill command as shown below F W H B IF D lt start address gt lt end address gt lt value gt Fill memory or register contents FW or F fill as 32 bit integers FF fill as floating
25. is to be set or cleared Instruction RAM is assumed when no suffix is used Specifies the number of times minus 1 that the instruction at the breakpoint address should be executed before honoring the breakpoint for the first time The pass_count parameter is interpreted as a decimal value The pass_count value can be positive or negative Positive values define sticky breakpoints and negative values define non sticky breakpoints Non sticky breakpoints are immediately removed when they are hit Sticky breakpoints remain set even after they are hit If no pass_count is given a default value of 1 is used To accomplish the following breakpoint tasks use the indicated BREAKPOINT command e Seta breakpoint To set a breakpoint use the B command and specify the address at which to set the breakpoint Specify any pass_count as required Sticky breakpoints are set by using a positive non zero pass_count value Non sticky breakpoints are set by using a negative pass_count value 2 8 MiniMON29K User Interface MONDFE e Clear a breakpoint To clear a breakpoint use the BC command and specify the address at which the breakpoint is to be cleared e Display all valid breakpoints To display all valid breakpoints use the B command without any parameters All the current breakpoints will be displayed e Clear all breakpoints To clear all breakpoints use the BC command without any parameters e Set a breakpoint using the Am29050 Instru
26. point value FH fill as 16 bit integers FD fill as double precision FB fill as 8 bit integers floating point value FS fill with the string pattern given Register names GR01 GR64 GR127 SROO SR14 SR128 SR135 LROOQ LR127 TROO TR127 Memory addresses lt hex gt m data memory lt hex gt i instruction memory lt hex gt r rom memory lt hex gt u unspecified no addr check MONDFE EXE gt MiniMON29K User Interface MONDFE 2 29 IL Disassemble Am2903x Processor The IL command disassembles the contents of the Am2903x processor cache Cache Syntax IL registers Example MONDFE EXE gt i Cache line 0x1 IATAG V P US 00004 0 1 1 00004010 00004003 00004014 ce000b60 00004018 1600607d 0000401c 157d7d04 Cache line 0x10001 IATAG V P US ce000 0 00000a10 00000a14 00000a18 00000alc 0 0 00001000 fbfbfff7 dfbff7b7 feefdf7f set 105 word mtsr load add 105 word word multmu word 2 30 MiniMON29K User Interface MONDFE 0x00004003 pcl gr96 0 0x0 gr96 gr125 gr125 gr125 0x4 0x00001000 Oxfbfbfff7 L638 AECI LESS Oxfeefdf7f INIT Initialize Downloaded Program Syntax INIT The INIT command requests the underlying TIP to initialize the downloaded program This command restarts a program without downloading it again An INIT command followed by a GO command restarts the downloaded application program MiniMON29K User Interface
27. unidirectional only the serial communications port com1 or com2 also must be specified on the montip command line in the UDI configuration file The TIP command is valid only with the MinIMON29K montip MiniMON29K User Interface MONDFE 2 47 VER Display DFE TIP and Target Version Numbers Syntax VER MONDFE EXE gt ver MiniMON29K R2 0 Copyright 1992 Advanced Micro Devices Inc Host code Version 2 3 11 Date 4 Mar 92 Tip code Version 2 3 11 Date 4 Mar 92 Target code Debug core version Configuration version Message system version Communication driver version OS system version Maximum message buffer size on target 0x800 Maximum number of breakpoints on target 30 MONDFE EXE gt The VERSION VER command obtains the version numbers of the individual components of the MinIMON29K product mondfe montip and the target system It also prints the maximum message buffer size on the target ODO OHO H EO O UW This mondfe command can be executed only against the MiniMON29K target interface process montip Executing this command on any other TIP may cause unpredictable results 2 48 MiniMON29K User Interface MONDFE XP Display Special Registers Syntax XP The XP command displays the contents of many of the special registers of the target processor including the following e Old and current processor status OPS and CPS e Vector area base
28. 29k tutorial minimon directory for UNIX hosts consists of a C shell script that runs the demo programs on an Am29000 processor based stand alone board connected over a serial communications link The assumed baud rate is 38400 bps Note that the PATH and UDICONF environment variables must be set to locate the executables and the UDI configuration file udi_soc Refer to the UDI man pages for a detailed description of the search rules run384 C Shell Script This batch file runs the demo on an Am29000 processor based stand alone board connected over a serial communications link The assumed baud rate is 38400 bps It uses run384 cmd as the input command file and loads and executes buggy stb and buggyfix stb illustrating the bug in the buggy stb program The file run384 out contains the complete session for reference The files buggystb map and bfixstb map are the map files corresponding to buggy stb and buggyfix stb respectively The C source files are in the sre directory MiniMON29K User Interface MONDFE 3 5 Preparing Shell Script Files for UNIX Hosts Two C shell scripts are placed under the 29k tutorial minimon sre directory compile and runsteb These C shell scripts can be modified to suit the user s work environment Two linker command files used in the tutorial also are placed in this directory load Ink and ebload Ink compile he29 v cmdload lnk o l out m 1 c gt 1 map This C shell script compiles a C source program
29. 5c 0001015c 4d606001 cpge gr96 gr96 0x1 ONDFE EXE gt After the new breakpoint is installed and the program continues execution when the G command has been entered it immediately prompts for a temperature value Entering 212 0 again causes scanf to store the value in the Fahrenheit variable and return to the main program At this point the newly installed breakpoint has been hit The CPGE instruction displayed at the breakpoint location is the comparison associated with the if statement in the source program Because you do not know how many instructions are associated with the computation of the Celsius temperature the best approach at this point is to trace the program execution one instruction at a time Enter the following command MONDFE EXE gt T 00010160 ac006005 jmpt gr96 0x10174 MiniMON29K User Interface MONDFE 3 17 3 18 Entering the T command with no options or parameters traces a single instruction in this case the CPGE instruction that was previously displayed and displays the next instruction to be executed The JMPT instruction should jump because a valid numeric value was entered at the prompt for a temperature value scanf should return a value of 1 indicating that one item has been successfully scanned however the instruction immediately after a jump instruction is always executed Therefore you should expect in the following procedure to see that the instruction at
30. Advanced Micro Devices AMD MiniMON29K user interface mondfe provides a simple user interface to develop debug and execute application programs on a 29K Family based target mondfe is UDI conformant which means that the back end of mondfe conforms to AMD s Universal Debugger Interface UDI Specification mondfe provides an interactive command interface which is designed for non graphics terminals mondfe interactive commands provide the user with the ability to download programs in AMD s Common Object File Format COFF set breakpoints display and modify registers assemble instructions and trace program execution This chapter first describes the MONDFE documentation then discusses the features and modules of the MONDFE software and finally lists the MONDFE documentation conventions MiniMON29K User Interface MONDFE MONDFE Documentation This documentation is written for programmers using mondfe to develop applications based on the 29K Family of microprocessors and microcontrollers For more information on these microprocessors and microcontrollers see the list of suggested reference materials that follows About This Manual Chapter 1 MONDFE Command Line Syntax describes how to invoke mondfe The command line syntax and descriptions of all the command line options are discussed followed by a description of the UDI configuration file and command file format Chapter 2 MONDFE Commands descr
31. DFE 2 13 CP Create UDI Process Syntax CP The CP command sends a request to the TIP to create a new UDI process 2 14 MiniMON29K User Interface MONDFE D Display Memory Registers Syntax D WIHIBIFID starting_resource ending_resource where W Formats the display in words default H Formats the display in half words B Formats the display in bytes F Formats the display in floating point values D Formats the display in double precision floating point format starting_resource Specifies the starting location of the data to be displayed This can be either a memory address specified in 29K_MEM_ADDR format or a register name specified in the 29K_REG_NAME format When a starting_resource is not specified the display begins at the ending_resource value of the previously executed DISPLAY D command The 29K_MEM_ADDRland the formats are described on pages 2 4 and 2 5 The default memory space is data memory ending_resource Specifies the ending location of the data to be displayed This can be either a memory address specified in 29K_MEM_ADDR format or a register name specified in 29K_REG_NAME format If an ending_resource is not specified a default value is assumed depending on the type of the resource accessed memory or registers The 29K _MEM_ADDRhvand the 29kK_REG_NAME formats are described on pages 2 4 and 2 5 The DISPLAY D command displays 29K Family target memory contents or r
32. Family based target s configuration including the following e Processor type e Whether a coprocessor is present in the system e Instruction memory range e Data memory range e Instruction ROM range e Version of the MiniMON29K Debugger Front End mondfe being used Example MONDFE EXE gt C MINIMON29K 3 0 User Front End Copyright 1993 Advanced Micro Devices Inc Version 3 0 0 07 15 93 Processor type Am29000 revision D Coprocessor None ROM range 0x0 to Ox7ffff 512K Instruction memory range 0x0 to Ox7ffff 512K Data memory range 0x0 to Ox7ffff 512K Enter h or for help MiniMON29K User Interface MONDFE CAPS Display DFE and TIP Capabilities Syntax CAPS The CAPS command displays the DFE version number TIP version number and UDI version MiniMON29K User Interface MONDFE 2 11 CHO Transfer Terminal Control to Target 2 12 Syntax CHO The CHO transfers control of the terminal to the 29K Family target program The characters entered by the user are sent to the underlying TIP for processing Control is transferred to mondfe when CtrI U is entered MiniMON29K User Interface MONDFE CON Connect to UDI Session Syntax CON session_id where session_id Is a UDI session number The CON command requests connection to the UDI TIP corresponding to the UDI debug session referred to by session_id MiniMON29K User Interface MON
33. K User Interface MONDFE 2 25 2 26 Example MONDFE EXE gt FB 14000 140FF 20 In the example above data memory locations 0x14000 through 0x140FF are filled with byte size values The value 20 is the hexadecimal code for an ASCII space character therefore 256 byte locations beginning at address 0x 14000 are filled with spaces MiniMON29K User Interface MONDFE G Go Syntax G The GO G command starts or resumes execution of a previously downloaded program in target memory Refer to the YANK Y command description for downloading a program The execution always starts or resumes at the current location contained in the 29K Family Program Counter registers PCO PC1 unless they are changed explicitly by the user before issuing this command The first G command after downloading a program using the YANK Y command causes the execution of the downloaded program To restart a program without downloading it again issue the INIT command first and then issue aGO command The INIT command initializes the process to the beginning entry point When using montip use the R option of montip in the UDI configuration file to run programs in real physical mode To run programs in protected mode one to one mapping of physical addresses to virtual addresses use the P option of montip To run the application program in protected mode the application program must be linked in alignment with the page size used by the target k
34. MmiMON29K User Interface MONDFE MiniMON29K User Interface MONDFE Release 3 0 1991 1992 1993 by Advanced Micro Devices Inc All rights reserved No part of this publication may be reproduced stored in a retrieval system or transmitted in any form or by any means electronic mechanical photocopying recording or otherwise without the prior written permission of Advanced Micro Devices Inc Use duplication or disclosure by the Government is subject to restrictions as set forth in subdivision b 3 ii of the Rights in Technical Data and Computer Software clause at 252 227 7013 Advanced Micro Devices Inc 5204 E Ben White Blvd Austin TX 78741 7399 29K Am29000 Am29005 Am29030 Am29050 Am29200 Am29240 Am29243 Am29245 EB29K and MiniMON29K are trademarks of Advanced Micro Devices Inc High C is a registered trademark of MetaWare Inc Microsoft C and MS DOS are registered trademarks of Microsoft Inc UNIX is a registered trademark of AT amp T Other product or brand names are used solely for identification and may be the trademarks or registered trademarks of their respective companies A The text pages of this document have been printed on recycled paper consisting of 50 recycled fiber and a virgin fiber the post consumer waste content is 10 These pages are recyclable Advanced Micro Devices Inc 5204 E Ben White Blvd Austin TX 78741 Contents About MONDFE MONDFE Documentation
35. SF command whereas an integer that can be represented in 32 bits must be supplied when SW is used Thus abcdef would be an invalid set_data for an SB command When no suffix is given that is when S is used alone set_data is assumed to be representable as a 32 bit integer MiniMON29K User Interface MONDFE 2 43 The format specified should be either W F or D when the resource type is register because registers are accessed as 32 bit quantities Example MONDFE EXE gt S 12000 03FC In the example above data memory locations 0x12000 through 0x12003 are set to the hexadecimal word value 0x000003FC Because a modifier character was not given 4 bytes are stored into the destination location Example MONDFE EXE gt SB 12002 20 The example above sets the byte at data memory location 0x12002 to 0x20 which is an ASCII space character The contents of the remainder of the data memory word remain unchanged by this substitution Example MONDFE EXE gt SD GR96 3 1415926535 In the example above global registers gr96 and gr97 are set to a double precision floating point value When SD is used an 8 byte value double is always stored This stored value will occupy two consecutive memory or register locations Example MONDFE EXE gt S 100201 0300A165 This example illustrates using the SET S command to patch an instruction memory location to contain a different instruction However t
36. VAB e Configuration register CFG e Channel registers CHA CHD and CHC Register bank protect RBP e Timer counter reload TCR e Timer counter value TCV e Program counters PCO through PC2 e Memory management unit register MMU The XP command displays the appropriate values for the type of Am29xxx processor installed MiniMON29K User Interface MONDFE 2 49 Example MONDFE EXE gt xp TD MM CA IP TE TP TU FZ LK RE WM PD PI SM IM DI DA CPS O02 0 0 0 O20 0 0 O80 0 Ft 1 2 0 0 0 OPS Ons KOE OOo Oe lt 07 aD ON 10 Oe Te AE she Qh ey iL VAB CFG PRL DW VF RV BO CP CD 80000000 03 1 1 0 0 0 0 CHA CHD CHC CE CNTL CR LS ML ST LA TF TR NN CV 80001d14 00000000 0 O O lt 2 Or 0 Os OEO 20 0 RBP BF BE BD BC BB BA B9 B8 B7 B6 B5 B4 B3 B2 B1 BO On Or LOTO OO 0 0 0 Or t he Ae ae ae L TCV TR OV IN IE TRV PCO PGI PC2 fff3ef O O 1 f ffffff 00001a54 00001a50 00002590 MMU PS PID LRU 03 O01 10 MONDFE EXE gt The example output from the XP command is shown above For special registers that have multiple fields e g CPS OPS and CFG the value of each field is shown 2 50 MiniMON29K User Interface MONDFE Y Yank Download a COFF File Syntax where noil i Y noil i ms mem_stack_size_in_hex rs reg_stack_size_in_hex sections Coff_Filename program_args Specifies initialization of a process for the downloaded pr
37. _file Specifies that an interactive debug session is requested When this option is not specified a program must be specified on the command line The program is downloaded and executed The default is non interactive that is a program must be specified on the invocation line Both mondfe and the TIP exit after completion of the program s execution TIP tip_id_from_udi_config_file q Specifies the ID of the TIP defined in the UDI configuration file with which to establish connection for that debug session The UDI configuration file is udiconfs txt on MS DOS systems and udi_soc on UNIX systems See the UDI Configuration Files section on page 1 5 for more information This ID is matched with the first field of the line entries in the UDI configuration file The TIP corresponding to the matched ID entry is started if necessary and a connection is requested This option must be specified Indicates that downloading messages must be suppressed quiet mode This is useful when a script of the session is being saved in an echo file The default is non quiet mode The quiet mode can be turned on or off from the mondfe command prompt using qon and goff commands e echo_filename_for_script Turns on the echo mode and specifies the name of the echo file in which to save the entire session that appears on the screen or terminal This option scripts a debug session There is no default filename The echo mode can be tur
38. ction Breakpoint Control register Using the B050 command instead of the B command forces the MiniIMON29K debugger core to use an Am29050 processor s Instruction Breakpoint Control Register to implement the breakpoint If none of these registers are available the breakpoint is not set and an error is returned This command is recognized only by the MiniMON29K target interface process montip The B050 command can be used to set breakpoints in ROM where the ROM space is not writable This is useful in debugging freeze mode code Example MONDFE EXE gt B 100041 MONDFE EXE gt G In the example above a breakpoint is set at address 0x 10004 in instruction RAM No output is produced by executing this command however upon execution of the following GO G command the output that follows is displayed when the program stops at the breakpoint MONDFE EXE gt Breakpoint hit at 00010004 00010004 25010118 sub gril grl1 0x18 Notice that the location of the breakpoint hit the hexadecimal value of the instruction word at that location and its disassembled value are displayed Further note that the instruction at the hit breakpoint has not been executed Resumption of the program by a TRACE T or GO G command resumes with this instruction unless the PC registers have been changed MiniMON29K User Interface MONDFE 2 9 C Display Target Configuration 2 10 Syntax C The C command displays the 29K
39. d Service Error Occurred Trying Again IPC Limitation Exceeded Service Incomplete More Data Available Aborted Requested Service Transaction Completed Cannot Accept Transaction Input Needed Transaction ModeX Invalid Object Size Specified Bad Entry In UDI Config File Found Internal Error Occurred In IPC Layer MiniMON29K User Interface MONDFE Index Symbols map extension 3 7 out extension 3 7 command 2 28 Numbers 29K memory address format 2 4 29K register name format 2 5 29K_MEM_ADDR 2 4 29K_REG_NAME 2 5 A A command 2 6 assemble instructions A command example 2 7 using 2 6 assembling instructions 2 6 B B command 2 8 batch files preparing for MS DOS hosts 3 3 MiniMON29K User Interface MONDFE breakpoint B command example 2 9 using 2 8 breakpoints clearing 2 8 displaying 2 8 nonsticky 2 8 setting 2 8 3 16 3 17 sticky 2 8 BSS section 3 10 buggy c program 3 1 3 7 bytes fill format in 2 23 2 25 display format in 2 15 2 16 set format in 2 43 C C command 2 10 cache disassembling 2 30 displaying 2 32 CAPS command 2 11 case significance in commands 2 1 CHO command 2 12 COFF file creation 3 8 loading 2 51 3 9 3 15 3 16 3 19 sections 3 9 Index 1 command file viii executing commands from 2 54 using with mondfe 1 7 command line example 3 9 Command Interpreter Module x Comman
40. d prompt for the next command After the program has been loaded mondfe reports the locations of the COFF file sections In the case of buggy out these locations are shown below Loaded TEXT section at 0x10000 22412 bytes Loaded LIT section at 0x16000 356 bytes Loaded DATA section at 0x18000 1632 bytes Loaded DATA section at 0x1a000 52 bytes Cleared BSS section at 0Ox1lc000 620 bytes MiniMON29K User Interface MONDFE 3 9 3 10 In the above output the TEXT section is the program s code The LIT section contains read only data The two DATA sections contain initialized constants and variables and the BSS section contains uninitialized variables Referring back to the information from the buggy map file you see that the main function of the program is located within the TEXT section and the two variables of interest Fahrenheit and Celsius are located in the BSS section The next step is to run the program Enter the following command at the mondfe prompt MONDFE EXE gt G The G command starts execution at the point where execution was previously halted When this command is entered the following output is displayed on the screen Enter a temperature in Fahrenheit The underscore character at the end represents the cursor position on the terminal display Respond by typing a numeric temperature value such as 212 0 followed by a carriage return The following output appears on the d
41. d to UDI Procedural Call Converter Module x command line options 1 2 commands case in 2 1 list of 2 2 2 4 separator characters 2 6 compile C shell script 3 6 compile bat batch file 3 3 compiling the tutorial 3 7 CON command 2 13 configuration files for UDI 1 5 connect to UDI session CON command 2 13 conventions documentation xii CP command 2 14 create UDI process CP command 2 14 Ctrl U key 2 12 D D command 2 15 data memory range displaying 2 10 data section 3 10 demo directory for MS DOS hosts 3 2 for UNIX hosts 3 5 destroy UDI process DP command 2 19 DFE version 2 48 DFEERROR A 2 DFEWARNING A 2 disassemble Am2903x processor cache IL command 2 30 DISC command 2 18 disconnect from UDI session DISC command 2 18 display Am2903x processor cache IX command 2 32 display command display global registers example 2 17 display local registers example 2 17 display DFE TIP and target version numbers VER command 2 48 display DFE TIP capabilities CAPS command 2 11 display formats bytes 2 16 double precision floating point 2 16 half words 2 16 single precision floating point 2 16 words 2 16 display memory registers D command 2 15 display memory registers command display formats 2 16 display special registers XP command example output 2 50 using 2 49 display target configuration C command example 2 10 using 2 10 di
42. e lt gt Interpreter Call Converter Universal Non Graphics Debugger Display Interface Figure 0 1 MiniMON29K Debugger Front End mondfe User Interface Module The User Interface Module is a non symbolic user interface designed for non graphics terminals This module provides an interactive command interface where it prompts the user to enter commands at the MONDFE EXE gt prompt The commands are passed to the Command Interpreter Module The status error code and results if any of the command executed are displayed on the terminal The interactive command interface can be suppressed at invocation on the command line This module also implements the control functions to perform terminal input and output operations of the application program running on the 29K Family based target MiniMON29K User Interface MONDFE ix MONDFE Command Interpreter Module The MONDFE Command Interpreter Module parses the input string entered by the user and checks for a valid mondfe command For each user command this module executes the appropriate command handler When the command is completely executed the module receives the next user command The status error code and any results from the executed command are then returned to the User Interface Module The appendix of this manual describes the error messages that mondfe generates MONDFE Commancd to UDI Procedural Call Converter Module The MONDFE Command to UDI Proced
43. e option and a filename During echo mode everything displayed on the screen is captured in the file specified MiniMON29K User Interface MONDFE ESC Escape to Host Operating System Syntax ESC The ESC command temporarily exits mondfe to the host operating system The user can return to the mondfe session by using the EXIT command at the host operating system prompt Example MONDFE EXE gt esc Microsoft R MS DOS R Version 3 30 C Copyright Microsoft Corp 1981 1987 C gt exit MONDFE EXE gt In the example above the ESC command temporarily exits the program to MS DOS which then returns the C gt prompt Typing exit at that prompt takes us back to the debug session where the MONDFE EXE gt prompt returns MiniMON29K User Interface MONDFE 2 21 EX Exit UDI Session 2 22 Syntax Ex The EX command causes mondfe to exit from a debug session when that session is complete mondfe looks for another debug session in progress and connects to that session If no more debug sessions are in progress this command causes mondfe to quit 1 e it has the same effect as the Quit command MiniMON29K User Interface MONDFE F Fill Memory Registers Syntax F WIHIBIFIDIS starting_resource ending_resource fill_data where W H B F D S Specifies fill_data format is a 32 bit integer default Specifies fill_data format is a 16 bit integer Specifies fill_data
44. ed Micro Devices order number 11014B MiniMON29K Target Interface Process MONTIP Advanced Micro Devices Processor Initialization and Run Time Services OSBOOT Advanced Micro Devices Programming the 29K RISC Family by Daniel Mann P T R Prentice Hall Inc 1994 RISC Design Made Easy Application Guide Advanced Micro Devices order number 16693A Universal Debugger Interface UDI Specification Version 1 2 Advanced Micro Devices MiniMON29K User Interface MONDFE Vii MONDFE Software The features of the mondfe software are discussed below followed by a description of the three modules of the program MONDFE Features viii The MiniMON29K Debugger Front End mondfe provides non symbolic debugging facilities to set breakpoints display and modify registers assemble instructions and trace execution It has a line oriented user interface that is designed for a non graphics terminal mondfe downloads application programs in their entirety or selected portions in COFF file format onto the target The log file capability of mondfe can create a log file of all the commands of a debug session This log file can be directly given as an input command file at invocation to execute the same sequence of commands The echo file capability of mondfe can capture the screen displays into a file or capture a history of what was done during a particular debug session The echo file created can be used for testing purposes or for compari
45. egister values The starting_resource and ending_resource together define the range of data to be displayed The display format is specified by the suffix character of the DISPLAY D command All the format suffixes above can be used to display either memory contents or register contents When no suffix is given that is when D is used alone the display format defaults to words MiniMON29K User Interface MONDFE 2 15 The ASCII representation of the data also is displayed when the display format is either words D or DW half words DH or bytes DB When an ending_resource value is not specified a default range of values applicable to the resource type memory or registers is used The range between the starting_resource and the ending_resource must belong to the same resource type when specified Display Formats In the display formats shown below the word half word and byte displays show the addresses and data in hexadecimal format The single precision and double precision displays show the data in floating point format The data also is shown in ASCII format if the characters are printable ASCII characters Word MONDFE EXE gt D 10000 1000F 00010000 7261643d 256c662c 2073696e 28726164 rad 1f sin rad Half Word MONDFE EXE gt DH 10000 1000F 00010000 7261 643d 256c 662e 2073 696e 2872 6164 rad lf sin rad Byte MONDFE EXE gt DB 10000 1000F 00010000 72 61 64 3d 25 6c 66 2e 20 73 69 6e 28 72 61 64 rad 1f sin rad
46. entering the following command MONDFE EXE gt L 00010160 0304607c const gr96 0x47c 00010164 02006001 consth gr96 0x1 00010168 c8008060 calli 1r0 gr96 0001016c 15846500 add 1r4 gr101 0x0 00010170 4d606001 cpge gr96 gr96 0x1 00010174 ac006005 jmpt gr96 0x10188 00010178 032b60a8 const gr96 0x2ba8 0001017c 02006001 consth gr96 0x1 00010180 c8008060 calli 1r0 gr96 00010184 03008200 const 1r2 0x0 00010188 03c7601c const gr96 0xc71lc 0001018c 02406031 consth gr96 0x4031 00010190 033161f1 const gr97 0x31f1 00010194 02726104 consth gr97 0x7204 00010198 036062b8 const gr98 0x60b8 0001019c 02006201 consth gr98 0x1 The first two instructions in the above code load the address 0x1047C into global register gr96 and the third instruction calls the routine You have located the context of the call but have gone too far into the program Back up to the previous list to see the code that immediately precedes this call It is shown below for reference 00010140 03608228 const 1r2 0x6028 00010144 02008201 consth 1r2 0x1 00010148 03c062b8 const gr98 0xc0b8 0001014c 02006201 consth gr98 0x1 00010150 16006462 load 0 0x0 gr100 gr98 00010154 157a6204 add gr122 gr98 0x4 00010158 1600657a load 0 0x0 grl101 gr122 0001015c 15836400 add 1r3 gr100 0x0 00010160 0304607c const gr96 0x47c 00010164 02006001 consth gr96 0x1 00010168 c8008060 calli 1r0 gr96 0001016c 15846500 add 1r4 gr101 0x0 Note that local
47. ernel For example use the ALIGN 8192 linker directive to align the sections on an 8K page boundary Example MONDFE EXE gt G This example starts execution from the current location given by the processor s PC registers When mondfe is used with montip application programs loaded into memory using the YANK Y command are executed in the mode according to the R or P option given to montip by default when the G command is issued MiniMON29K User Interface MONDFE 2 27 H Help 2 28 Syntax H command command where command Is the first letter corresponding to a mondfe command or a mondfe command name The HELP H or command requests on line help for any of the mondfe commands or displays a brief description of each command s syntax and usage On line help is available for all mondfe commands Simply typing H or without the optional command parameter causes a help screen containing a list of mondfe commands to be displayed If the optional command parameter is given it must be the first letter of one of the mondfe commands or a mondfe command name If no command exists for that letter the help screen is displayed Example MONDFE EXE gt H Use h lt letter gt for individual command help a ASSEMBLE INSTRUCTION c PRINT CONFIGURATION cp CREATE UDI PROCESS ch0 29K TERMINAL CONTROL dp DESTROY UDI PROCESS ex EXIT UDI PROCESS eon TURN ON ECHO MODE
48. es specified in the UDI configuration file which is udi_soc on UNIX hosts and udiconfs txt on MS DOS hosts Example mondfe D TIP serial_38400 ms 10000 rs 3000 In the example above mondfe is invoked in interactive mode and serial_38400 is specified as the ID of the TIP This example also shows the memory stack and the register stack sizes for that debug session specified using the ms and the rs options respectively Example mondfe TIP eb29k_id hello eb argl arg2 In this example mondfe is invoked in non interactive mode The ID of the TIP is given as eb29k_id for MS DOS hosts only Since hello eb is an invalid option mondfe interprets it as the name of the program to be executed Anything following hello b is interpreted as program arguments Therefore hello eb is downloaded and executed until completion MiniMON29K User Interface MONDFE MONDFE Commancd File Format Command files contain sequences of the mondfe commands The c command line option specifies a single input file whose commands are to be executed immediately when mondfe is invoked Command files can improve efficiency when debugging a program For example a command file can load and execute a program automatically when mondfe is invoked An example of the commands this file might contain is shown below Y program out B 10020i G These commands one per line load the absolute COFF file program out into memory set a breakpoint at location 10020i a
49. g AMD s High C 29K compiler and linked with the High C 29K linker In the tutorial compiling and linking are accomplished with a single command that compiles the source file links it with the necessary library routines and produces a standard AMD COFF file that can be executed on the AMD EB29K board The tutorial example uses a stand alone board as the target This is used instead of a PC plug in card because it can be reproduced from either MS DOS or UNIX hosts Note that the MiniMON29K software already is ported and running on a number of hardware platforms supported by AMD Advance preparation for a debugging session is an important first step In this tutorial instructions are provided for preparation of batch and shell script files and a linker command file and instructions for entering commands that illustrate the debugging features of the MiniMON29K debugger core NOTE In the following tutorial the C gt and the MONDFE EXE gt indicate prompts by the computer and should not be typed in MiniMON29K User Interface MONDFE 3 1 Demo Directory for MS DOS Hosts The demo directory under the 29k tutorial minimon directory contains batch files and 29K Family executables that can be run as is on an EB29K board or on an Am29000 processor based stand alone board with a MiniMON29K target in PROMs Note that the PATH and UDICONF environment variables must be set to locate the executables the MinIMON29K target to download and the
50. ged using the ZL command w wait_time Specifies the length of time in loop counts that mondfe requires the TIP to wait when expecting a response from the target The wait_time parameter is an integer value The default value is 10 A value of minus 1 indicates wait forever MiniMON29K User Interface MONDFE 1 3 pgm_name pgm_args_list lt input_data_file Allows the user the option to specify the program to be executed and its command line arguments when invoking mondfe This program is downloaded onto the target system If the D option is not used the program executes immediately after download If a D option is used mondfe enters interactive mode and prompts the user for commands or reads from the input command file if one was specified mondfe then waits for a G command before executing the program If the input data is redirected using lt input_data_file the program s request for input is satisfied by transmitting the contents of the specified input file Otherwise input from the keyboard is expected NOTE This standard input redirection is a new feature and allows the separation of data input from the command file MiniMON29K User Interface MONDFE UDI Configuration Files udiconfs txt This file is the UDI configuration file for MS DOS systems The UDICONF environment variable can be set to the complete pathname of this file if the file is not in the current working directory When UDICOMF is not set
51. hat a value of 17 777777792 does not appear anywhere in our equation so the equation must have been interpreted incorrectly In fact this is exactly the case If you multiply 32 by 0 55555556 the result is 17 77777792 Clearly the compiler is giving precedence to the multiplication before the subtraction is executed To correct the program put parenthesis around the subtraction of 32 0 from the Fahrenheit variable as shown below in the corrected statement Celsius Fahrenheit 32 0 55555556 It is clear that a mistake has been found so terminate mondfe by entering the following command MONDFE EXE gt Q Edit the buggy c program to correct this error and recompile the program as previously described Now that the program has been recompiled you can re invoke mondfe load the program and execute it by entering the following series of commands C gt mondfe D TIP eb29k MONDFE EXE gt Y buggy out MONDFE EXE gt G At the first prompt to enter a temperature again enter the value 212 0 The resulting output is shown below Enter a temperatur in Fahrenheit 212 0 A temperature of 212 00 Fahrenheit 100 00 Celsius Enter a temperatur in Fahrenheit _ As you can see the result is correct and the program has prompted for another temperature value Try entering 32 0 the Fahrenheit temperature at which water freezes The result is 0 00 the corresponding Celsius temperature You can
52. he ASSEMBLE A command is preferable for this purpose See the description of the ASSEMBLE A command for more details 2 44 MiniMON29K User Interface MONDFE SID Set UDI Session ID Syntax SID sid_number where sid_number Specifies the UDI session ID The SID command sets the UDI session ID to sid_number This command can be used to set the current debug session when multiple debug sessions are occurring MiniMON29K User Interface MONDFE 2 45 T Trace Single Multiple Step Execution 2 46 Syntax T count where count Specifies the number of instructions to trace The count value is specified in decimal notation The default is 1 The TRACE T command traces or steps through the execution of a program Either single or multiple instructions can be executed by using the optional count parameter If no optional count parameter is given one instruction is executed from the current location After the completion of the TRACE T command the instruction at the stopped location is disassembled and displayed on the screen Example MONDFE EXE gt T 20 00010058 15846000 add l1r4 gr96 0x0 In the example above mondfe is asked to trace 20 instructions Prior to entry of the trace command the next instruction to be executed was located at address 0x10008I After tracing 20 instructions mondfe prints out the next instruction to be executed which is located at address 0x10058I Exam
53. he command line when you invoke mondfe Remember to delete the Q command at the end of the file before using the file as input MiniMON29K User Interface MONDFE Appendix A amp Error Messages The following pages describe the error messages produced by a command typed at the MONDFE prompt as well as those produced by the UDI layer MiniMON29K User Interface MONDFE A 1 MONDFE Error Messages Table A 1 describes error messages reported in response to a user command typed at the MONDFE EXE gt prompt Error messages can be prefixed by a warning or fatal error message When mondfe can recover from the error it displays a warning message Warnings are prefixed by DFEWARNING and they do not cause mondfe to terminate When mondfe cannot recover from the error it displays a fatal error message Fatal error messages are prefixed by DFEERROR and they cause mondfe to terminate Table A 1 MONDFE Error Messages Error Code Error Message 2 O mnNnN nH Nn FW A 2 MiniMON29K User Interface MONDFE EMFAIL EMBADADDR EMBADREG EMSYNTAX EMACCESS EMALLOC EMTARGET EMHINIT EMCOMM EMBADMSG EMMSG2BIG EMRESET EMCOMFIG EMSTATUS EMREAD EMWRITE Unrecoverable error Ilegal address Illegal register Illegal command syntax Could not access memory Could not allocate memory Unknown target type Could not initialize host Could not open communication channel Unknown me
54. he error codes listed in the appropriate TIP manual for TIP errors Table A 2 UDI Error Messages Error Code Error Message 1 UDIERR No Such Configuration in Config File 2 UDIERR Cannot Happen With Current Environment Setup 3 UDIERR Cannot Connect to TIP Specified 4 UDIERR No Such Connection Found 5 UDIERR No Connection Occurred 6 UDIERR Cannot Open UDI Config File 7 UDIERR Cannot Start TIP In Current Environment Setup 8 UDIERR Requested Connection Unavailable 9 UDIERR Try Another TIP For Connection 10 UDIERR TIP Specified in Config File Not An Executable 11 UDIERR Connection Failed Due To Invalid TIP Options in Config File 12 UDIERR Cannot Disconnect TIP 13 UDIERR Unknown Error Number Specified 14 UDIERR TIP Cannot Create a New Process 15 UDIERR No Such Process in the Current TIP 16 UDIERR Unknown Resource Space Encountered By TIP 17 UDIERR Invalid Resource Specified To TIP 18 UDIERR Unsupported Step Type For This TIP Specified 19 UDIERR Could Not Set The Breakpoint MiniMON29K User Interface MONDFE A 5 A 6 Error Code Error Message 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR UDIERR Too Many Breakpoints Already In Use Breakpoint Does Not Exist For This BreakId No More Breakpoints BreakId Too High TIP Does Not Support The Requeste
55. ial also are placed in this directory load Ink and ebload Ink compile bat he29 v cmdebload ink o 1 out m 1 c gt 1 map This batch file compiles a C program using the High C 29K compiler he29 It invokes the compiler in verbose mode v and specifies the linker command file to use e g ebload Ink by using the emd option of he29 A map file also is generated and redirected to a file with the map extension and the same base name as that of the C source file The output is placed in a file with the out extension and the same base name as that of the C source file This batch file can be used by specifying the base name of the C source file e g buggy for buggy c as the first argument runeb29k bat mondfe D TIP eb29k This batch file expects the PATH and UDICONF variables to be set appropriately The UDICONF variable should be set to use the udiconfs txt file for an MS DOS host The PATH variable must be set to invoke the mondfe exe and montip exe executables The PATH variable must be set to use the target object eb29k os file to download This batch file invokes mondfe and montip for executing programs interactively on an EB29K PC plug in card target MiniMON29K User Interface MONDFE 3 3 runsteb bat mondfe D TIP serial384 This batch file expects the PATH and UDICONF environment variable to be set appropriately The UDICONF should be set to use the correct udiconfs txt file for an MS DOS host The PATH variable mu
56. ibes each mondfe command in alphabetical order Chapter 3 MONDFE Tutorial explains how to use mondfe to debug an example program containing intentional errors The tutorial presents a methodical approach to compiling linking and debugging programs prepared by the user Appendix A Error Messages contains MONDFE and UDI error messages and descriptions Index provides an index to the MONDFE manual vi MiniMON29K User Interface MONDFE Suggested Reference Material The following reference documents may be of use to the mondfe software user Am29000 and Am29005 User s Manual and Data Sheet Advanced Micro Devices order number 16914A Am29030 and Am29035 Microprocessors User s Manual and Data Sheet Advanced Micro Devices order number 15723B Am29050 Microprocessor User s Manual Advanced Micro Devices order number 14778A Am29050 Data Sheet Advanced Micro Devices order number 15039A Am29200 RISC Microcontroller User s Manual and Data Sheet Advanced Micro Devices order number 16362B Am29205 RISC Microcontroller Data Sheet Advanced Micro Devices order number 17198A Am29240 Am29245 and Am29243 RISC Microcontrollers User s Manual and Data Sheet Advanced Micro Devices order number 17741A High C 29K User s Manual Advanced Micro Devices High C 29K Reference Manual Advanced Micro Devices Host Interface HIF Specification Version 2 0 Advanc
57. isplay User mode data TLB miss trap 9 This trap indicates that an attempt was made to access an illegal data location while executing the program MiniMON29K User Interface MONDFE Debugging the Program At this point having discovered an error it is time to enter the debugging phase of our program development Looking at the illegal access trap that just occurred attempt to isolate the location being accessed by displaying the contents of the program counters at the time the exception occurred To display the contents of the program counters enter the following command MONDFE EXE gt D PCO PC2 sr008 00012448 00012444 sr012 00012440 The output shown below the command indicates that the processor was executing the instruction located at address 0x 12440 when the exception occurred To list this instruction and the two that follow enter the following command MONDFE EXE gt L 124401 124481 00012440 1e006062 store 0 0x0 gr96 gr98 0000c444 adff00c8 jmp Oxc364 0000c448 1e00617a store 0 0x0 gr97 gr122 This output indicates that the program is attempting to store the values contained in global registers gr96 and gr97 into the addresses contained in global registers gr98 and gr122 To display the contents of these registers enter the following MONDFE EXE gt D GR96 GR122 gr96 406a0000 00000000 00000000 00000000 gr100 000124e8 00000002 00000000 00000000 gr120 deff5eee ffffffff
58. ities 2 11 Transfer Terminal Control to Target 2 12 Connect to UDI Session 2 13 Create UDI Process 2 14 Display Memory Registers D 2 15 Disconnect from UDI Session Disc 2 18 Destroy UDI Process DP 2 19 Turn Off Echo Mode 2 20 Turn On Echo Mode 2 20 Escape to Host Operating System 2 21 Exit UDI Session 2 22 Fill Memory Registers 2 23 Go 2 27 Help 2 28 Disassemble Am2903x Processor Cache 2 30 Initialize Downloaded Program INI 2 31 Display Am2903x Processor Cache 2 32 Kill Program Execution 2 33 List Disassemble From Memory 2 34 Turn Off Log Mode 2 36 Turn On Log Mode 2 36 2 2 MiniMON29K User Interface MONDFE Command Abbreviation Page Set UDI Process ID 2 39 Quit oO 2 40 Turn Off Quiet Mode 2 41 Turn On Quiet Mode QON 2 41 Reset Target Processor R 2 42 Set Memory Registers Ls 2 43 Set UDI Session ID 2 45 Trace Single Multiple Step Execution 2 46 MONTIP Transparent Mode TIP 2 47 Display DFE TIP and Target Version Num 2 48 bers Display Special Registers 2 49 Yank Download a COFF File yl 2 51 Execute Commands From Command File 2 54 Specify Echo File for Echo Mode 2 55 Specify Log File for Log Mode 2 56 MiniMON29K User Interface MONDFE 2 3 29K Family Memory Address Format 29K_MEM_ADDR The 29K Family memory address format 29kK_MEM_ADDR recognized by mondfe commands is as follows address _value space_id_suffix where address_value Is a numerical value interpreted as a hexadecimal number
59. map file are shown below _main text 00010120 _scanf text 00010468 _Fahrenheit bss 0001c0B8 _Celsius bss 0001c0A4 To locate the point at which the computation begins execute the following commands MONDFE EXE gt Y buggy out MONDFE EXE gt B 104681 MONDFE EXE gt G breakpoint hit at 00010468 00010468 25010118 sub grl grl1 0x18 MONDFE EXE gt D 1r0 1r0 11000 0001015c MONDFE EXE gt MiniMON29K User Interface MONDFE To summarize 1 The first command reloads the buggy out file 2 The second command sets a breakpoint at the entry point of the scanf routine 3 The third command tells mondfe to begin execution Immediately mondfe reports that the breakpoint you set has been reached You can see from examining the code that the CALLI instruction that invokes the scanf routine stores the return address in local register Ir0 when the call is made 4 The fourth command then displays the register contents of Ir0 By displaying the contents of local register Ir0 immediately after the breakpoint has been hit you find the return address in the main program In this case it is Ox1015C The next step is to set a breakpoint at the return location so that the program can run until the next breakpoint is reached Enter the following commands and examine the output MONDFE EXE gt B 1015CI ONDFE EXE gt G Enter a temperature in Fahrenheit 212 0 breakpoint hit at 000101
60. mmand 2 37 memory displaying 2 15 filling 2 23 list from 2 34 moving 2 37 2 38 setting 2 43 memory address format 2 4 memory stack size specifying 1 3 modules Command Interpreter x Command to UDI Procedural Call Converter x figure of ix User Interface ix Index 4 MiniMON29K User Interface MONDFE mondfe 3 9 COFF file sections in tutorial 3 9 command file format 1 7 commands 2 1 2 56 displaying double precision floating point values in tutorial 3 12 displaying registers in tutorial 3 11 documentation vi viii documentation conventions xii error messages A 2 exiting 2 22 exiting temporarily 2 21 figure with montip xi invoking 1 2 invoking in tutorial 3 9 loading a COFF file in tutorial 3 9 modules ix xi modules figure ix quitting 2 40 3 15 setting breakpoints in tutorial 3 17 software overview viii xii syntax 1 2 tutorial 3 1 3 20 version displaying 2 10 MONTIP transparent mode TIP command 2 47 move registers memory M command address conformity 2 37 example 2 38 using 2 37 2 38 moving memory 2 37 registers 2 37 MS DOS configuration file 1 5 N noninteractive mode viii MiniMON29K User Interface MONDFE O osboot in tutorial 3 4 P PID command 2 39 processor displaying type 2 10 program counters displaying 3 11 programs initializing 2 31 killing execution 2 33 Q
61. mmand terminates the debug session and exits the MiniMON29K Debugger Front End mondfe Any open log file or command files are closed before returning control to the host operating system If more than one debug session is in progress with one or more TIPs the QUIT Q command terminates all debug sessions The associated TIP s become inactive Use the EXIT EX command to terminate only the current debug session Use the DISCONNECT DISC session command to temporarily exit from one debug session to another At least one other debug session must be in progress when using this command MiniMON29K User Interface MONDFE QOFF QON Turn Off On Quiet Mode Syntax QOFF QON The QOFF QON command turns off on quiet mode of mondfe The q command line option invokes mondfe in quiet mode In quiet mode debug messages are suppressed These messages can be turned on anytime during the debug session using the QON command and turned off using the QOFF command MiniMON29K User Interface MONDFE 2 41 R Reset Target Processor 2 42 Syntax R The RESET R command performs a software reset of the target resulting in the starting up of the target The R command requires a responsive target When the target is hung or has crashed a hardware reset power cycle may be required MiniMON29K User Interface MONDFE S Set Memory Registers Syntax S TWIHIBIFID target_resource set_data where SW or S Specifies se
62. nd begin execution If these commands are stored in a file startup cmd the command line for invoking mondfe would look like the following C gt mondfe D TIP eb29k_id c startup cmd All the housekeeping chores associated with loading the program setting breakpoints and displaying initial program or data information can be written to a command file MiniMON29K User Interface MONDFE 1 7 Chapter 2 amp MONDFE Commands This chapter provides a detailed description of each mondfe command including syntax options specific information on how to use each command and examples of command usage All commands are executed that are entered on the host computer s keyboard at the mondfe prompt MONDFE EXE gt or read from a command input file specified on the command line at mondfe invocation are executed The results if any are displayed on the host computer s screen Commands are case insensitive and can be entered in either upper or lower case For example BC and be are identical commands for clearing one or more breakpoints In this manual the command names appear in upper case for emphasis only MiniMON29K User Interface MONDFE 2 1 Command List The commands their abbreviations and the pages on which they can be found are listed below Command Abbreviation Page 29K Family Register Name Format 2 5 Assemble Instruction 2 6 Breakpoint Command 2 8 Display Target Configuration 2 10 Display DFE amp TIP Capabil
63. ned on or off from the mondfe command prompt using the EON and EOFF commands 1 2 MiniMON29K User Interface MONDFE c input_cmd_filename Specifies the name of the input command file mondfe reads all its input commands and program input from this file until the end of file is reached At that point mondfe switches back to reading from standard input usually the terminal There is no default The command file can be specified or changed at the mondfe command prompt using the ZC command For more information on using a command file see page 1 7 ms mem_stack_size_in_hex Specifies the memory stack size to be used for the debug session This information is passed to the TIP before a process begins execution The default is 0x6000 bytes rs reg_stack_size_in_hex Specifies the register stack size to be used for the debug session This information is passed to the TIP before a process begins execution The default value is 0x2000 bytes le Specifies that the target system is little endian The default is big endian log logfile _name Turns on the log mode and specifies the name of the logfile The logfile contains all mondfe commands entered by the user in that particular session This logfile can be used as the input command file to reproduce a debug session There is no default filename Log mode can be turned on or off from the mondfe command prompt using the LOGON or LOGOFF command The logfile name can be specified or chan
64. ng the F command except in the case of FS when fill_data is interpreted as a character string If the data format letter is missing a default size of 32 bits word is assumed All the format specifiers except the S format can be used to fill either memory or register The format of the fill_data specified must be consistent with and representable in the format specified For example a floating point data must be supplied for an FF command whereas an integer that can be represented in 32 bits must be supplied when FW is used Thus abcdef would be an invalid fill_data for an FB command When no suffix is given that is when F is used alone the fill_data is assumed to be representable as a 32 bit integer When the resource type is register the format specified should be either W F or D because the registers are accessed as 32 bit quantities Fill Formats In the fill formats shown below word half word byte floating point and double precision formats interpret the fill data as hexadecimal values The string format takes a string of characters as fill data The DISPLAY D command following each fill command in the examples is shown only to illustrate the fill command results Word Default MONDFE EXE gt 80005000 80005010 12345678 MONDFE EXE gt d 80005000 80005010 80005000 12345678 12345678 12345678 12345678 _4Vx 4Vx 4Vx 4Vx 80005010 12345678 AVX Half Word MONDFE EXE gt f h 80005000
65. ng two automated debug sessions mondfe can be invoked in quiet mode using the q option which suppresses all descriptive messages The program also can be invoked in either interactive or non interactive mode with the D command line option When invoked in non interactive mode an executable file must be specified on the command line This executable file is downloaded onto the target and executed until completion mondfe provides a set of functions to display and modify memory and register contents Commands do not support symbolic references to program variable names and addresses The registers can be referenced using their standard mnemonics Commands in mondfe can display data in bytes half words words floating point values or in double words An ASCII representation of the data displayed also is provided when the display format is in words Commands in mondfe can write to memory in bytes half words words floating point values double words or in character strings The FILL F command fills memory with a string of characters mondfe can disassemble instructions in memory Standard opcode mnemonics are used for disassembly MiniMON29K User Interface MONDFE MONDFE Modules MONDEFE is comprised of three modules User Interface MONDFE Command Interpreter and MONDFE Command to UDI Procedural Call Converter Figure 0 1 shows these modules UDI IPC MONDFE MONDFE MONDFE User lt gt Procedural Commana Interfac
66. ogram COFF file When the noi option is specified no process is initialized for the downloaded program When the i option is specified a process is initialized for the downloaded program and is ready for execution using the G command The i option is the default ms mem_stack_size_in_hex Specifies the memory stack size to use at the time of process initialization warm start for the downloaded program The value specified is interpreted as a hexadecimal value which can override the value specified on the command line of mondfe at the time of its invocation rs reg_stack_size_in_hex sections Specifies the register stack size to use at the time of process initialization warm start for the downloaded program The value specified is interpreted as a hexadecimal value which can override the value specified on the command line of mondfe at the time of its invocation Downloads specific COFF sections of the COFF file specified The sections option can be composed of one or more of the following letters b Indicates BSS sections d Indicates DATA sections Indicates LIT sections t Indicates TEXT sections Only the sections specified using the above letters are downloaded The default is to download all sections For example td downloads only the TEXT and the DATA sections of the COFF file MiniMON29K User Interface MONDFE 2 51 2 52 Coff_Filename program_args Specifies the relative pathname of the COFF
67. ollowing command at your host computer s operating system prompt assuming that you are using the batch files discussed above Before entering the command you must be in the directory containing the buggy c source file and the batch files C gt compile buggy The C gt shown above is the MS DOS prompt for a command to be entered Type only the two words compile buggy followed by a carriage return This compiles and links the buggy c program producing a buggy map map file and a buggy out absolute COFF file The buggy map file contains information that will be used in subsequent debugging steps In particular the following lines extracted from the buggy map file are pertinent to the remaining tutorial steps _main text 00010120 _Fahrenheit bss 0001C0B8 _Celsius bss 0001C04A4 Note that these addresses may vary depending on the compiler and library versions you use These three locations were taken from the global symbol table listing in the buggy map file It is a common practice for C compilers to prefix symbols with an underscore character The main function is located in the TEXT section of the COFF file and is found at memory location 0x10120 in the loaded program The global variables Fahrenheit and Celsius are located in the BSS section at addresses 0x 1COB8 and 0x1COA4 respectively The TEXT section identifies locations in instruction memory and DATA and BSS sections identify locations in data memory 3 8 MiniMON29K
68. on on page 3 7 Next invoke mondfe reload the COFF file buggy out using the Y command and start program execution by entering the G command This sequence of operating system and mondfe commands is listed below C gt compile buggy C gt mondfe D TIP serial384 MONDFE EX E gt Y buggy out MONDFE EXE gt G m When you are asked to enter a temperature again enter 212 The output should appear as shown below Enter a temperature in Fahrenheit 212 0 A Temperature of 212 00 Fahrenheit 194 22 Celsius Well at least this time there is output Unfortunately a temperature of 212 0 degrees Fahrenheit should be 100 0 degrees Celsius Something else is wrong It must be in the computation of the Celsius value MiniMON29K User Interface MONDFE 3 15 3 16 At this point terminate the program by entering any non numeric value such as the following and observe the output Enter a temperature in Fahrenheit end Program exited exit code 0 The output indicates that the program has exited because you indicated in the if statement that if less than one numeric value is entered in response to the scanf call the program should call the exit routine The display reflects that this has occurred Because of the recompilation the object code has changed so it is uncertain where the computation begins In addition the contents of the buggy map file has changed The relevant entries in the new
69. ple MONDFE EXE gt T 0001005c O1ff82ff constn Lr OxXEF LE In this example mondfe is asked to trace a single instruction beginning with the instruction at the memory location displayed by the previous example Only one instruction is traced because there is no count parameter After executing the instruction at address 0x10058 the next instruction located at address 0x1005C is displayed MiniMON29K User Interface MONDFE TIP MONTIP Transparent Mode Syntax TIP command where command Is a valid montip command The TIP command sends the command string to montip for execution The command uses UDI Transparent Mode to pass the command string The following TIP commands are supported e tip lpt 0 requests that montip stop using the parallel port for communicating with 29K Family microcontroller targets e tip lpt 1 requests that montip resume using the parallel port for communicating with 29K Family microcontroller targets The TIP command can be used before issuing a YANK Y command to download a program COFF file using the PC parallel port The parallel port download capability is applicable only for an MS DOS system The parallel port to be used must be specified as a montip command line option in the UDI configuration file using the par command line option of montip The UDI configuration file is udiconfs txt on MS DOS systems and udi_soc on UNIX systems Because the parallel port communication is
70. r s TLB register number nnn Valid entries are tr0 tr127 Refers to COPROCESSOR register number nnn For example xr0 Standard mnemonics also can be used to specify special register names MiniMON29K User Interface MONDFE A Assemble Instruction Syntax A 29K_MEM_ADDR mnemonic paral paraz2 or A 29K MEM_ADDR where 29K_MEM_ADDR Specifies the hexadecimal memory address value and the associated memory space suffix as described earlier under the 29K_MEM_ADDR format If no suffix is given the memory space assumed is instruction RAM mnemonic Specifies a legal 29K Family of microprocessors alphabetic instruction mnemonic paral para2 etc Are the parameters required by the specific microprocessor instruction being assembled The ASSEMBLE A command allows the user to assemble instructions in memory using the standard instruction mnemonics of the AMD 29K Family of RISC processors Each ASSEMBLE A command assembles one instruction in memory The parameters paral paraz2 etc to the instructions and their numbers depend on the type of instruction being assembled For example a NOP instruction does not require any parameters while a LOAD instruction requires four parameters Parameters can be separated with commas or spaces However parameters cannot be separated with semicolons The semicolon which is the assembler comment character is not recognized and it produces an illegal syntax error
71. ram The extensions of map and out represent the linker map and absolute COFF files associated with their respective source files Note that the examples throughout the remainder of this tutorial are shown in MS DOS however equivalent UNIX filenames are listed in parentheses where appropriate A listing of buggy c is shown below Program listing for buggy c a demonstration program for use with the mondfe tutorial include lt stdio h gt double Fahrenheit Celsius main for printf Enter a temperatur in Fahrenheit if scanf 1f Fahrenheit lt 1 exit 0 Celsius Fahrenheit 32 0 555555556 printf A temperature of 6 21f Fahrenheit 6 21f Celsius n Fahrenheit Celsius The bugs in this program may be apparent but follow along with the tutorial to learn how to use the commands in the MiniMON29K software to discover these problems The methodology for discovering and fixing these bugs can be applied to debugging more complex programs MiniMON29K User Interface MONDFE 3 7 The first step is to compile the program The compile bat file compile for UNIX versions provided can be used to produce an absolute COFF file for an EB29K target For this example the compile bat file was edited to use load Ink instead of ebload Ink as the linker command file You may have to edit this file to suit your target system To compile a C program enter the f
72. register Ir2 is being loaded with the constant 0x16028 which is the address of a value in the LIT section of the program This is the address of the format string which is the first parameter to the scanf function The second parameter should be the address of the Fahrenheit variable and this should be placed into local register Ir3 prior to making the call MiniMON29K User Interface MONDFE The address of the Fahrenheit variable is 0x160B8 so you should see it referenced in the code above What you see however is the following sequence of instructions with explanatory comments added 00010148 const gr98 0xc0b8 put 0x1C0B8 into gr98 0001014c consth gr98 0xl 7 put Ox1COB8 into gr98 00010150 load 0 0x0 gr100 gr98 put Ox1COB8 into gr100 00010154 add gr122 gr98 0x4 00010158 load 0 0x0 gr101 gr122 0001015c add 1r3 gr100 0x0 put it into 1r3 It seems clear at this point that the contents rather than the address of the Fahrenheit value are being loaded into Ir3 Going back to the source code you find that in the call to scanf an ampersand character amp was not placed in front of Fahrenheit The correct source code line should appear as shown below if scanf Slf amp Fahrenheit lt 1 exit 0 Exit mondfe by entering the following command MONDFE EXE gt Q Make this correction to the source code in buggy c and recompile using the same procedure indicated in the Compiling the Tutorial Example secti
73. rom the file are executed the mondfe gt prompt appears again Nesting of command files is not allowed MiniMON29K User Interface MONDFE ZE Specify Echo File for Echo Mode Syntax ZE echofile_name where echofile_name Is the name of the echo file The ZE command turns on echo mode and specifies the echo file When echo mode is on everything that is displayed on the screen is written into the echo file The echofile_name string specifies the filename of the echo file MiniMON29K User Interface MONDFE 2 55 ZL Specify Log File for Log Mode 2 56 Syntax ZL logfile_name where logfile_name Is the filename of the log file The ZL command turns on log mode and specifies the log file to use When log mode is on every mondfe command entered by the user is logged in the log file This log file can be used directly as an input command file for subsequent debug sessions to repeat the same sequence of commands Log mode can be turned on or off by using the logon or logoff command MiniMON29K User Interface MONDFE Chapter 3 amp MONDFE Tutorial This chapter provides a step by step approach for debugging an example program that contains intentional bugs Although the example program is relatively simple the methodology presented in the tutorial is applicable to many of the debugging situations that a user may encounter This tutorial program buggy c is run on an Am29000 microprocessor compiled usin
74. s 5 eii A ea a a O eeees 2 19 EOFF EON Turn Off On Echo Mode a cece cee eeeeeeeeeeeees 2 20 ESC Escape to Host Operating System a ir 2 21 EX Exit UDI SesSiOn caesen ea ara ues o iaeoe E EEEE 2 22 F Fill Memory Registers 0 000 00 000 cocci tee nee teens 2 23 G Gren ee ee ee eee 2 27 Fp is ech ect ce ee adeno Rese Bites wig head Ge een gett 2 28 IL Disassemble Am2903x Processor Cache iiair 2 30 INIT Initialize Downloaded Program 0 0 00 000 000 o cece eee 2 31 IX Display Am2903x Processor Cache 0 000 000 c cece cee 2 32 K Kill Program Execution 00 000 000 000 00 neees 2 33 L List Disassemble From Memory 0 creere recre 2 34 LOGOFF LOGON Turn Off On Log Mode 0 000 cc cee eeeeees 2 36 M Move Registers Memoty liaise teee eee 2 37 PID Set UDI Process IDA minie a E R e E aE 2 39 OUT 6 sad Seeds asa Ge atc aaa oh dG ag Be EAE A a TE 2 40 QOFF QON Turn Off On Quiet Mode lai 2 41 R Reset Target Processor 0 2 0 0 000 00 ccc cece eee eet rererere 2 42 S Set Memory Registers 2 000 000 ee teens 2 43 SID Set UDI Session ID l eeren 2 45 T Trace Single Multiple Step Execution 00 00 000 cece 2 46 TIP MONTIP Transparent Mode 0 00 000 0 2 47 VER Display DFE TIP and Target Version Numbers 2 48 XP Display Special Registers acsee
75. splaying Am2903x cache 2 32 data memory range 2 10 DFE version 2 48 instruction memory range 2 10 instruction ROM range 2 10 memory 2 15 mondfe version 2 10 2 11 processor type 2 10 registers 2 15 special registers 2 49 target configuration 2 10 target version 2 48 TIP version 2 11 2 48 UDI version 2 11 DOS commands invoking the monitor 3 9 3 19 Index 2 MiniMON29K User Interface MONDFE double precision floating point fill format in 2 23 formatting display in 2 15 set format 2 43 double precision floating point display format 2 16 double precision floating point fill format 2 25 DP command 2 19 E ebdemo bat batch file 3 2 ebload Ink linker command file 3 4 echo file viii specifying 1 2 using quiet mode 1 2 echo mode turning on 2 55 turning on off 2 20 endian specifying big or little 1 3 EOFF EON command 2 20 error handling and reporting A 1 A 7 error messages mondfe A 2 UDI A 5 A 7 ESC command 2 21 escape to host operating system ESC command 2 21 EX command 2 22 execute commands from command file ZC command 2 54 execution starting 2 27 tracing 2 46 exit UDI session EX command 2 22 MiniMON29K User Interface MONDFE F F command 2 23 fill formats bytes 2 25 double precision floating point 2 25 half words 2 24 single precision floating point 2 25 string of characters 2 25 words 2 24 fill memory registers
76. ssage type Message too large for buffer Could not RESET target Could not get target CONFIG Could not get target STATUS Could not READ target memory Could not WRITE target memory Error Code Error Message 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 MiniMON29K User Interface MONDFE EMBKPTSET EMBKPTRM EMBKPTSTAT EMBKPTNONE EMBKPTUSED EMCOPY EMFILL EMINIT EMGO EMSTEP EMBREAK EMHIF EMCHANNELO EMCHANNEL1 EMOPEN EMHDR EMMAGIC EMAOUT EMSCNHDR EMSCN EMCLOSE EMLOGOPEN EMLOGREAD EMLOGWRITE EMLOGCLOSE EMCMDOPEN EMCMDREAD EMCMDWRITE EMCMDCLOSE Could not set breakpoint Could not remove breakpoint Could not get breakpoint status All breakpoints in use Breakpoint already in use Could not COPY target memory Could not FILL target memory Could not initialize target memory Could not start execution Could not single step Could not BREAK execution Could not perform HIF service Could not read CHANNELO Could not write CHANNEL 1 Could not open COFF file Could not read COFF header Bad COFF file magic number Could not read COFF a out header Could not read COFF section header Could not read COFF section Could not close COFF file Could not open log file Could not read log file Could not write log file Could not close log file Could not open command file Could not read command
77. st be set to invoke the mondfe exe and montip exe executables This batch file can be used to invoke mondfe and montip to execute programs interactively on a stand alone target board connected over a serial communications link The assumed baud rate is 38400 bps Linker Command Files for the MONDFE Tutorial ebload Ink ALIGN 8192 RESNUM 0x0 0x10000 ORDER text 0x10000 text ORDER data 0x80004000 datal data lit lit bss bss This linker command file produces a COFF file for an EB29K target It orders the TEXT section in the Instruction memory reserving the first 0x 10000 bytes for the MiniMON29K debugger core and the optional kernel The DATA sections are ordered starting at 0x80004000 reserving the first 0x4000 bytes for use by the MiniMON29K debugger core and the AMD example kernel osboot The ALIGN directive forces the alignment of sections on an 8K page boundary This alignment must match the Page Size bits of the MMU register to successfully run the user s program in protected mode using montip The default for the Page Size bits of the MMU register is 8K page load Ink ALIGN 8192 RESNUM 0x0 0x10000 This linker command file produces a COFF file for a target that has a joint I and D memory space The first 0x 10000 bytes are reserved for the MiniMON29K debugger core and the AMD example kernel osboot 3 4 MiniMON29K User Interface MONDFE Demo Directory for UNIX Hosts The demo directory under the
78. stination_start parameters are all required The source and destination parameters can be either register names or memory addresses or a combination of both However the source_start and the source_end parameters cannot be a mixture of register names and memory addresses If the source parameters describe a series of memory locations that do not encompass a whole number of words only the inclusive range of bytes is moved to the destination address If a single register or memory location is to be moved source_start and source_end must be identical MiniMON29K User Interface MONDFE 2 37 2 38 Example MONDFE EXE gt M 10000 1000 20000 This example illustrates the use of the M command to move a block of memory data from one location to another In this case 16 bytes four instructions are moved from the data memory locations 0x10000 0x 1000f to locations 0x20000 0x2000fF MiniMON29K User Interface MONDFE PID Set UDI Process ID Syntax PID pid_number where pid_number Specifies the UDI process ID number The PID command sets the current UDI process to the pid_number specified A pid_number of 1 represents the target system and can be used to access physical addresses and to reset the target The CP command creates a process the DP command destroys a process and the INIT command initializes a process MiniMON29K User Interface MONDFE 2 39 Q Quit 2 40 Syntax Q The QUIT Q co
79. t_data format is a 32 bit integer default SH Specifies set_data format is a 16 bit integer SB Specifies set_data format is an 8 bit integer SF Specifies set_data format is a floating point number SD Specifies set_data format is a double precision floating point number target_resource Specifies a memory location or a register whose content is to be set to the set_data value given A memory location or a register must be specified using the 29K_MEM_ADDR format or 29K_REG_NAME format described on pages 2 4 and 2 5 The default memory space is data memory set_data Specifies the value to be written into the memory location or register specified by the first parameter This value is interpreted as a hexadecimal value and according to the format suffix specified if any Its size must be consistent with the unit size of that format W H B F and D suffixes to the SET S command specify the format of set_data When no suffix is given W is assumed The SET S command sets a memory location or a register to a particular value specified by set_data The format of the set_data is specified by the suffix character of the S command All the format specifiers above can be used to set either a memory location or a register The set_data specified is interpreted as a hexadecimal value The format of set_data must be consistent with and representable in the format specified For example a floating point data must be supplied for an
80. the udiconfs txt file must be present in the current working directory The UDICONF variable is checked before using the file in the current directory If the DFE does not find this file an error is reported For more information about the UDI configuration and its related files see the Universal Debugger Interface UDI Specification Version 1 2 udi_soc This file is the UDI configuration file for UNIX systems The UDICONF environment variable can be set to the complete pathname of this file if it is not in the current working directory of the Debugger Front End DFE When UDICOMF is not set this file must be present in the current working directory The UDICONF variable is checked before using the file in the current directory If this file is not found an error is reported Sample File Entries The following set of sample entries in the UDI configuration file are used in the examples below MS DOS Host udiconfs txt file entries eb29k_id montip ex t eb29k r eb29k os isstip_id isstip exe r osboot serial_38400 montip ex t serial baud 38400 UNIX Host udi_soc file entries isstip_id AF_UNIX sockiss isstip r osboot serial_38400 AF_UNIX sockser montip t serial baud 38400 MiniMON29K User Interface MONDFE 1 5 Example mondfe D TIP isstip_id In the example above mondfe is invoked in interactive mode D option and isstip_id is used as the ID of the TIP This ID is matched with the first field of the line entri
81. tional Conventions Symbol Usage Boldface Indicates that characters must be entered exactly as shown The alphabetic case is significant only when indicated Italic Indicates a descriptive term to be replaced with a user specified term Typewriter face Indicates computer text input or output in an ex ample or listing Encloses an optional argument To include the in formation described within the brackets type only the arguments not the brackets themselves Encloses a required argument To include the in formation described within the braces type only the arguments not the braces themselves Indicates an inclusive range Indicates that a term can be repeated Separates alternate choices in a list only one of the choices can be entered Indicates that the terms on either side of the sign are equivalent xii MiniMON29K User Interface MONDFE Chapter 1 a MONDFE Command Line Syntax The syntax for using mondfe is described on the following pages followed by a description of the UDI configuration files and the mondfe command file format MiniMON29K User Interface MONDFE 1 1 MONDFE Command Line Syntax Syntax where D mondfe D TIP tip_id_from_udi_config_file q e echo_filename_for_script c input_cmd_filename ms mem_stack_size_in_hex rs reg_stack_in_size_in_hex le log logfile_name w wait_time pgm_name pgm_args_list lt input_data
82. ural Call Converter Module implements each of the command handlers and sub handlers called by the MONDFE Command Interpreter Module It initializes the UDI data structures from mondfe data structures and calls the appropriate UDI procedure The actual implementation of the UDI procedure depends on the UDI interprocess communication IPC mechanism Any results returned by the UDI procedure are converted and placed into mondfe data structures Thus this module allows mondfe to operate with any UDI conformant target interface process Figure 0 2 shows how mondfe can be used for debugging with the UDI conformant TIP montip MiniMON29K User Interface MONDFE dijuoul gi JUUOJUOD GN YIM jpuow YEZNOWIUIN Z 0 eunbiz vLeyu u SuOl eoIUNWWOD wnIpan abessoy dl M6CNOW UIN l NpOoN yoddns JIH JOAuq i uoHTeOIUNWWOD i jeues S 9 S sieo 1an 0 dILNOW puewwog o Sjeo Jajosdequ AACNOW ian w S S JeAuq puewwo9 HEAUOD HEAUOD abessoy Aowal l JAANOWN AEZNON UIN paseys ta J S N SJBAUQ uoHeoIUNWWOD J 0 v d ta J L N ASAGNOW dILNOW MiniMON29K User Interface MONDFE MONDFE Documentation Conventions The Advanced Micro Devices manual MiniMON29K User Interface MONDFE manual uses the conventions shown in the following table unless otherwise noted These same conventions are used in all the 29K Family support product manuals Table 0 1 Nota
83. xecution T command example 2 46 single instruction example 2 46 using 2 46 trace command 3 17 tracing execution 2 46 transfer terminal control to target CH0 command 2 12 transparent mode 2 47 turn off on echo mode EOFF EON command 2 20 turn off on log mode LOGOFF LOGON command 2 36 turn off on quiet mode QOFF QON command 2 41 tutorial 3 1 3 20 application prompt 3 10 BSS section 3 10 COFF file creation 3 8 COFF file sections 3 9 compiling the program 3 7 3 15 data section 3 10 debugging the program 3 11 Index 6 MiniMON29K User Interface MONDFE displaying double precision floating point values 3 12 3 18 displaying global registers 3 11 displaying program counters 3 11 invoking the monitor 3 9 3 19 listing generated code 3 11 3 13 3 14 LIT section 3 10 loading COFF file 3 9 3 16 loading the program 3 9 3 10 3 15 3 19 map file 3 8 3 12 3 16 monitor error trap 3 10 quitting the monitor 3 15 3 19 running the program 3 9 3 10 setting a breakpoint 3 16 3 17 starting execution 3 10 3 19 terminating a program 3 16 tracing an instruction 3 17 3 18 U UDI configuration files 1 5 connecting to a session 2 13 disconnecting from a session 2 18 error messages A 5 exiting session 2 22 process creating 2 14 process destroying 2 19 process setting 2 39 sample file entries 1 5
Download Pdf Manuals
Related Search
Related Contents
Manuale d`istruzioni Network Troubleshooting istruzioni per l`uso software di messa in esercizio ¿PREGUNTAS? - Icon Heath & Fitness Handbuch Operating instructions en Mode d`emploi fr Manual de instrucciones Draper RoadWarrior Brodit 854623 Copyright © All rights reserved.
Failed to retrieve file