(Page 2 of 14 in this chapter)


agmBootBoard

Description

Resets, bootstraps, and runs diagnostics on an AG board.

Prototype

DWORD agmBootBoard ( AGMHD agmhd,
DWORD board,
AGM_BOOT_INFO *boot_info)

agmhd Handle returned by agmOpen.

board Board number of the board to boot.

boot_info Pointer to an AGM_BOOT_INFO structure to receive information about the board after booting. AGM_BOOT_INFO is defined as:


typedef struct
{
struct AGM_BOOTSTAT
{
WORD code;
WORD count;
WORD data[32];
} bootstat;
struct AGM_EEPROM_DATA
{
WORD boardtype;
WORD boardrev;
long serial;
WORD date;
WORD min_sw_rev;
WORD dsps;
WORD cmemsize;
WORD dramsize;
WORD cpuspeed;
WORD dspspeed;
WORD mvipproc_speed;
WORD atetest;
WORD busclkdiv;
WORD sramsize;
WORD subtype;
WORD confbrdg;
WORD spare [14];
WORD checksum;
} eeprom_data;
} AGM_BOOT_INFO ;

Return Values

Details

This function resets, bootstraps, and runs diagnostics on the specified AG board. The configuration information in the context is used for the bootstrap and diagnostics.

Under multi-threaded operating systems, multiple boards can be booted in parallel (mode field in the AGM_OPTIONS structure passed to agmOpen). In this case, if the board is using an MVIP bus and is not clock master for that bus, then the board that is clock master for that bus must be booted (with agmBootBoard) and downloaded (with agmDownloadBoard) before the board in question can be booted. However, if the AGM handle was opened in parallel mode (as specified in the mode field in the AGM_OPTIONS structure passed to agmOpen), then agmBootBoard waits for any clock masters to finish downloading before proceeding.

agmBootBoard may only be called on a board after agmCheckConfig has been called to check the configuration file against the hardware present on the system.

The fields in AGM_BOOT_INFO are:

Field

Description

bootstat

A structure containing boot status information.

eeprom_data

A structure containing EEPROM data from the hardware.

The fields in AGM_BOOTSTAT are:

Field

Description

code

Status code for the boot.

count

Number of words in the data array.

data

Error-specific data.

The fields in AGM_EEPROM_DATA are:

Field

Description

boardtype

Physical board type.

boardrev

Hardware assembly level.

serial

Serial number unique to each board.

date

Date of last full test.

min_sw_rev

Minimum software revision level.

dsps

Total number of DSPs on the board.

cmemsize

CMEM size in kilobytes.

dramsize

DRAM size in kilobytes.

cpuspeed

Coprocessor speed in MHz.

dspspeed

DSP processor speed in MHz.

mvipproc_speed

MVIP processor speed in MHz.

atetest

Non-zero if board passed ATE test.

busclkdiv

Bus speed is 2 * cpuspeed / busclkdiv.

sramsize

SRAM size in kilobytes.

subtype

1=AG24, 2=AG24+, 3=AG30, 4=AG8, 5=AGT1, 6=AGE1.

confbrdg

Number of conference bridges.

spare

Reserved.

checksum

EEPROM checksum.

See Also

agmCheckConfig, agmOpen

Example


for (board=0; board < AGM_MAX_BOARDS; board++)
{
if (boardmask & (1<<board))
{
AGM_BOOT_INFO status;

printf (""Board %d: Booting..."", board);
if (agmBootBoard (agmhd, board, &status) != SUCCESS)
printf (""Failed\n"");
else
{
printf (""Downloading..."");
if (agmDownloadBoard (agmhd, board) != SUCCESS)
printf (""Failed\n"");
else
printf (""Done.\n"");
}
}
}


(Page 2 of 14 in this chapter)


tech_support@nmss.com
Copyright © 1998, Natural MicroSystems, Inc. All rights reserved.