GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> VXW / V7-2-0 > vxw_flight / rad750
#include "vxWorks.h"
#include "config.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "ioLib.h"
#include "memDrv.h"
#include "loadLib.h"
#include "symLib.h"
#include "sysLib.h"
#include "tffs/tffsDrv.h"
#include "mv2600.h"
#include "Memmap.h"
#include "BootDiagnostics.h"
#include "VXW/VXW_msg.h"
#include "ZLIB/zlib.h"
#include "FBS/FBS_pubrtos.h"
#include "MDB/MDB_macdefs.h"
Defines | |
#define | SBC_DEV_NAME "/mem/sbc" |
#define | SBC_ENTRY_NAME "SBC_init" |
#define | BOOT_DIAGS_ADDR() (&debugDiag) |
Functions | |
static int | VXW_AppInitRead (unsigned int addr, void *buf, unsigned int size, const BOOT_Diagnostics *diag) |
static void | VXW_AppInitError (unsigned int status, unsigned int index, unsigned int data, BOOT_Diagnostics *diag) |
void | VXW_AppInit (void) |
Variables | |
SYMTAB_ID | sysSymTbl |
int | sysStartType |
static BOOT_Diagnostics | debugDiag |
Implements the first stage of the LAT secondary boot process. Loads the secondary boot executable from the SIB board lower EEPROM bank, SIB board upper EEPROM bank, or from the secondary boot module RAM temporary buffer, and executes the entry function SBC_Init().
#define BOOT_DIAGS_ADDR | ( | ) | (&debugDiag) |
Get access to the boot diagnostics memory structure. For RAD750 targets, this is the real thing. Otherwise, it points to the local debug structure.
#define SBC_DEV_NAME "/mem/sbc" |
The name to use for the loader memory device.
#define SBC_ENTRY_NAME "SBC_init" |
The symbol name of the SBC executable entry function.
void VXW_AppInit | ( | void | ) |
Start LAT application initialization by executing secondary boot code module. The goal is to get and load the secondary boot executable (SBC module 0). The secondary boot flags indicate the location to get the source image. The file header and file checksum are verified, and the file data is inflated if necessary. The module is loaded using loadModule(), and the SBC entry point is called. The symbol SBC_init() should be defined in the SBC module.
static void VXW_AppInitError | ( | unsigned int | status, | |
unsigned int | index, | |||
unsigned int | data, | |||
BOOT_Diagnostics * | diag | |||
) | [static] |
Reports errors from the SBC initialization process. The relevant information is stored in the boot diagnostics structure. For flight configurations, the error is considered fatal, and the system is rebooted. Otherwise, the error information is simply printed.
status | An SBC MSG code indicating the error condition. | |
index | An SBC MSG code indicating the progress index at time of error. | |
data | Error specific data to help diagnosis. | |
diag | A pointer to the boot diagnostics area. |
static int VXW_AppInitRead | ( | unsigned int | addr, | |
void * | buf, | |||
unsigned int | size, | |||
const BOOT_Diagnostics * | diag | |||
) | [static] |
Read in data from the SBC executable module file.
addr | The address or offset to read from. | |
buf | The buffer to hold the read data. | |
size | The number of bytes to read. | |
diag | A pointer to the boot diagnostics area. |
0 | Success. | |
-1 | Failure. |
debugDiag [static] |
Initial value:
{ 0, (BOOT_DIAGS_SBF_RTOS_SOURCE_EE0 | BOOT_DIAGS_SBF_MOD0_SOURCE_EE0 | BOOT_DIAGS_SBF_MOD1_SOURCE_EE0), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0} }
The system start type value.
The VxWorks system symbol table.