Dialogs


Add Watch

This dialog allows you to add a watch to the Watch window. It invokes the WATCH command.

Select Symbol button Specify the value of the new symbol in the Address Expression Combo box. You may press the Select Symbol button to select from a list of currently defined symbols.

Note: you may find it more convenient to add watches from the Symbols dialog.

The DataType Combo box specifies the data type of the watch. When you set the value of the watch, the data type will be set to the data type of the value.

Press the OK button to define the watch and dismiss the dialog.

Press the Cancel button to dismiss the dialog without defining a watch.


Assemble Into Memory

This dialog provides a simple assembler interface to target memory. You can enter processor instructions into memory using assembler mnemonics.

The top portion of the dialog is a history of the instructions already entered.

The Address edit box shows the address at which the next instruction will be written. You may change the address by entering an address expression in this edit box.

The Instruction edit box is where you enter the instruction to be written to memory. The syntax generally follows the manufacturer's standard assembly syntax. Instruction arguments such as jump destinations and data addresses may be entered as expressions.

Press the Assemble button to assemble the instruction in the Instruction edit box and write the result to target memory at the address specified in the Address edit box. If an error occurs, either in instruction syntax or in the target write, an error dialog will be shown.

The Close button dismisses the dialog without processing the contents of the Instruction edit box.


Breakpoints

The Breakpoints list has two columns, one showing the breakpoint number, and the other the breakpoint address. You may sort on either column by clicking on the column header.

Press the Delete button to delete one or more selected breakpoints from the list. You can press Control+A to select the entire list.

Press the Delete All button to delete all breakpoints.

Press the Add... button to invoke the Add Breakpoint dialog.

Press the Close button to dismiss the Breakpoints dialog.


Define Symbol

This dialog allows you to define a symbol. It invokes one of the the DEFINE commands.

Specify the name of the new symbol in the Symbol Name Edit box.

Select Symbol button Specify the value of the new symbol in the Value Combo box. You may press the Select Symbol button to select from a list of currently defined symbols.

The DataType Combo box specifies the data type of the new symbol. When you set the value of the symbol, the data type will be set to the data type of the value.

The Symbol Type radio buttons specify the symbol type:

Press the OK button to define the symbol and dismiss the dialog.

Press the Cancel button to dismiss the dialog without defining a new symbol.

The Scope display shows the current file and function scope.


Edit Memory

This dialog allows you to edit memory in hexadecimal and in other formats.

Select Symbol button The Address combo box specifies the memory address to be read or written. You may change the address by entering an address expression in this edit box, or selecting and address from the drop-down history. You may press the Select Symbol button to select from a list of currently defined symbols.

The Value edit box is initially set to the value read from memory. You may change it to the desired value by entering an expression.

The Datatype combo box specifies the data type to be used in displaying the memory values.

Press Read to read memory and display the results in the Value box.

Press Next to advance to the next memory location and read and display the contents.

Press Previous to go to the previous memory location and read and display the contents.

Press Write to write the contents of the Value box to memory, and perform other actions controlled by the Skip Read and Next After Write check boxes.

If the Skip read box is not checked, pressing the Write button will write the contents of the Value box to memory, and then read and display target memory. If this box is checked, the read will be skipped and "?" will be shown for the value.

If the Next after write box is checked, pressing the Write button will write the contents of the Value box to memory, and then advance the address. If this box is not checked, the address will not be advanced.

The large box shows a history of the values read from and written to target memory.

Press Close to dismiss the dialog.


Fonts and Colors

This dialog allows you to specify the fonts and colors used by NoICE's various windows. These settings are saved in the Windows Registry.

The Category List box lets you select the Window whose settings are to be modified.

Press the Font... button to modify the font for the Window selected in the Category list box. This will invoke the standard Windows Font dialog. The current setting is shown.

Press the Normal Color... button to modify the background and foreground colors used for normal text in the Window selected in the Category list box. This will invoke the standard Windows Color dialog. The current setting is shown.

Press the Highlight... button to modify the background and foreground colors used for highlighted text in the Window selected in the Category list box. This will invoke the standard Windows Color dialog. The current setting is shown.

Press the Close to dismiss the dialog.


Modify Watched Value

This dialog allows you to change the value of a watch in the Watch window. It is invoked by double-clicking on a watch item, or by pressing Enter when the item is selected.

A text item near the top of the dialog shows the memory address of the item. The Value Edit box initially shows the value of the watch. You may change this value as desired before pressing the Write button. Press the Write button to write the value from the Value box to target memory.

Press the Cancel button to dismiss the dialog without changing the watch value. The Datatype shows the data type of the watch item.


Select Symbol

Select Symbol button This dialog allows you to select from a list of currently defined symbols. It is usually invoked from another dialog via the Select Symbol button associated with an Edit or Combo box.

The symbol list has several columns; showing name, address, datatype, and the function and file which define the symbol if it is not global. You may sort on any column by clicking on the column header.

The Scope display under the symbol list shows the current file and function scope.

If the Show all (disregard scope) box is not checked, only symbols visible in the current scope are shown in the list. That is, global symbols and those symbols defined as "static" in the current function or file. If the box is checked, all symbols are shown.

Press the O>K button to choose the selected symbol and dismiss the dialog.

Press the Cancel button to dismiss the dialog without selecting a symbol.

Press the Set Scope... button to invoke the Set Scope dialog. This allows you to view the symbols whose scope is a file or function other than the current scope.


Set File and Function Scope

This dialog allows you to change the current symbol scope. It invokes the SCOPE command.

The File and Function list has several columns; showing file name, function name, and address range. You may sort on any column by clicking on the column header.

The Scope display under the list shows the current file and function scope.

Press the Set Scope button to choose the selected scope and dismiss the dialog.

Press the Cancel button to dismiss the dialog without selecting a new scope.


Symbols

This dialog shows a list of the currently defined symbols. You may filter and sort the list of symbols in various ways, and add and delete symbols.

The symbol list has several columns; showing name, address, datatype, and the function and file which define the symbol if it is not global. You may sort on any column by clicking on the column header.

The Scope display under the symbol list shows the current file and function scope.

If the Show all (disregard scope) box is not checked, only symbols visible in the current scope are shown in the list. That is, global symbols and those symbols defined as "static" in the current function or file. If the box is checked, all symbols are shown.

Press the Watch button to add all selected symbols to the Watch window.

Press the View Source to show the code whose address is the value of the selected symbol. If more than one symbol is selected, only the first is shown.

Press the Delete button to delete one or more selected symbol from the list. You can press Control+A to select the entire list.

Press the Add... button to invoke the Add Symbol dialog.

Press the Set Scope... button to invoke the Set Scope dialog. This allows you to view the symbols whose scope is a file or function other than the current scope.

Press the Close button to dismiss the Symbols dialog.


Timed Update

This dialog allows you to specify a timed refresh of the Watch and Memory views. These views may also be updated manually, after single-stepping, or after a breakpoint. The settings made in this dialog are saved in the Windows Registry.

The Update interval in seconds edit box shows the time between updates. A value of zero will disable timed updates.

If the Update Watch window box is checked, the Watch window will be refreshed at the specified interval, in accordance with the states of the running/not-running checkboxes and the target state.

If the Update Memory window box is checked, the Memory window will be refreshed at the specified interval, in accordance with the states of the running/not-running checkboxes and the target state.

If the Update while target is Running box is checked, timed updates will occur when the target program is running. This is possible only with certain types of target communications. The checkbox will be grayed out if your target does not support this operation.

If the Update while target is Stopped box is checked, timed updates will occur when the target program is not running. This is not generally useful (since memory generally won't be changing unless you change it), but the feature is provided for special cases. Updates are suspended during the LOAD command, since updates then could interfere with Flash burning.


Target Communications

This dialog allows you to select a communications interface, and to set the parameters of that interface. These settings are saved in the Windows Registry.

The Interface drop list allows you select an interface. Some interfaces are built in. Other interfaces reside in DLLs with names of the form NComXXXXX.dll. This allows new forms of communications to be added largely independent of the rest of NoICE.


NoICE Serial Protocol Configuration

The NoICE Serial Protocol is the "classic" NoICE protocol. It works in conjunction with a serial monitor program running on the target. Select Options, Target Communications from the menu. Then select "NoICE Serial Protocol" from the Interface drop list.

NoICE Serial Setup
Click on a field for more information about its function.

Use the Serial / TCP/IP radio buttons to choose whether your interface uses a serial (RS-232) or TCP/IP connection.

The Port drop list is initialized with the serial ports found by NoICE on your computer. NoICE may have difficulty seeing ports higher than COM9. If you are using a higher-numbered port, use the Windows Device Manager to assign it to a lower number.

The Baud Rate drop list is used to select the baud rate appropriate to your target.

You can also enter a non-standard rate, should your application require it. However, be aware that a standard PC serial port can only generate baud rates that are exact integer divisors of 115,200. Thus, the PC can generate 9600 baud (115200/12), or 10472.73 baud (115200/11), but not, for example, 10000 baud. If you enter a baud rate of 10000, Windows will chose the closest available baud rate. Since the closest available rate in this case is about 4 percent off, operation is not likely to be satisfactory. In such a case, you might try to find a lower baud rate that can be supported by both the target and the PC.

The Initial state of RTS drop list specifies the state NoICE uses for RTS. The choice "TRUE during transmit" may not work on all serial ports, depending on driver implementation.

The Initial state of DTR drop list specifies the state NoICE uses for DTR.

The Parity drop list specifies the parity setting NoICE uses. In most cases, "no parity" should be selected.

The Stop Bits drop list specifies the number of stop bits that NoICE uses. In most cases, "1" should be selected.

The Hostname edit box specifies the hostname or IP address NoICE uses when it opens a TCP/IP connection with a target. This will often be "localhost", when the connection is to a process running on the same PC as NoICE.

The TCP Port edit box specifies the TCP port NoICE uses when it opens a TCP/IP connection with a target. The value must be as required by the target device or process.

The Timeout (msec) edit box specifies how long NoICE will wait for a reply to a command that it sends. The default value is 1000 msec. You may wish to change this value for shorter or longer communications timeouts.

The Wait for target echo of bytes from host checkbox will normally be unchecked. If checked, NoICE will wait for the target to echo each byte sent to it before sending the next byte. This may be useful for very slow targets or other special purposes, but is normally left un-checked.


Dummy Target

The Dummy Target communications interface is a simple simulation of memory and registers only. It does not simulate instruction execution. The intent of this interface is to allow "test drives" of NoICE without target hardware.


Missing Source Files Dialog

This dialog allows you to control various aspects of NoICE's source-level debugging to account for quirks in various compilers and debug formats. It can be invoked from the View menu. However, you will most commonly open it from an information dialog that tells you NoICE cannot find a source file.

NoICE can load source-level debug information from a variety of files produced by a variety of compilers and assemblers. Some of these files specify the complete path to the source file. Some specify only the file name. Either of these can cause problems under certain circumstances:

The Search Path in the top half of this dialog lets you specify an ordered sequence of paths. If a source file cannot be found as specified by the debug file, NoICE will search for it in the directories specified in the list. The list is searched in order. Buttons allow you to add, remove, edit and resequence the paths.

The Else if a source file... drop-list lets you specify NoICE's action if a file cannot be found in any of the search directories. Options are

The Ignore FILE... edit control lets you specify file extensions that NoICE should ignore for purposes of source-level debugging. The reasons for this are somewhat involved and will not be discussed here. In most cases, you should specify the extensions you use for include files. The default contents of this control are ".h .hpp .inc".


NoICE (tm) Debugger, Copyright © 2019 by John Hartman

Using NoICE - Contact us - NoICE Home