BDI-Setup Help Index

How To ...

Configure the BDI1000

Commands

File menu

Setup menu

Tools menu

View menu

Help menu


Setup menu commands

The Setup menu offers the following commands:

Communication	Setup the communication port.
Firmware	Update BDI firmware/logic and define network parameters.
Initlist	Edits the initialisation list used to setup the target processor.
Mode	Sets the BDI working mode and transmits the configuration to the BDI
Import/Export	Import / Export the BDI configuration from / to a text file


Import/Export command
Import/Export command (Setup menu)

Use this command to read the setup (init list and mode) from a text file or to store the current setup in a text file. The command displays the Setup Import / Export dialog box.


Setup Import / Export dialog box

The following options allow you to store or read the configuration (init list and mode) to or from a text file. To learn the syntax of the text file, export an example configuration and open the text file with an editor.

File name

Enter the name of the import / export text file

Import

Click on this button to read the configuration from the text file.

Export

Click on this button to write the configuration to the text file.


Mode command
Mode command (Setup menu)

Use this command to select the BDI working mode and to transmit the configuration to the BDI. The command displays the Setup Mode dialog box.

Shortcuts

Toolbar:


Setup Mode dialog box

The following options allow you to select the BDI working mode and to transmit the configuration:

Identification

Enter a text to identify this setup. This text can be read by the debugger with the appropriate Command.

Startup

Startup mode defines how the BDI interacts with the target processor after reset or power up. The options are RESET, STOP or RUN can be selected.

Breakpoint

Breakpoint mode defines how breakpoints are implemented. When Software is selected (default), Breakpoints are set by replacing program code in target memory. When Hardware is selected, the built-in breakpoint logic of the target CPU is used to implement Breakpoints. In this mode, only up to 2 Breakpoints are available. This mode may be used when debugging code already stored in a ROM.

CPU Type

Select the CPU type of the target system.

Workspace

In order to speed up code download, enter the address of a free 32 byte RAM area. The BDI will install there some code that supports faster program download via DCC. A value of 0xFFFFFFFF disables the workspace. In cases where the target is to slow, this download mode may fail and you have to disable it.

Run Time

When startup mode STOP is selected, this option allows to set the run time after reset in milliseconds until the target CPU is stopped. Values from 100 (0.1 sec) till 32000 (32 sec) are accepted.

Trap exceptions

ARM9: Select the exceptions that should lead to debug mode entry instead of entering the normal exception handler. The IceBreaker's vector catch register is used for this.

ARM7: Select the exceptions for which the BDI should install a default handler. The default handler is simply a software breakpoint. Catching exceptions is only possible if the memory at address 0x00000000 to 0x0000001F is writable.

Big Endian memory format

Check this switch if the target memory uses Big Endian format.

JTAG Clock

This option allows to select the used JTAG clock rate.

JTAG Scan Chain

The BDI can also handle systems with multiple devices connected to the JTAG scan chain. In order to put the other devices into BYPASS mode and to count for the additional bypass registers, the BDI needs some information about the scan chain layout. Enter the number and total instruction register (IR) length of the devices present before the ARM chip (Predecessor). Enter the appropriate information also for the devices following the ARM chip (Successor).

Transmit

Click on this button to send the initialisation list and the working mode to the BDI. This is normally the last step done before the BDI can be used with the debugging system.


Initlist command
Initlist command (Setup menu)

Use this command to create or edit the initialisation list for the target system. The command displays the Setup Initlist dialog box.

Shortcuts

Toolbar:


Setup Initlist dialog box

The initialisation list is used by the BDI to get the target system operational after a reset. The SIM registers (chip select, clock, ..) are usually initialised through this list. The list is worked through by the BDI after every restart of the target system. The list consists of code line(s). Every code line advises the BDI to write a value to a specific address in the memory range of the target system. The list is worked through from the top to the bottom.

The following options allow you to create and modify the initialisation list:

New

Creates a new initialisation code line. The Edit Code Line dialog box. is displayed. The new code line is inserted before a selected code line or appended to the list if no code line item is selected. If a code line is already selected and you wish to append a new item, deselect the item with <ctrl><left mouse button>

Copy

The selected code line(s) are copied to the system clipboard for later use by the Paste function. The Copy and Paste functions allow you to transfer code lines between different initialisation lists and between different BDI applications (e.g. bdiHCI, bdiPro or bdiSpy).

<left mouse button>	selects a single item

<shift><left mouse button>	select a range of items

<ctrl><left mouse button>	select / deselect multiple items

Paste

Inserts the code line(s) in the clipboard before a selected code line or appends they to the list if no item is selected (see also New function).

Edit

Displays the Edit Code Line dialog box to edit the selected code line. An other way to activate the edit function is to double click the code line.

Delete

Deletes the selected code line(s).


Communication command
Communication command (Setup menu)

Use this command to set the communication port and the baudrate used to communicate with the BDI. The command displays the Setup Communication dialog box.

Shortcuts

Toolbar:


Setup Communication dialog box

The following options allow you to specify the communication channel, the baudrate and the IP address used when communicating with the BDI.

Channel

Select the communication channel the BDI is connected to. It may be connected to a local serial port (COM1 ... COM4) or via a network. When using a network connection, your host computer must support a TCP/IP protocol stack accessible through the windows sockets programming interface.

Baudrate

Select the baudrate used to communicate with the BDI. Normally use the maximal supported baudrate. This selection is only used if COMx is used as the communication channel.

IP Address

Enter the IP address of the BDI1000.

Use the following format:

xxx.xxx.xxx.xxx	e.g.	151.120.25.101

This entry is only used if "Network" is selected as the comunicaton channel.

Test

Press this button to check the communication channel between your PC and the BDI.


Firmware command
Firmware command (Setup menu)

Use this command to update BDI firmware/logic and define network parameters. The command displays the BDI1000 Update/Setup dialog box.

Shortcuts

Toolbar:


BDI1000 Update/Setup dialog box

The following options allow you to check or update the BDI firmware and logic and to set the network parameters:

Channel

Select the communication port where the BDI1000 is connected during this setup session.

Baudrate

Select the baudrate used to communicate with the BDI1000 loader during this setup session.

Connect

Click on this button to establish a connection with the BDI1000 loader. Once connected, the BDI1000 remains in loader mode until it is restarted or this dialog box is closed.

Current

Press this button to read back the current loaded BDI1000 software and logic versions. The current loader, firmware and logic version will be displayed.

Update

This button is only active if there is a newer firmware or logic version present in the execution directory of the BDI setup software. Press this button to write the new firmware and/or logic into the BDI1000 flash memory / programmable logic.

IP Address

Enter the IP address for the BDI1000. Use the following format:

xxx.xxx.xxx.xxx	e.g.	151.120.25.101

Ask your network administrator for assigning an IP address to this BDI1000.

Every BDI1000 in your network needs a different IP address.

Subnet Mask

Enter the subnet mask of the network where the BDI is connected to.

Use the following format: xxx.xxx.xxx.xxx	e.g.	255.255.255.0

A subnet mask of 255.255.255.255 disables the gateway feature.

Ask your network administrator for the correct subnet mask.

Default Gateway

Enter the IP address of the default gateway. Ask your network administrator for the correct gateway IP address. If the gateway feature is disabled, you may enter 255.255.255.255 or any other value.

Transmit

Click on this button to store the network configuration in the BDI1000 flash memory.


Edit Init Line dialog box

An initialisation code line consists of a type, an address, a value and an optional comment. It tells the BDI what to write to which address.

The following options allow you to edit an initialisation code line:

Action Type

Select one of the following types:

Delay	The defined amount of time is waited at this position when working through the init list. A delay may be used after programming the clock synthesizer to let the VCO lock again before proceeding. When selecting this option, enter the amount of time in milliseconds. The delay entry field is only enabled when this option is selected.
Write Mem 8bit	The BDI writes a 8bit value to the given address.
Write Mem 16bit	The BDI writes a 16bit value to the given address.
Write Mem 32bit	The BDI writes a 32bit value to the given address.
Write GPR	The BDI writes the value to the selected general purpose register.
Write CPSR	The BDI writes the value to the current process status register (CPSR)
Write CP15	The BDI writes the value to the selected CP15 register
Memory Map	In order to avoid invalid memory accesses via the JTAG interface, it is possible to define up to 32 memory ranges where access is allowed. If no range is defined at all, the whole 4GB address range is enabled for access.
Read Mem 8bit	The BDI reads a 8bit value from the given address.
Read Mem 16bit	The BDI reads a 16bit value from the given address.
Read Mem 32bit	The BDI reads a 32bit value from the given address.
Address

Enter the address where to write the given value. This field is only active when memory write is selected. If write to GPR is selected, the second field is enabled where you can enter the register number in decimal notation. The address of a CP15 register has a special structure and is therefore entered in hexadecimal notation (see manual).

When Memory Map is selected, this field gets the start address of the range.

Value

Enter the value (hexadecimal) which is written to the given address or register. If Delay is selected, the second field is enabled where you can enter the delay time in decimal notation.

When Memory Map is selected, this field gets the end address of the range.

Comment

Enter a descriptive text for this code line.

(e.g. SYPCR watch dog disabled, BM enabled 64 clks)

Special BDI Configuration Registers:

In order to change some special configuration parameters of the BDI, the GPR entry is used. Normal ARM GPR's covers a range from 0 to 15. Other GPR's are used to set BDI internal registers:

8005	This entry in the init list allows to change the JTAG clock frequency. This is useful if you have to start with a slow JTAG clock out of reset but after some initialization (e.g. PLL setup) you can use a faster clock. As an example see AT91EB55 setup.
The value you enter selects the following JTAG frequency:

0 =	adaptive	5 =	200 kHz
1 =	6 MHz	6 =	100 kHz
2 =	3 MHz	7 =	50 kHz
3 =	1 MHz	8 =	20 kHz
4 =	500 kHz	9 =	10 kHz

8006	This entry in the init list allows to define a delay time (in ms) the BDI inserts between releasing the reset line and starting communicating with the target. This delay is necessary when a target needs some wake-up time after a reset (e.g. Cirrus EP7209).

8007	By default, the BDI asserts the RESET signal during reset processing. After writing zero to this special register, the BDI no longer drives RESET low. This may be useful in some special cases.

8008	During JTAG debugging, the PC increments while the BDI stuffs instruction into the ARM core. It may be necessary to set the PC to a safe non-vector address before external memory is accessed to prevent pre-fetching code from an invalid address range. Enter a safe non-vector address for the PC into this special BDI registers.

8009	By default, the TRST signal is driven with an open-drain driver by the BDI. Write a 1 to this special BDI register if the TRST signal should be driven with a push-pull driver.

8010	By default, on ARM7 based targets the BDI uses a software breakpoint to support semi hosting. In cases where the vector table is allocated to ROM, write a 1 to this special BDI registers to force the use of a hardware breakpoint. This does not apply to ARM9 targets because on ARM9 there exists a special vector catch feature.

8012	This entry in the init list allows to define a time (in ms) the BDI asserts the hardware reset signal. By default the reset signal is asserted for about 3 ms.

8013	With this entry the MAC7100 "JTAG lockout recovery" can be activated. As value enter the correct CMF clock divider (CMFCLKD). Calculate this value based on the reset frequency, the frequency that is active before any init list entry is processed (PLL is not active). If for example the system clock is 8 MHz, the clock input to the flash is 4MHz and the correct value for CFMCKLD is 19 (0x13). If this entry is present, the BDI automatically recovers a secured  flash as part of the next command (for example "Erase All").


Tools menu commands

The Setup menu offers the following commands:

Edit	Edit target memory.
Test	Test target CPU configuration and startup.


Edit command
Edit command (Tools menu)

Use this command to edit target memory. The command displays the Edit Memory dialog box.


Edit Memory dialog box

The following options allow you to edit target memory.

Address

Type in the address you are looking for. You can also select an address by clicking the mouse on an item in the list. Each time you press <ENTER>, the next higher address will be displayed..

Go to

Display the current data at the specified address.

Data

Use this field to modify the data at the selected address. You can also choose a data field from the list by clicking the mouse on it.

Size

Specifies the format for displaying the data: Byte, Word or Long.

Store

Clicking on this button stores the data at the specified address in target memory.

Refresh

Updates the displayed data values by reading they back from target memory.

Close

Closes the dialog box.


Test command
Test command (Tools menu)

Use this command to test the BDM link to the target CPU. The command displays the BDM Link Test dialog box.


BDM Link Test dialog box

In order to check if the configuration of the target CPU works, you can execute a simple test using this dialog box. To start, press the Start button. The results of the test are displayed in the list box. To check if a memory area is accessible use the Edit Memory dialog box.


Configure the BDI
How to configure the BDI

Before you can use the BDI together with the debugger system, it must be configured. Use the menu Setup and follow the steps listed below:

Update BDI firmware/logic and define network parameters (Firmware)

Set the communication parameters (Communication)

Create an initialisation list for the target system (Initlist)

Select the working mode (Mode)

Transmit the configuration to the BDI (Mode)

The configuration (setup) can also be stored in a disk file and used in a later configuration session (see File menu)


File menu commands

The File menu offers the following commands:

New	Creates a new setup.
Open	Opens an existing setup.
Save	Saves an opened setup using the same file name.
Save As	Saves an opened setup to a specified file name.
Exit	Exits BDI-Setup.


View menu commands

The View menu offers the following commands:

Toolbar	Shows or hides the toolbar.
Status Bar	Shows or hides the status bar.


Help menu commands

The Help menu offers the following commands, which provide you assistance with this application:

Index	Offers you an index to topics on which you can get help.
Using Help	Provides general instructions on using help.
About	Displays the version number of this application.


File New command
New command (File menu)

Use this command to create a new setup for the BDI.

You can open an existing setup with the Open command.

Shortcuts

Toolbar:

Keys:	CTRL+N


File Open command
Open command (File menu)

Use this command to open an existing setup.

You can create new setups with the New command.

Shortcuts

Toolbar:

Keys:	CTRL+O


File Open dialog box

The following options allow you to specify which file to open:

File Name

Type or select the filename you want to open.  This box lists files with the extension you select in the List Files of Type box.

List Files of Type

Select the type of file you want to open:

*.bdi	(the default extension for BDI setup files)

*.*	(select if you does't use the default extension)

Drives

Select the drive in which BDI-Setup stores the file that you want to open.

Directories

Select the directory in which BDI-Setup stores the file that you want to open.

Network...

Choose this button to connect to a network location, assigning it a new drive letter.


File Save command
Save command (File menu)

Use this command to save the active setup to its current name and directory.  When you save a setup for the first time, BDI-Setup displays the Save As dialog box so you can name your setup.  If you want to change the name and directory of an existing setup before you save it, choose the Save As command.

Shortcuts

Toolbar:

Keys:	CTRL+S


File Save As command
Save As command (File menu)

Use this command to save and name the active setup. BDI-Setup displays the Save As dialog box so you can name your setup.

To save a setup with its existing name and directory, use the Save command.


File Save As dialog box

The following options allow you to specify the name and location of the file you're about to save:

File Name

Type a new filename to save a setup with a different name.  A filename can contain up to eight characters and an extension of up to three characters. BDI-Setup adds the extension you specify in the Save File As Type box.

Drives

Select the drive in which you want to store the setup.

Directories

Select the directory in which you want to store the setup.

Network...

Choose this button to connect to a network location, assigning it a new drive letter.


File 1, 2, 3, 4 command
1, 2, 3, 4 command (File menu)

Use the numbers and filenames listed at the bottom of the File menu to open the last four setups you closed.  Choose the number that corresponds with the setup you want to open.


File Exit command
Exit command (File menu)

Use this command to end your BDI-Setup session.  You can also use the Close command on the application Control menu. BDI-Setup prompts you to save setups with unsaved changes.

Shortcuts

Mouse:	Double-click the application's Control menu button.

Keys:	ALT+F4


View Toolbar command
Toolbar command (View menu)

Use this command to display and hide the Toolbar, which includes buttons for some of the most common commands in BDI-Setup, such as File Open.  A check mark appears next to the menu item when the Toolbar is displayed.

See Toolbar for help on using the toolbar.


Toolbar

The toolbar is displayed across the top of the application window, below the menu bar.  The toolbar provides quick mouse access to many tools used in BDI-Setup,

To hide or display the Toolbar, choose Toolbar from the View menu (ALT, V, T).

Click	To

Open a new setup.

Open an existing setup. BDI-Setup displays the Open dialog box, in which you can locate and open the desired file.

Save the active setup with its current name.  If you have not named the setup, BDI-Setup displays the Save As dialog box.

Set the communication port and baudrate.

Select, load or verify the BDI firmware.

Create or edit the initialisation list used to setup the target processor.

Set the BDI working mode and transmit the configuration to the BDI.


View Status Bar Command
Status Bar command (View menu)

Use this command to display and hide the Status Bar, which describes the action to be executed by the selected menu item or depressed toolbar button, and keyboard latch state. A check mark appears next to the menu item when the Status Bar is displayed.

See Status Bar for help on using the status bar.


Status Bar

The status bar is displayed at the bottom of the BDI-Setup window.  To display or hide the status bar, use the Status Bar command in the View menu.

The left area of the status bar describes actions of menu items as you use the arrow keys to navigate through menus.  This area similarly shows messages that describe the actions of toolbar buttons as you depress them, before releasing them.  If after viewing the description of the toolbar button command you wish not to execute the command, then release the mouse button while the pointer is off the toolbar button.

The right areas of the status bar indicate which of the following keys are latched down:

Indicator	Description

CAP	The Caps Lock key is latched down.

NUM	The Num Lock key is latched down.

SCRL	The Scroll Lock key is latched down.


Index command (Help menu)

Use this command to display the opening screen of Help.  From the opening screen, you can jump to step-by-step instructions for using BDI-Setup and various types of reference information.

Once you open Help, you can click the Contents button whenever you want to return to the opening screen.


Using Help command (Help menu)

Use this command for instructions about using Help.


About command (Help menu)

Use this command to display the copyright notice and version number of your copy of BDI-Setup.


Help Using Help Command
Context Help command

Use the Context Help command to obtain help on some portion of BDI-Setup.  When you choose the Toolbar's Context Help button, the mouse pointer will change to an arrow and question mark.  Then click somewhere in the BDI-Setup window, such as another Toolbar button.  The Help topic will be shown for the item you clicked.

Shortcut

Keys:	SHIFT+F1


Title Bar

BDI-Setup - <current setup name>

The title bar is located along the top of a window.  It contains the name of the application and setup.

To move the window, drag the title bar.  Note: You can also move dialog boxes by dragging their title bars.

A title bar may contain the following elements:

-	Application Control-menu button

-	Setup Control-menu button

-	Maximize button

-	Minimize button

-	Name of the application

-	Name of the setup

-	Restore button


Scroll bars

Displayed at the right and bottom edges of the setup window.  The scroll boxes inside the scroll bars indicate your vertical and horizontal location in the setup.  You can use the mouse to scroll to other parts of the setup.

<< Describe the actions of the various parts of the scrollbar, according to how they behave in your application. >>


Size command (System menu)

Use this command to display a four-headed arrow so you can size the active window with the arrow keys.

After the pointer changes to the four-headed arrow:

1.	Press one of the DIRECTION keys (left, right, up, or down arrow key) to move the pointer to the border you want to move.

2.	Press a DIRECTION key to move the border.

3.	Press ENTER when the window is the size you want.

Note:  This command is unavailable if you maximize the window.

Shortcut

Mouse:	Drag the size bars at the corners or edges of the window.


Move command (Control menu)

Use this command to display a four-headed arrow so you can move the active window or dialog box with the arrow keys.

Note:  This command is unavailable if you maximize the window.

Shortcut

Keys:	CTRL+F7


System Minimize Command
Minimize command (application Control menu)

Use this command to reduce the BDI-Setup window to an icon.

Shortcut

Mouse:	Click the minimize icon [image] on the title bar.

Keys:	ALT+F9


Maximize command (System menu)

Use this command to enlarge the active window to fill the available space.

Shortcut

Mouse:	Click the maximize icon [image] on the title bar; or double-click the title bar.

Keys:	CTRL+F10 enlarges a setup window.


Next Window command (setup Control menu)

Use this command to switch to the next open setup window. BDI-Setup determines which window is next according to the order in which you opened the windows.

Shortcut

Keys:	CTRL+F6


Previous Window command (setup Control menu)

Use this command to switch to the previous open setup window. BDI-Setup determines which window is previous according to the order in which you opened the windows.

Shortcut

Keys:	SHIFT+CTRL+F6


Close command (Control menus)

Use this command to close the active window or dialog box.

Double-clicking a Control-menu box is the same as choosing the Close command.

Shortcuts

Keys: 	ALT+F4 closes the application window or dialog box


Restore command (Control menu)

Use this command to return the active window to its size and position before you chose the Maximize or Minimize command.


Switch to command (application Control menu)

Use this command to display a list of all open applications.  Use this "Task List" to switch to or close an application on the list.

Shortcut

Keys:	CTRL+ESC

Dialog Box Options

When you choose the Switch To command, you will be presented with a dialog box with the following options:

Task List

Select the application you want to switch to or close.

Switch To

Makes the selected application active.

End Task

Closes the selected application.

Cancel

Closes the Task List box.

Cascade

Arranges open applications so they overlap and you can see each title bar.  This option does not affect applications reduced to icons.

Tile

Arranges open applications into windows that do not overlap.  This option does not affect applications reduced to icons.

Arrange Icons

Arranges the icons of all minimized applications across the bottom of the screen.


View Ruler Command
Ruler command (View menu)

<< Write application-specific help here. >>


Choose Font Dialog
Choose Font dialog box

<< Write application-specific help here. >>


Choose Color Dialog
Choose Color dialog box

<< Write application-specific help here. >>


Next Pane Command
Next Pane

<< Write application-specific help here. >>


Prev Pane Command
Prev Pane

<< Write application-specific help here. >>


Modifying the Setup

<< Write application-specific help here that provides an overview of how the user should modify a setup using your application.

If your application supports multiple setup types and you want to have a distinct help topic for each, then use the help context i.d. generated by running the MAKEHELP.BAT file produced by AppWizard.  Alternatively, run MAKEHM as follows:

makehm IDR_HIDR_,0x2000 resource.h

If the IDR_ symbol for one of your setup types is, for example, IDR_CHARTTYPE, then the help context i.d. generated by MAKEHM will be HIDR_CHARTTYPE.

Note, AppWizard defines the HIDR_DOC1TYPE help context i.d. used by this help topic for the first setup type supported by your application.  AppWizard produces an alias in the .HPJ file for your application, mapping HIDR_DOC1TYPE to the HIDR_ produced by MAKEHM for that setup type. >>


No Help Available

No help is available for this area of the window.


No Help Available

No help is available for this message box.

<< If you wish to author help specific to each message box prompt, then remove the AFX_HIDP_xxx values from the [ALIAS] section of your .HPJ file, and author a topic for each AFX_HIDP_xxx value.  For example, AFX_HIDP_INVALID_FILENAME is the help topic for the Invalid Filename message box. >>